Страница 3 из 4
Re: мажорик и онлайн распознавание речи
Добавлено: Пт апр 28, 2017 7:56 am
dmw
Чтобы не трогать конфиги алсы но при этом убрать варнинги, использовал это решение:
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 у меня нет, это сервер
Re: мажорик и онлайн распознавание речи
Добавлено: Пт апр 28, 2017 10:33 am
tarasfrompir
Значит так разобрался с проблемой - не работает блок thread
исправил пробуй новый вариант в шапке
Re: мажорик и онлайн распознавание речи
Добавлено: Пт апр 28, 2017 11:46 am
dmw
О, вроде завелась, пишет "Нету команд микрофон № 1" и висит ждет...
Приду вечером поразговариваю попробую с ней))
p/s добавь в самом начале скрипта в первые две строчки, для линуксов так надо (писал чуть выше):
Код: Выделить всё
#! /usr/bin/env python
# -*- coding: utf-8 -*-
Re: мажорик и онлайн распознавание речи
Добавлено: Пт апр 28, 2017 12:06 pm
tarasfrompir
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 и там и там
все остальное вызывает зависание...
Re: мажорик и онлайн распознавание речи
Добавлено: Пт апр 28, 2017 2:33 pm
dmw
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)
в нужные места добавил, запустил, тоже ошибок не дает, сидит слушает пока тишину (дома никого нет чтоб проверить)))
Re: мажорик и онлайн распознавание речи
Добавлено: Пт апр 28, 2017 3:16 pm
tarasfrompir
ну ждемс результата..
А на чем стоит то - какая база и операционка?
а для проверки вывода звука используй подачу комманд через веб (заодно и проверишь скрипт сейхук)
Re: мажорик и онлайн распознавание речи
Добавлено: Пт апр 28, 2017 3:55 pm
dmw
Banana Pi M3, образ собран на Debian Jessie
tarasfrompir1 писал(а):а для проверки вывода звука используй подачу комманд через веб (заодно и проверишь скрипт сейхук)
это как? в смысле клавиатурой команду набрать и послушать что Алиса ответит? Так это итак работает.
Или что имелось ввиду под "проверишь скрипт сейхук"? Для чего он вообще нужен?
Re: мажорик и онлайн распознавание речи
Добавлено: Пт апр 28, 2017 9:38 pm
tarasfrompir
Вообще то это программа должна была быть как бы с мультирумом.
Она передаёт и принимает ответы на отдельно взятое звуковое устройство которое якобы находится в отдельной комнате
И все что она передаёт в общий чат тоже озвучивает своим синтезом речи
и даже можна выбрать язык на котором она будет это делать даже если в чате другой язык будет в ответе..
Ну правда в связи с последними переделками пока только русский украинский английский и турецкий
Вот примерно что она может
Пс
А чем происходит синтез ответов локально или онлайн?
Ппс
Скрипт сейхук описан в кордовским документе в архиве
Он выполняет роль перенаправления ответов от Алисы в программный скрипт который ты установил
И соответственно таки да можно дать команду в чат и полочуть голосовой ответ от Алисы
Ну и напоследок слышит поиска или нет?
Re: мажорик и онлайн распознавание речи
Добавлено: Вс апр 30, 2017 6:24 pm
dmw
Проверил как только мог, и ласково и ругал, висит только надпись "Нету команд микрофон № 1" и всё(((
Re: мажорик и онлайн распознавание речи
Добавлено: Вс апр 30, 2017 6:45 pm
tarasfrompir
Посмотрелтна банан и спрошу ты использует встроенный микрофон или нет ? И если нет то что за устройство в которое втыкаеш микрофон ?
Пс
Перечитав твои посты выше усмотрел что использует сонддаудио хв о:0 с индексом 0
Поставь индекс 0 вместо 9
И ещё попробуй сделать так
Cat /proc/asound/cards
и скинь что получиш