アフィリエイト広告を利用しています

広告

posted by fanblog

2016年08月25日

Raspberry Pi 3 第09回 〜合成音声と会話〜



今回は今までの合わせたものつくります!

話しかけるとそれに対応した回答を音声で答えてくれます

じゃあいつものサイトをさんこうに

簡単にできる!音声認識と音声合成を使ってRaspberrypiと会話

まずはpyaudioをインストール

sudo apt-get install python-pyaudio


インストールできたら確認

確認コードはこちらのサイトを参照

確認コード

実行

```
pi@raspberrypi:~ $ python pyaudio_test.py
Please input recoding time>>>3
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
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_dmix.c:1022:(snd_pcm_dmix_open) unable to open 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
Traceback (most recent call last):
File "pyaudio_test.py", line 31, in

File "/usr/lib/python2.7/dist-packages/pyaudio.py", line 605, in read
return pa.read_stream(self._stream, num_frames)
IOError: [Errno Input overflowed] -9981
```

あら、エラー

サイトにも書いてあったけどマイクにあったサンプリング周波数変えてみ!

って書いてあったから

RATE=44100 を RATE=16000

に変更

前回も読み取る周波数16000Hzだったからそれと一緒にした方がいいかと思い

変えたら正解だった

使うマイクによってこの辺は変える必要があるみたい

```
pi@raspberrypi:~ $ python pyaudio_test.py
Please input recoding time>>>3
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
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_dmix.c:1022:(snd_pcm_dmix_open) unable to open 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
```

録音されることを確認したので次!


[AquesTalkを使ってみる]

これをダウンロードするのがやっかいだった

ラズパイに直接ダウンロードできなかったので

まずWindowsに 公式サイト からtgzをダウンロード

それからWinSCPというソフトを使ってラズパイにコピー

そして解凍する
tar xvf aquestalkpi-20130827.tar


これでAquesTalkの導入は完了!

では試してみる
cd aquestalkpi
/AquesTalkPi "オンギャーオンギャー" | aplay -Dhw:1,0


おお!イヤホンで再生されてる!感動


最後は今回の目的

[合成音声と会話]

dialogue_test.py

これ使わせてもらい実行(APIキー部分は変更する)

```
pi@raspberrypi:~ $ python dialogue_test.py
Please input recoding time>>>3
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
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_dmix.c:1022:(snd_pcm_dmix_open) unable to open 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
こんにちは。
ぺろぺろ
ALSA lib conf.c:1701:(snd_config_load1) :1:1:Unexpected }
ALSA lib conf.c:4722:(snd_config_expand) Parse arguments error: 無効な引数です
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM hw:{},{}
aplay: main:722: audio open error: 無効な引数です
Traceback (most recent call last):
File "dialogue_test.py", line 90, in
talk(talk_message, CARD, DEVICE)
File "dialogue_test.py", line 45, in talk
os.system('/home/pi/aquestalkpi/AquesTalkPi " ' + message.encode('utf-8') + ' " | aplay -Dhw:{},{}').format(card, device)
AttributeError: 'int' object has no attribute 'format'
```

う〜ん、、エラー出てるし、合成音声流れないな〜

てか、「ぺろぺろ」って卑猥w

下の方に出てるこの部分怪しいですね

AttributeError: 'int' object has no attribute 'format'

どう調べたかは忘れましたが、
os.system('/home/pi/aquestalkpi/AquesTalkPi " ' + message.encode('utf-8') + ' " | aplay& ')

こうすることで解決したみたい

実行すると

((今マイクを認識してくれないため実行結果載せられませんでした))

うん!返事してくれてる!完成です!

※マイクなんだが、USBで接続してもラズパイが反応してくれないときがある。
もしかしたら熱が関係してるかも、ラズパイの電源入れたては反応してくれていたのに数時間たつとマイクを認識していない時が多々あった。その後、扇風機でラズパイ冷やしてから電源つけるとちゃんと認識してくれてたりしたから。
熱には気をつけないといけなそうだな!


次は連続でしりとりとかできるようにしたらおもしろそうだなぁ

あ、でもそろそろ3.5インチディスプレイも取り付けるようにしたいぞ

どっちかやろうっと


では、今日も読んでいただきありがとうございました!
ダウンロード.png
posted by トト at 13:46| Comment(0) | TrackBack(0) | Raspberry Pi
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/5354320
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
ファン
検索
<< 2017年03月 >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新記事
最新コメント
カテゴリーアーカイブ
月別アーカイブ
プロフィール
日別アーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: