Linuxで音声読み上げ
ゆっくりしていってね!
棒読みちゃん
- http://chi.usamimi.info/Program/Application/BouyomiChan/
- 環境は
wine 1.6.2, Bouyomichan 0.1.11.0 (beta 16)
- wineを32bit環境で動かすことと、.NET framworkをwinetricksで入れておくこと
- mscoree.dllに関するエラーが出たので, winecfgのライブラリからmscoree.dllに関する項目を削除したら上手く動いた
- Mecabが入ってなければ入れる(公式サイトからwindows用のexeを落としてきてインストールする)
- http://pokotsun.mydns.jp/?p=3541 などを参考に
# ~/.wine32に32bit環境のprefixを作っておく ~$ WINEPREFIX=~/.wine32 WINEARCH=win32 wine BouyomiChan.exe
SofTalk
- http://www35.atwiki.jp/softalk/pages/1.html
- 上手く動かなかった(けど、あんまり頑張ってないので動くかもしれない)
AquesTalk
- http://masarakki.github.io/blog/2012/10/07/make-yukkuri-to-use-accent/ リポジトリがあるけど使い方不明
- http://www.infiniteloop.co.jp/blog/2013/02/yukkuritalk/
- http://xanxys.hatenablog.jp/entry/20100116/1263608651 などを参考に
Open JTalk
Open JTalk
- demo: http://open-jtalk.sp.nitech.ac.jp/index.php
open-jtalk, open-jtalk-mecab-naist-jdic, hts-voice-nitech-jp-atr503-m001, mecab
が入っていれば動く- 最近open-jtalkのオプション変わったらしくて、指定するオプションかなり減ったみたい(pdfとかwinとかいうファイルを指定しなくてよくなった)
- http://brokendish.org/ubuntu/3100/
- http://tips.hecomi.com/entry/20120221/1329838707
- http://aidiary.hatenablog.com/entry/20131006/1381061297 などを参考に
#!/bin/sh VOICE=/usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice echo $1 | open_jtalk \ -m ${2:-$VOICE} \ -x /var/lib/mecab/dic/open-jtalk/naist-jdic \ -ow $3 \ -ot $4
を保存して実行するといける
-ow
は出力するwavファイル名,-ot
はログ
MMDAgent メイちゃん
- http://www.mmdagent.jp/の"Sample Script"のbinary packageをダウンロードし、Voiceの中にあるhtsvoiceファイルを使う
open_jtalk -m /path/to/mei_hoge.htsvoice
でOK- 割とハキハキしゃべってくれる
他の声
- http://akihiro0105.blog55.fc2.com/blog-category-10.html
- 上のサイトにhtsvoiceファイルがいっぱい置いてあるので使える
LinuxでWindowsアプリケーションを動かしたい人のためのWineの設定
この記事はwineに関して私が蓄積したベストプラクティスとバッドノウハウをまとめたものです。
Wineとは
Wineとは、Linuxで*1Windowsアプリケーションが動くエミュレータではない何か*2です。
はじめに、Wineで全てのWindowsアプリが動くわけではないことを念頭に置いてください。まるで動かないものもあります。
この記事は、色んなアプリが動くようになる可能性が高くなるように設定をしています。
Wineで動かしたいアプリがあるのであれば
に行くと何か情報が得られるかもしれません。
環境
今回使用したのは以下の環境下です。
Wineのインストールにはなるべくパッケージを使っていれてください。
人柱気質たっぷりならソースからビルドでもよいかもしれません。
- winetricks 20130707
Wineで使うdllや必要なフレームワークを手軽にインストールしたり管理してくれるものです。必須です。
注: Wineは、こまめにバージョンを上げればよいというものではありません。特に開発段階のものをインストールするときは注意してください。バージョンがあがって今まで動いていたものが動かなくなってしまうこともあります。
設定
以下では具体的にWineの設定をしてみます。どんなアプリを動かしたいかによって入れるものや順番が変わるので注意してください。
フォントの文字化けを直す
デフォルトでは日本語の部分が豆腐状態(□□□□みたいな)だと思うのでまずはフォントをインストールします。
~$ winetricks allfonts
これで必要なフォントは入ります。
フォントを綺麗にする
お好みのフォント(例えばVL Gothic Font Family)のttfを~/.wine/drive_c/windows/Fonts
に入れます。
そして~/.wine/user.reg
を以下のように編集します。
[Software\\Wine\\Fonts\\Replacements] 1240428288 "MS Gothic"="VL Gothic" "MS PGothic"="VL PGothic" "MS Sans Serif"="VL PGothic" "MS Shell Dlg"="VL Gothic" "MS UI Gothic"="VL PGothic" "Tahoma"="VL PGothic" "\xff2d\xff33 \x30b4\x30b7\x30c3\x30af"="VL Gothic" "\xff2d\xff33 \xff30\x30b4\x30b7\x30c3\x30af"="VL PGothic"
.NET Framework系アプリを動かす
winetricks > Select the default wineprefix > Install a Windows DLL or component
から
などを入れます。
dotnetは(10->)20->30->35の順番でしか入りません。途中でコケたらその後のものは入りませんが、40だけは別に入れることができます。
ie7,8がないと上手く動かないものがあるようです。
msxml, mfc, vcrun, wshなどは必要ないかもしれません(必要があれば勝手に入る)。
メニューのフォントが化けるor綺麗じゃない場合は
~$ winecfg
のデスクトップ統合 > 項目
のメニューバーのテキストのフォントなどをいじると変えることができます。
ゲームを動かす
- d3dx*
- devenum
- dinput, dirac
- directmusic, directplay, dmsynth, dsound
- dxdiag, ffdshow
- quartz
- vcrun*
- wmp*
などを入れます。
d3dxは9,10,11を入れれば大丈夫だと思います。
上手く動かない
汎用
コマンドラインからwineを実行すると、たくさんメッセージが出ると思います。
err:[name]:[message]
となっているものがあれば、[name]のdllがおかしいことが多いです。
fixme:hogehoge
は無視して大丈夫です。
~/.wine/drive_c/windows/system/system32
の中に指定されたdllを(どうにかして手に入れて*3 )入れるか置換して、winecfgのライブラリからその名前のものを"ネイティブ版"として追加すると上手く行くことがあります。
kernel32.dll, gdi32.dll, user32.dll, ntdll.dll, ole.dll
などは置き換え無いほうがいいかもしれません。
(ゲームなどの)音が鳴らない・割れる
winecfg
のオーディオ
のところにドライバがセットされて、音をテストして上手く行くことを確認してください。
また、winetricksで音関係のdllをいれてください(dsound
とかdirectmusic
とか)。
音割れが激しい場合はPulseAudioを消して再起動すると直ることがあります(PulseAudio周りのドライバがおかしい場合)。
強制終了する
ゲームであれば、動画の再生の際にコーデックがないなどの理由で強制終了してしまうことがあります。
wmp
やその他の動画コーデックをいれてみてください。
詰んだ
以下のようなエラーが出たら詰んでいることが多いです。
Unhandled page fault on read access
などのメモリ関係の強制終了- gstreamerのエラー(ディストリ用パッケージを入れると動くかも?)
- 一部のole関係のエラー
- 一部のinitialization系エラー(ゲームを動かす要件を満たしてないことが多い)
- 一部の
err:module:import_dll Library
などのエラー(dllをネイティブ版で置き換えると上手く行くことも) - 何が悪いのかよく分からないエラー(何が悪いのか分かっていない場合は解決手段も分からないので詰んでる)
詰んだら一からやり直しましょう。
~/.wine
をリネームして(削除でも構いませんが残しておくほうがあとあと便利だと思います)、全ての設定をしなおすと上手く行くことがあります。
(動いてるという報告があって)どうしても動かない場合は経験上これが早いです。
まとめ
- Wineは便利だけど闇
- 特にゲームは闇
- winetricksで必要なものを揃えよう
- エラーメッセージを読もう
- 割とよく詰む
参考
情報が古いものもあるので気をつけてください。