мажорик и онлайн распознавание речи

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: мажорик и онлайн распознавание речи

Сообщение dmw » Пт апр 28, 2017 7:56 am

Чтобы не трогать конфиги алсы но при этом убрать варнинги, использовал это решение:
http://stackoverflow.com/questions/3695 ... silenced-i
т.е. в первой строчке вашего скрипта добавил код:

Код: Выделить всё

import ctypes
ERROR_HANDLER_FUNC = ctypes.CFUNCTYPE(None, ctypes.c_char_p, ctypes.c_int, ctypes.c_char_p, ctypes.c_int, ctypes.c_char_p)
def py_error_handler(filename, line, function, err, fmt):
    pass
c_error_handler = ERROR_HANDLER_FUNC(py_error_handler)
try:
    asound = ctypes.cdll.LoadLibrary('libasound.so.2')
    asound.snd_lib_error_set_handler(c_error_handler)
except OSError:
    pass
Все теперь лишнее убралось, теперь выводит так:
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr
jack server is not running or cannot be started - это тоже варнинг, pyaudio попытался его использовать, но его у меня нет и не нужен и GUI у меня нет, это сервер
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: мажорик и онлайн распознавание речи

Сообщение tarasfrompir » Пт апр 28, 2017 10:33 am

Значит так разобрался с проблемой - не работает блок thread
исправил пробуй новый вариант в шапке
За это сообщение автора tarasfrompir поблагодарил:
dmw (Пт апр 28, 2017 11:46 am)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: мажорик и онлайн распознавание речи

Сообщение dmw » Пт апр 28, 2017 11:46 am

О, вроде завелась, пишет "Нету команд микрофон № 1" и висит ждет...
Приду вечером поразговариваю попробую с ней))

p/s добавь в самом начале скрипта в первые две строчки, для линуксов так надо (писал чуть выше):

Код: Выделить всё

#! /usr/bin/env python
# -*- coding: utf-8 -*-    
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: мажорик и онлайн распознавание речи

Сообщение tarasfrompir » Пт апр 28, 2017 12:06 pm

1. внес эту мелкую запись (уже вносил но с тестами пропали)
2. ну да все правильно она ждет когда на микрофон придет звук (а вот на какой микрофон пытаюсь разобратся)
НЕ МОГУ ПОНЯТЬ какой индекс устройства микрофонного входа
ПС для просмотра входных и выходных устройств запусти еще такой скриптик и выложи результат для меня
СпойлерПоказать
#!/usr/bin/python
import pyaudio
p=pyaudio.PyAudio()
print ("input device")
print (str(p.get_default_input_device_info()))

print ("output device")
print (str(p.get_default_output_device_info()))
ППС если узнаеш то вставь такую строку input_device_index=indexin, (indexin индекс устройства - микрофона )
вот здесь
СпойлерПоказать
# определяем функцию записи потока № 1
while True:
# sozdaem streem
sound_act.set ("Нету команд микрофон № 1")
stream = p.open(format=pyaudio.paInt16,
channels=2,
rate=44100,
input=True,
input_device_index=indexin,
frames_per_buffer=1024)
ну и соответственно здесь такую строчку output_device_index=indexout - где (indexout - индекс того же устройства но на выходе - у тебя наверное индекс будет тот же ? ХЗ)
СпойлерПоказать
# играем его
wf = wave.open('answer1.wav', 'rb')

p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=True,
output_device_index=indexout)
ППС почему то заработал звук у меня только на устройстве что дефаулт тоесть по идее у тебя индекс будет - 9 и там и там
все остальное вызывает зависание...
Спасибо нам ПОМОЖЕТ..!
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: мажорик и онлайн распознавание речи

Сообщение dmw » Пт апр 28, 2017 2:33 pm

