web-dev-qa-db-ja.com

いくつかの警告と入出力エラーを示すEspeak

Linux Mint14でespeakを実行しています。実行しようとすると、次の警告が表示されます(正しく機能するため、エラーではありません)。

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 audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
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

私はこの種のエラーについてネットで検索し、この答えを得ました。私はこれを使ってみました:

espeak "Hello, I am Espeak, the voice synthesizer" 2>/dev/null

これは警告を表示しませんが、コード内で使用するとエラーが表示されます。

3
tusharmakkar08

私のespeakも同様のメッセージを返します。

$ espeak -v en-us+3 -s 120 -k 20 "Pray. For. Moe. Jo."
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started

それらを/dev/nullにリダイレクトすると、それらは削除されますが、それはメッセージを非表示にするだけです。

$ espeak -v en-us+3 -s 120 -k 20 "Pray. For. Moe. Jo." 2>/dev/null
$ 

PulseAudio

これによると thread PulseAudioの設定方法に問題があるようです。具体的には、ALSAの設定に正しくないpcmがあります。 theadは、必要に応じてそれらを安全に無視できると言っています。

具体的にはこれらのメッセージ:

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

他のメッセージは、メッセージ内のBlueTooth(したがって、BT _...)に関連しています。

具体的にはこれらのメッセージ:

ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)

一般に、これらのメッセージはすべて無視しても問題ないようです。あなたがそれらを取り除こうとする傾向があるなら、私はブルートゥースサービスを実行しているかどうかに注意を集中し、それらをオフにします。さらに、/etc/alsaおよび/etc/Pulseの下のALSA構成を調べます。

Workaround

これらのメッセージを完全に無視したい場合は、espeak ...を実行して、これらのメッセージを/dev/nullにリダイレクトできます。

espeak -v en-us+3 -s 120 -k 20 "Pray. For. Moe. Jo." &> /dev/null
2
slm