可愛い女の子にコマンドラインの実行終了を音声通知して欲しかっただけなんだ
前回、コマンドラインの実行終了時にワガハイが流れ出すaliasを作ったけど、 実はあれには重大な問題があり、つまり作業がワガハイを観ることにシフトしてしまうという。
とはいえCLIでの作業に萌えは欠かせないので、可愛い音声で実行終了の通知をしてもらうことにした。
喋らせる
Linux環境で、合成音声で日本語を話してもらう方法を考えた。
- open-jtalk
- 全然インストールできないし、インストールできてもエラー吐くし、もうめんどい
- eSpeak + kakasi
- $ echo “お兄ちゃん、起きて” | kakasi | espeak
- ここ参考
- なんか可愛くない
- mbrola
- mbrolaはeSpeakなどからバックエンドとして利用されるのが常だけど
- 考えたのはmbrolaのみでの運用
- 多分、一番の現実的解だった (けどめんどくさいのでやめた)
だめでした。
Please talk !
そういえばそもそも日本語にこだわる必要ってない。
僕は可愛い声で話して欲しいだけなんだ!! おねがぁい☆
- festival
- 設定ファイルをschemeで記述する面白そうなやつ
- でも英語ならeSpeakでいいじゃん…って感じなのでやめた
- eSpeak + mbrola
- AURにあるmbrolaの日本語VoiceをeSpeakから利用しようかと
- 日本語用女性音声なら可愛い声を期待できそうだったし絶対可愛い
- eSpeakさんがmbrola-voicesさんを認識しないのでダメ
もう疲れたよパトラッシュ…
というわけで、一日を費やして考えた今回のユースケースへの最適解はこれでした。
- eSpeak + eSpeakのvoiceファイル自作
- eSpeakでは
{espeak-dir}/espeak-data/voices/
あたりにvoiceファイルがいっぱいある - 自作できそうだったので自作して
+f3
を元に{espeak-dir}/espeak-data/voices/!v/fex
というファイルで作った
- eSpeakでは
内容
language variant
name female-ex
gender female
pitch 210 310
formant 0 145 80 140
formant 1 160 75 140 -50
formant 2 175 70 140 -250
formant 3 165 80 140
formant 4 165 80 140
formant 5 165 80 140
formant 6 160 70 140
formant 7 150 70 140
formant 8 150 70 140
stressAmp 18 18 20 20 20 20 20 20
breath 0 2 3 3 3 3 3 2
echo 140 10
roughness 20
顧客が本当に必要だった幼女
# Notify end of cli task
# example$ somecommand ; enotify
function _espeak () {
espeak "$1" -s 150 -v +fex 2> /dev/null || \
espeak "$1" -s 150 2> /dev/null
}
function enotify () {
if [ $? -eq 0 ] ; then
_espeak 'Succeed!'
else
_espeak 'Exit with the error'
fi
}
可愛さが足りない。
この記事はこちらから修正リクエストを送ることができます。
可愛い女の子にコマンドラインの実行終了を音声通知して欲しかっただけなんだ - github
ゴミ箱ボタンの左にある、鉛筆ボタンを押してね!