Błędy z espeak


11

Podczas używania espeak pojawia się błąd. Dźwięk wychodzi z gniazda słuchawkowego telefonu, ale wszystkie te rzeczy są zapisywane w wierszu poleceń. Zainstalowałem espeak i alsa-utils. Masz pomysł, jak naprawić te błędy?

[kevin@raspberrypi ~]$ sudo espeak "hello"
[sudo] password for kevin: 
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_direct.c:877:(snd1_pcm_direct_initialize_slave) slave plugin does not support mmap interleaved or mmap noninterleaved access
ALSA lib pcm_dmix.c:1030:(snd_pcm_dmix_open) unable to initialize slave
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

Jaki jest problem? Mówisz, że to działa?
— Jivings

Tak, mam dźwięku, jednak zazwyczaj jest nie normalne mieć tych wszystkich ostrzeżeń i błędów drukowanych do linii poleceń. Chciałbym to naprawić.
— kevin

Otrzymuję te same komunikaty o błędach, ale dźwięk nie jest normalny. Na początku każdego zdania zawsze występuje opóźnienie. Czy ktoś może pomóc?

Co masz na myśli mówiąc „nie normalny”?
— kevin

Odpowiedzi:


4

Oto krótkie rozwiązanie:

sudo espeak "hello" 2>/dev/null

Oto moje wyjaśnienie:

Rezultat, który widzisz, jest normalny.

Jack jest serwerem audio, a błędy zgłaszają, że Jack nie jest zainstalowany. Nie ma w tym nic złego, espeakpo prostu użyje innego silnika audio, takiego jak ALSAlub Pulse. W twoim przypadku wygląda na to, że używa ALSA.

Powyższe polecenie po prostu ukryje przed tobą dane wyjściowe.


Czy to nie znaczy, że esp jest zbyt gadatliwy i źle go drukuje, aby stderr? Jeśli tak naprawdę nie jest to błąd.
— Ehtesh Choudhury

@Shurane Tak to jest.
— Jivings,

Czy można uzyskać wyjście audio do HDMI, a nie do gniazda słuchawkowego?
— avra

1
@avra Powinno tak się zdarzyć, jeśli urządzenie HDMI obsługuje tę funkcję. Jeśli nie, to powinno być coś w szczegółowej dokumentacji.
— Jivings,

Tak, w końcu to działa. Mój błąd.
— avra

3

Możesz pozbyć się irytujących wiadomości o Jacku, uruchamiając serwer Jacka za pomocą następującego wiersza poleceń:

jackd -r -m -p 8 -d dummy

Włożyłem to do siebie ~/.config/autostart/jackd.desktop

[Desktop Entry]

Type=Application

Name=jackd

Exec=jackd -p 8 -r -m -d dummy > /dev/null 2>&1

StartupNotify=false


0

Okazuje się, że ruiny pulseaudio ALSA. Dla mnie espeak pracował tylko z „sudo”. Po apt-get --purge usuń pulseaudio, wszystko wróciło do normy.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.