音声合成させてみる
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
#analog
#norelated
#contents
* 音声合成させてみる。 [#qcd2d89a]
基本的に普段画面は繋げていないので、何かがあった場合に知...
ただ何か音を鳴らすだけでは情報が少ないので、ここは日本語...
スピーカは別のところに置いて、決まった時間にその日の予定...
というわけで、AmazonでBluetoothアダブタの[[BT-MICRO4:http...
また、ダイソーでオーディオレシーバーにつける安スピーカー...
Bluetooth接続のスピーカーとかを見ると、結構な値段がします...
と思ったのですが、ダイソーのスピーカーは全然音が出なくて...
Seriaのちょっと大きめの100円スピーカーの方がいい感じです。~
あと、Seriaには、単4電池2本を入れて出力をブーストするやつ...
音は悪いですけどねー。~
** bluetoothオーディオ [#af608f68]
まずはbluetoothの各種パッケージをインストールします。~
sudo apt-get install bluetooth bluez-utils blueman
bluetoothはBluetooth用ツールとデーモン、bluez-utilsはドラ...
パッケージの取得に失敗するような場合は、「sudo apt-get up...
入ったら、念のためreboot。~
リモートデスクトップでGUIにログインし、設定のところにある...
が、なぜかここで一度ではちゃんと画面が出ませんでした……。~
一度、システムツールのタスクマネージャーから、blueman-app...
何が悪いのかな……。~
画面が開いたら、オーディオレシーバーを電源に繋いで、検索...
#ref(search.png,left,nowrap,検索)
繋ごうとした時の設定は、ヘッドセットサービスじゃないと繋...
ヘッドセットサービスを選択して次へ。~
#ref(headset.png,left,nowrap,ヘッドセットサービス)
ペアリングは、「0000」で繋がります。~
#ref(pairing.png,left,nowrap,ペアリング)
そして繋がると、インジケータが表示されるようになります。~
これでとりあえずは繋がったという状態ですね。~
#ref(btconnect.png,left,nowrap,接続)
ここで出ている16進数のアドレスは次で使うので、メモってお...
----
次に、オーディオデバイスとして使えるように設定します。~
piユーザのhomeフォルダに、.asoundrcというファイルを作成し...
pcm.!default{
type bluetooth
device "00:1F:8E:D3:96:BE"
}
deviceに記述しているのは、先ほどのアドレスです。~
基本的に全ての音をこのオーディオデバイスから出すつもりな...
次に、「/etc/bluetooth/audio.conf」に以下の記述を追加しま...
[General]
Enable=Source,Sink,Headset,Gateway,Control,Socket,Media
AutoConnect=true
今回必要なのは、Headsetだけのような気もしますが、色々使え...
さらに自動で接続出来るようにします。~
ここで念のためreboot。~
RaspberryPiが起動したのを見計らって、オーディオレシーバー...
同時に電源を入れて起動するとダメみたいです……。~
オーディオレシーバーは後から電源をいれないと、ちゃんとペ...
「/usr/share/sounds/alsa」の中あたりに、wavファイルがあっ...
aplay /usr/share/sounds/alsa/Front_Left.wav
一応鳴るには鳴るんですが、先頭がちょっと途切れる感じです。~
連続で鳴らせば大丈夫なんですが……。~
これはもう、そういうもんだと諦めて、無音をちょっと流して...
何はともあれ、とりあえず音は鳴るようになったので、次のス...
** OpenJTalk [#fb195fec]
このあたりは、以下のサイトを参考にさせてもらいました。~
- [[Raspberry Piに喋らせる:http://shokai.org/blog/archive...
- [[Raspberry Piでミクにしゃべらせよう:http://pawafuru.co...
OpenJTalkを動かすのに必要な、各種パッケージをインストール...
sudo apt-get install open-jtalk open-jtalk-mecab-naist-j...
OpenJTalk本体と辞書データ、音声合成エンジンとライブラリ、...
で、さっそくちょっとスクリプト組んで喋らせてみたんですけ...
なので、&ref(silence.wav,left,nowrap,1秒の無音音声ファイ...
発話しようとしてからは、文章の音声への変換+無音の1秒分待...
というわけで、先ほどの無音音声ファイルを「/usr/local/shar...
実行権限をつけるのを忘れずに。~
内容は以下の通りです。~
#!/bin/sh
TMP=`mktemp -t`
VOICEDIR="/usr/share/hts-voice/nitech-jp-atr503-m001"
DICDIR="/var/lib/mecab/dic/open-jtalk/naist-jdic"
SILENTWAV="/usr/local/share/sound/silence.wav"
echo "$1" | open_jtalk \
-x ${DICDIR} \
-td ${VOICEDIR}/tree-dur.inf \
-tm ${VOICEDIR}/tree-mgc.inf \
-tf ${VOICEDIR}/tree-lf0.inf \
-tl ${VOICEDIR}/tree-lpf.inf \
-md ${VOICEDIR}/dur.pdf \
-mm ${VOICEDIR}/mgc.pdf \
-mf ${VOICEDIR}/lf0.pdf \
-ml ${VOICEDIR}/lpf.pdf \
-dm ${VOICEDIR}/mgc.win1 \
-dm ${VOICEDIR}/mgc.win2 \
-dm ${VOICEDIR}/mgc.win3 \
-df ${VOICEDIR}/lf0.win1 \
-df ${VOICEDIR}/lf0.win2 \
-df ${VOICEDIR}/lf0.win3 \
-dl ${VOICEDIR}/lpf.win1 \
-em ${VOICEDIR}/tree-gv-mgc.inf \
-ef ${VOICEDIR}/tree-gv-lf0.inf \
-cm ${VOICEDIR}/gv-mgc.pdf \
-cf ${VOICEDIR}/gv-lf0.pdf \
-k ${VOICEDIR}/gv-switch.inf \
-s 16000 \
-a 0.05 \
-u 0.0 \
-jm 1.0 \
-jf 1.0 \
-jl 1.0 \
-ow $TMP && \
aplay --quiet ${SILENTWAV} && \
aplay --quiet $TMP
rm -f $TMP
** MMDAgent用ミク音響モデル [#zfea2d19]
さて、デフォルトの声ではあんまりにも色気がないので、娘(6...
そのために、[[MMDAgent:http://www.mmdagent.jp/]]というソ...
[[MMDAgent:http://www.mmdagent.jp/]]は、[[MikuMikuDance:h...
なので、ここで使われているミク用の音響モデルが、OpenJTalk...
[[MMDAgent & Project-NAIP wiki:http://cube370.wiki.fc2.co...
そして、「/usr/local/share」に「hts-voice」ディレクトリを...
あとは、前述のスクリプトのVOICEDIRの指定を、それぞれのも...
jsay あいうえおー
とかで喋ります。~
が、なんか変に反響した音が一緒になってる感じがあるなー。~
イヤホンで聞くと特に酷いですが、これに関しては直し方がわ...
----
終了行:
#analog
#norelated
#contents
* 音声合成させてみる。 [#qcd2d89a]
基本的に普段画面は繋げていないので、何かがあった場合に知...
ただ何か音を鳴らすだけでは情報が少ないので、ここは日本語...
スピーカは別のところに置いて、決まった時間にその日の予定...
というわけで、AmazonでBluetoothアダブタの[[BT-MICRO4:http...
また、ダイソーでオーディオレシーバーにつける安スピーカー...
Bluetooth接続のスピーカーとかを見ると、結構な値段がします...
と思ったのですが、ダイソーのスピーカーは全然音が出なくて...
Seriaのちょっと大きめの100円スピーカーの方がいい感じです。~
あと、Seriaには、単4電池2本を入れて出力をブーストするやつ...
音は悪いですけどねー。~
** bluetoothオーディオ [#af608f68]
まずはbluetoothの各種パッケージをインストールします。~
sudo apt-get install bluetooth bluez-utils blueman
bluetoothはBluetooth用ツールとデーモン、bluez-utilsはドラ...
パッケージの取得に失敗するような場合は、「sudo apt-get up...
入ったら、念のためreboot。~
リモートデスクトップでGUIにログインし、設定のところにある...
が、なぜかここで一度ではちゃんと画面が出ませんでした……。~
一度、システムツールのタスクマネージャーから、blueman-app...
何が悪いのかな……。~
画面が開いたら、オーディオレシーバーを電源に繋いで、検索...
#ref(search.png,left,nowrap,検索)
繋ごうとした時の設定は、ヘッドセットサービスじゃないと繋...
ヘッドセットサービスを選択して次へ。~
#ref(headset.png,left,nowrap,ヘッドセットサービス)
ペアリングは、「0000」で繋がります。~
#ref(pairing.png,left,nowrap,ペアリング)
そして繋がると、インジケータが表示されるようになります。~
これでとりあえずは繋がったという状態ですね。~
#ref(btconnect.png,left,nowrap,接続)
ここで出ている16進数のアドレスは次で使うので、メモってお...
----
次に、オーディオデバイスとして使えるように設定します。~
piユーザのhomeフォルダに、.asoundrcというファイルを作成し...
pcm.!default{
type bluetooth
device "00:1F:8E:D3:96:BE"
}
deviceに記述しているのは、先ほどのアドレスです。~
基本的に全ての音をこのオーディオデバイスから出すつもりな...
次に、「/etc/bluetooth/audio.conf」に以下の記述を追加しま...
[General]
Enable=Source,Sink,Headset,Gateway,Control,Socket,Media
AutoConnect=true
今回必要なのは、Headsetだけのような気もしますが、色々使え...
さらに自動で接続出来るようにします。~
ここで念のためreboot。~
RaspberryPiが起動したのを見計らって、オーディオレシーバー...
同時に電源を入れて起動するとダメみたいです……。~
オーディオレシーバーは後から電源をいれないと、ちゃんとペ...
「/usr/share/sounds/alsa」の中あたりに、wavファイルがあっ...
aplay /usr/share/sounds/alsa/Front_Left.wav
一応鳴るには鳴るんですが、先頭がちょっと途切れる感じです。~
連続で鳴らせば大丈夫なんですが……。~
これはもう、そういうもんだと諦めて、無音をちょっと流して...
何はともあれ、とりあえず音は鳴るようになったので、次のス...
** OpenJTalk [#fb195fec]
このあたりは、以下のサイトを参考にさせてもらいました。~
- [[Raspberry Piに喋らせる:http://shokai.org/blog/archive...
- [[Raspberry Piでミクにしゃべらせよう:http://pawafuru.co...
OpenJTalkを動かすのに必要な、各種パッケージをインストール...
sudo apt-get install open-jtalk open-jtalk-mecab-naist-j...
OpenJTalk本体と辞書データ、音声合成エンジンとライブラリ、...
で、さっそくちょっとスクリプト組んで喋らせてみたんですけ...
なので、&ref(silence.wav,left,nowrap,1秒の無音音声ファイ...
発話しようとしてからは、文章の音声への変換+無音の1秒分待...
というわけで、先ほどの無音音声ファイルを「/usr/local/shar...
実行権限をつけるのを忘れずに。~
内容は以下の通りです。~
#!/bin/sh
TMP=`mktemp -t`
VOICEDIR="/usr/share/hts-voice/nitech-jp-atr503-m001"
DICDIR="/var/lib/mecab/dic/open-jtalk/naist-jdic"
SILENTWAV="/usr/local/share/sound/silence.wav"
echo "$1" | open_jtalk \
-x ${DICDIR} \
-td ${VOICEDIR}/tree-dur.inf \
-tm ${VOICEDIR}/tree-mgc.inf \
-tf ${VOICEDIR}/tree-lf0.inf \
-tl ${VOICEDIR}/tree-lpf.inf \
-md ${VOICEDIR}/dur.pdf \
-mm ${VOICEDIR}/mgc.pdf \
-mf ${VOICEDIR}/lf0.pdf \
-ml ${VOICEDIR}/lpf.pdf \
-dm ${VOICEDIR}/mgc.win1 \
-dm ${VOICEDIR}/mgc.win2 \
-dm ${VOICEDIR}/mgc.win3 \
-df ${VOICEDIR}/lf0.win1 \
-df ${VOICEDIR}/lf0.win2 \
-df ${VOICEDIR}/lf0.win3 \
-dl ${VOICEDIR}/lpf.win1 \
-em ${VOICEDIR}/tree-gv-mgc.inf \
-ef ${VOICEDIR}/tree-gv-lf0.inf \
-cm ${VOICEDIR}/gv-mgc.pdf \
-cf ${VOICEDIR}/gv-lf0.pdf \
-k ${VOICEDIR}/gv-switch.inf \
-s 16000 \
-a 0.05 \
-u 0.0 \
-jm 1.0 \
-jf 1.0 \
-jl 1.0 \
-ow $TMP && \
aplay --quiet ${SILENTWAV} && \
aplay --quiet $TMP
rm -f $TMP
** MMDAgent用ミク音響モデル [#zfea2d19]
さて、デフォルトの声ではあんまりにも色気がないので、娘(6...
そのために、[[MMDAgent:http://www.mmdagent.jp/]]というソ...
[[MMDAgent:http://www.mmdagent.jp/]]は、[[MikuMikuDance:h...
なので、ここで使われているミク用の音響モデルが、OpenJTalk...
[[MMDAgent & Project-NAIP wiki:http://cube370.wiki.fc2.co...
そして、「/usr/local/share」に「hts-voice」ディレクトリを...
あとは、前述のスクリプトのVOICEDIRの指定を、それぞれのも...
jsay あいうえおー
とかで喋ります。~
が、なんか変に反響した音が一緒になってる感じがあるなー。~
イヤホンで聞くと特に酷いですが、これに関しては直し方がわ...
----
ページ名: