#python #raspberry-pi #speech-recognition #alsa #raspberry-pi4
#python #raspberry-pi #распознавание речи #alsa #raspberry-pi4
Вопрос:
Запуск Raspberry Pi 4 8-гигабайтный, Buster, Python 3.7.3
Я отлично запускаю распознавание речи около года (сначала на RPi 3B , затем на 4 — 4gig, теперь на 4 — 8gig). Недавнее обновление, похоже, отключило мой микрофонный вход через мою звуковую карту USB.
Я, по-видимому, не одинок, но информация, которую я нахожу везде, относится к аудиовыходу, мало или вообще ничего об аудиовходе:
https://retropie.org.uk/forum/topic/26434/usb-audio-broke-after-latest-updates/4
В любом случае, я заметил, что звуковой картой была карта 1, но когда я запустил
cat /proc/asound/cards
На выходе была показана новая карта в позиции 1: наушники. USB-устройство было перемещено на 2:
0 [b1 ]: bcm2835_hdmi - bcm2835 HDMI 1
bcm2835 HDMI 1
1 [Headphones ]: bcm2835_headphonbcm2835 Headphones - bcm2835 Headphones
bcm2835 Headphones
2 [Device ]: USB-Audio - USB Audio Device
GeneralPlus USB Audio Device at usb-0000:01:00.0-1.4, full speed
Итак, чтобы убедиться, что оборудование работает, я успешно протестировал:
arecord -D plughw:2,0 -d 4 test.wav amp;amp; aplay -D plughw:2,0 test.wav
Тогда как в прошлом для этого теста требовалось plughw: 1,0
В python Speech_Recognition нет известных мне настроек для указания звуковой карты. Похоже, что он просто использует значение по умолчанию. Поэтому я попытался установить значения по умолчанию.
Я сменил карту с 1 на 2 в / home /pi /.asoundrc
Я попробовал sudo nano /etc/asound.conf
pcm.!default {
type hw card 2
}
ctl.!default {
type hw card 2
}
Перезагрузка, конечно. Ничего из этого не сработало.
Итак, я попытался отредактировать /boot/config.txt чтобы отключить встроенный звук, измените параметр dtparam = audio = on на dtparam = audio = off и перезагрузите компьютер.
Это отключило встроенный звук и показало, что доступна только USB-карта и на карте 1. Поэтому я изменил все обратно с карты 2 на карту 1, которую я редактировал ранее, по-прежнему безуспешно.
Я попытался использовать нижний правый значок аудио в трее, щелкнув правой кнопкой мыши и выбрав USB-устройство в качестве входа, и несколько других вещей, которые я пробовал, обнаружил, что не работает, и уже забыл. Где-то есть настройка или что-то, что заставит это снова работать …. должно быть.
ДЕЙСТВИТЕЛЬНО странно то, что я никогда не терял аудиовыход, несмотря на все эти изменения. Мой аудиовыход осуществляется через USB-карту. Можно подумать, что это тоже изменится, но, похоже, это ТОЛЬКО микрофонный вход.
Я знаю, что микрофонный вход работает, потому что arecord amp; aplay ДЕЙСТВИТЕЛЬНО работают.
Это расстраивает. Никаких изменений не было внесено ни в один из используемых мной кодов, который безупречно работал более года.
Ниже приведен результат, когда я пытаюсь запустить распознавание речи.запуск из командной строки. Я получаю множество ошибок, и он постоянно зависает при «Калибровке микрофона». Я должен выполнить Control-C для выхода.
Я надеюсь, что кто-нибудь поймет, что здесь происходит, и сможет помочь. Чрезвычайно неприятно, что обновление, над которым я так усердно работал, чтобы идеально настроить, приведет к сбою. Моя система зависит от голосового ввода. Теперь он глух.
Спасибо за любую помощь. Мне действительно нужна помощь здесь … полностью застрял и потерян.
ERROR ON RUN OF SpeechRecognition.py:
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM bluealsa
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
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
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
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
Calibrating microphone
Комментарии:
1. Если здесь никто не отвечает, попробуйте перепостить на Raspberry PI StackExchange.
2. Дэвид, это когда-нибудь решалось? Такая же проблема. Не могу использовать PyAudio для записи с моего USB-микрофона. Однако я могу использовать Alexa через мой Pi просто отлично. Если бы только у них был простой навык захвата речи.
3. @Azurespot Я решил проблему, и когда я вернусь к своим основным системам завтра, я рассмотрю решение и опубликую. Iirc это было довольно просто, но неочевидно. Сейчас я использую Pi 4B 8gig под управлением Raspbian OS64, и все остается потрясающим. SR почти идеальный, низкая задержка. Они также перешли с Alsa на PyAudio, что добавило несколько проблем, но все они были решаемы. Подробности завтра.
4. О, интересно, приятно знать. У меня есть Pi 4 model B 8GB Buster (я думаю, что он 64-разрядный?) Я заметил, что на моем есть как Alsa, так и PyAudio. Я, наконец, прочитал, что сообщения на самом деле являются предупреждениями и могут быть подавлены. Все еще пробую образцы Python для этого. Но хотелось бы увидеть ваше решение, если у вас будет такая возможность. Спасибо!