Pidoraで音声合成する
RaspberryPiはミニプラグでモノラルのオーディオ出力ができます。
ここでは、AquesTalk Piを使った音声合成を試してみたので紹介します。
Pidoraでサウンド再生
まずはCUIでサウンドが再生できることを確認します。
amixerコマンドでボリュームを確認することができます。(私の環境では以下のとおり96%になっていました)
$ sudo yum install alsa-utils
$ sudo amixer
Simple mixer control 'PCM',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback -10239 - 400
Mono: Playback 0 [96%] [0.00dB] [on]
適当な音声ファイルをダウンロードして、aplayコマンドで再生してみます。(以下はotosozai.comからダウンロードする例ですが、予めサイトのほうで使用ルールを確認して下さい)
$ wget http://www.otosozai.com/LJ/ro1/ro1_001.zip
$ unzip ro1_001.zip
$ sudo aplay ro1_001.wav
以上で再生が確認できました。
Pidoraで音声合成
それでは本題の音声合成です。ありがたいことに、Raspberry Pi用の音声合成アプリ 「AquesTalk Pi」が無償(個人の非営利使用に限る)で公開されています。
- 【β版公開】Raspberry Piで音声合成する「AquesTalk Pi」 | N.Yamazaki's blog
- AquesTalk Pi の使い方まとめ | N.Yamazaki's blog
AquesTalk Piの使い方は以下のとおり。
$ wget http://www.a-quest.com/download/package/aquestalkpi-20130827.tar.gz
$ tar zxvf aquestalkpi-20130827.tar.gz
$ cd aquestalkpi/
$ ./AquesTalkPi "漢字も読めます。" | sudo aplay
動的な内容を読ませたり、声質を変えたりできます。
$ date +"%I時%M分%S秒" | ./AquesTalkPi -f - | sudo aplay
$ ./AquesTalkPi -v f2 "魔理沙だよ。" | sudo aplay
$ ./AquesTalkPi -b "ゆっくりしていってね?" | sudo aplay
起動時に音声で知らせてみる
RaspberryPiをヘッドレスにしていると、いつ起動が完了したか分かりづらいので、音声で知らせるようにしてみます。
$ sudo crontab -e -u root
@reboot /path/to/AquesTalkPi "起動しました" | aplay
$ sudo shutdown -r now
これで起動時(この方法だと厳密にはcrond起動時?)に音声が再生されるようになりました。
参考ページ
- alsamixerとamixer、GUIのミキサー - 試験運用中なLinux備忘録
alsa-utilsの使い方。 - Advanced Linux Sound Architecture - Wikipedia
ALSAについて。 - システム起動時に特定のコマンドを実行するには - @IT
とりあえずこの方法を使いました。
関連記事
- RaspberryPiのセットアップに使ったハードウェア
- Pidoraをセットアップする
- Pidoraで音声合成