tarasfrompir1 писал(а):НЕ МОГУ ПОНЯТЬ какой индекс устройства микрофонного входа
ПС для просмотра входных и выходных устройств запусти еще такой скриптик и выложи результат для меня
СпойлерПоказать
#!/usr/bin/python
import pyaudio
p=pyaudio.PyAudio()
print ("input device")
print (str(p.get_default_input_device_info()))

print ("output device")
print (str(p.get_default_output_device_info()))
Вот что выдает, две совершенно идентичные строчки, индекс похоже что 9?:
СпойлерПоказать
input device
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': 0.008707482993197279, 'maxInputChannels': 32L, 'structVersion': 2L, 'hostApi': 0L, 'index': 9L, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 32L, 'name': u'default', 'defaultHighInputLatency': 0.034829931972789115}
output device
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': 0.008707482993197279, 'maxInputChannels': 32L, 'structVersion': 2L, 'hostApi': 0L, 'index': 9L, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 32L, 'name': u'default', 'defaultHighInputLatency': 0.034829931972789115}
Строчки:
[204] input_device_index=9,
[531] output_device_index=9)
в нужные места добавил, запустил, тоже ошибок не дает, сидит слушает пока тишину (дома никого нет чтоб проверить)))
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: мажорик и онлайн распознавание речи

Сообщение tarasfrompir » Пт апр 28, 2017 3:16 pm

ну ждемс результата..
А на чем стоит то - какая база и операционка?
а для проверки вывода звука используй подачу комманд через веб (заодно и проверишь скрипт сейхук)
Спасибо нам ПОМОЖЕТ..!
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: мажорик и онлайн распознавание речи

Сообщение dmw » Пт апр 28, 2017 3:55 pm

Banana Pi M3, образ собран на Debian Jessie
tarasfrompir1 писал(а):а для проверки вывода звука используй подачу комманд через веб (заодно и проверишь скрипт сейхук)
это как? в смысле клавиатурой команду набрать и послушать что Алиса ответит? Так это итак работает.
Или что имелось ввиду под "проверишь скрипт сейхук"? Для чего он вообще нужен?
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: мажорик и онлайн распознавание речи

Сообщение tarasfrompir » Пт апр 28, 2017 9:38 pm

Вообще то это программа должна была быть как бы с мультирумом.
Она передаёт и принимает ответы на отдельно взятое звуковое устройство которое якобы находится в отдельной комнате
И все что она передаёт в общий чат тоже озвучивает своим синтезом речи
и даже можна выбрать язык на котором она будет это делать даже если в чате другой язык будет в ответе..
Ну правда в связи с последними переделками пока только русский украинский английский и турецкий
Вот примерно что она может
Пс
А чем происходит синтез ответов локально или онлайн?
Ппс
Скрипт сейхук описан в кордовским документе в архиве
Он выполняет роль перенаправления ответов от Алисы в программный скрипт который ты установил
И соответственно таки да можно дать команду в чат и полочуть голосовой ответ от Алисы
Ну и напоследок слышит поиска или нет?
Спасибо нам ПОМОЖЕТ..!
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: мажорик и онлайн распознавание речи

Сообщение dmw » Вс апр 30, 2017 6:24 pm

Проверил как только мог, и ласково и ругал, висит только надпись "Нету команд микрофон № 1" и всё(((
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: мажорик и онлайн распознавание речи

Сообщение tarasfrompir » Вс апр 30, 2017 6:45 pm

Посмотрелтна банан и спрошу ты использует встроенный микрофон или нет ? И если нет то что за устройство в которое втыкаеш микрофон ?
Пс
Перечитав твои посты выше усмотрел что использует сонддаудио хв о:0 с индексом 0
Поставь индекс 0 вместо 9
И ещё попробуй сделать так
Cat /proc/asound/cards
и скинь что получиш
Последний раз редактировалось tarasfrompir Пн май 01, 2017 11:53 am, всего редактировалось 1 раз.
Спасибо нам ПОМОЖЕТ..!
Ответить