LINUX.ORG.RU

Armbian и попытка сделать своего голосового ассистента

 , assistant, , ,


0

2

Всем привет, срочно нужна помощь
Я пытался сделать умную колонку на Orange Pi, но столкнулся с этой ошибкой при запуске питона:

Привет, чем я могу помочь вам?
sh: 1: say: not found
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
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.surround21
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
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 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 pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib conf.c:5014:(snd_config_expand) Unknown parameters {AES0 0x6 AES1 0x82 AES2 0x0 AES3 0x2  CARD 0}
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM iec958:{AES0 0x6 AES1 0x82 AES2 0x0 AES3 0x2  CARD 0}
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

Делал на основе данного кода источник
На Orange Pi залит Armbian



Последнее исправление: fioshionole (всего исправлений: 3)

Там, вроде код тривиальный, вызывает внешние программы. У вас похоже какие-то проблемы с настройкой звука в целом. Звук воспроизводиться/записывается (aplay, arecord)? Синтезатор речи (espeak ?) говорит?

mky ★★★★★
()
Ответ на: комментарий от mky

Понимаю что код простой, но с ошибкой мучаюсь уже неделю.
Espeak выбивает довольно странную ошибку с побитой кодировкой, вот часть из неё

RIFF$��WAVEfmt "VD�data�������A�������^�~���>���� _��1�q!Q��p� 0_���N�^����������p��1A�P_�0�������`/�^���_��1_���A�0!� ���������~�>����`@�o��������/���p������@a����0�������_�����p�������@?���`O�����~������aA��r1����N����@����~���_�_�`��a"� 1�����n�O������
               �O�rB �`p��P������N���@�o�� p�����A1Q����^�?���O�o�N�����o�@�����`/����@�a ��p�>��������1���P������O�/��������`�`���1���@������_���^�^���������0�PAA_�O�P1R������O�AA_���>����Q�����?���a�o�������]�-�������po���0a�����O�>���`����>�n����� `P�q���`��������`��.����O�AB�������"p����l�^�^��������=�_���1Q��"�P��~������o�������������1�����r��������-��������������B�� �QAA��o���^���O������>�����������0!11!��o��p��^�.�����@�`���� ��������������.�����@`�p�����������N�������������������O�?�@`!�������O� �~�������^������~������p�^�����������������3S���-��`p>�������N���p�!���?�o���!qp@�Po�����A����������-�]�����o� ��PQ�p�����m�-����P����Qa�����0������������������}�?�Q��#CT��a��������������.���������O�a4�o��"��~�|��o�����]�N�?�?�O��?��@�����q���@P����O�0��m�����=���m�?���P��?����S���A����l�l����������L�>�Q"#�r��Ap�O�m����o���^���.����r���������o�/�0?�P!/���0���@c�0-�=�0�� �����Aa>���M���0 ����_��b�tqp�B�!�����������J��� �p����A#3 �ars�p��^���O�����p�m�.�o��2�b����_�P��>�����Q�������n�N�P!��������>��3��� ���������^���_�_��A�bb"q�O�p��������,�]�������T��ER���Ba�������\�-����>�]�m�pc�������c�p_���*�����������0�aD�"q����������m���}�\�������O������1���"���?���o�\�������������@����30��m�}�
                                                                               ��,�P����PaRs������P�������-�,�,�^�]��������0���������a������^�M����P`��?�`���`a� �0�����B��n�
�m�����0��3"����b������������l�{�������k�������`���!�@aB0��o�Rp��l�L�������������������M�-�L������S��#���m���O�t�#�J��������r5��n����_�9�r�?���~����
                                                                    ���a�lKj������Zap�O�L���������������7���}���T�i�6k	
�	+		_	j	�����k�!����������')
                                                            ���E���x���S�����7����
���������?�H���.�~�����w��G��?
                              �
�Q              ���5�#����*��������������"F����h�u��O�����L����7�4�?��������k�	7
H
�	�t����Y�x�'�M���;�#�������I����}	w	���G������Q�B����������j������A	�I@�c���}�����*�8���h���/�h��-�	�
k
 (
  �	<�h��q�J�K���s���2�Z���������������8s
�
 �
  4
   �
�
D
 �
v����:�G������F�������
�@      ~�������������:��S��/����7 �����
2���?�����b��A�������I����{6�   �  �i��~U
                                        	�	�	����u�O���������j�m������;�	�
�
 �
  �

   ]	�������n���1�q�Y���^�j�����f'� �	�

�
�	��"1����$�	����I�X�D������{�(
                                          �
�                                          �
 �	�}����P���o��h�9��D�,�E�y�
�Sj�    ��K�|�y���z�M����������F�����Z�e�:�3
5��W_�\�
        �Q�r����"�(�h������R�/d$)�)w#X�����8c��������Q���\������j��~�Fׁ��������G�N�'��.Q
       Tv���{�d���n����������L����������
�

C papply ситуацию немого меняется

Connection failure: Connection refused
pa_context_connect() failed: Connection refused

Что по поводу aplay и arecord. Они звук записываю и воспроизводят, хоть на выходе получается и белый шум (возможно тут мой косяк, первый раз пользуюсь ими). Альтернативные плееры вполне воспроизводят звук и музыку.

fioshionole
() автор топика
Ответ на: комментарий от fioshionole

Espeak выбивает довольно странную ошибку

Это не похоже на ошибку, RIFF$��WAVEfmt как бы намекает, что это звук. Но почему он у вас на экране, по идее espeak выводит подобное, только если ему дать опцию ″--stdout″.

Альтернативные плееры вполне воспроизводят звук и музыку.

Вопрос был больше про запись, в инете гуглятся разные примеры как запускать arecord. Может вам поможет это: https://developers.google.com/assistant/sdk/guides/library/python/embed/audio

Можно запустить ваш скрипт с трассировкой:

python -m trace -t «имя скрипта»
может станет понятно, в каком месте возникает:

ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.