2008年09月25日

aozoraVoice2.3

こつこつ作っている、青空文庫の作品をメインターゲットにしたテキストを音声ファイルに変換するソフト。

いままでは設定ウィンドウで設定ファイルを作って、変換スクリプトで変換と、二つのプログラムを組み合わせて使うようになってましたが、これを統合してみました。今まで通り自動的に変換を始める機能もありますが、ファイルを与えると設定ウィンドウが開いて、そこでいろいろ決めた後、変換ボタンを押すと変換を始めるというモードを用意しました。このときファイルを与えなければ、設定ウィンドウで設定だけを決めることになります。

設定ウィンドウでは、設定に名前をつけて登録できるようにしました。これで設定の利用がかなり楽になります。サンプルの設定として、英語男声というのを入れてあります。こんなふうに目的別に設定を使い分けます。「高音質wav出力」とか、「高速音読」とか、必要に応じて名前をつけて登録して使ってください。

このサンプルで分かるように、このaozoraVoiceは青空文庫だけに限定せず、テキストを音声ファイルへ変換する汎用的なソフトとしても使えます。「プロジェクト・グーテンベルグ」から英文ファイルを持ってきて、読ませるという利用もできます。作品にこだわる必要はありません。テキストファイルさえ作れば何でも読ませられます。

ただ現在、ひとつ問題があります。それはアクセント記号がついたアルファベットなど、日本語環境で文字化けしてしまう文字は、文字化けしたままで読み飛ばされてしまうということです。英文の場合は、ほとんど問題はありませんが、フランス語の音声にフランス語で書かれた文章を読ませようとすると読み飛ばしが連発します。原因は分かっているのですぐに解決できると思いますが。。。
今のところそういう問題を抱えています。

9/26追記
文字セットを切り替える機能を付けて解決できました。これでグーテンベルグ・プロジェクトの文書でもなんでも読めます。いろんな言語の音声を持っていないといけませんが。

スクリプトのこととか、もっといろいろ書いておきたいですが、今回はこれまで。

ダウンロードは次のリンク先で
AozoraVoice - T's 開発室


posted by takayan at 02:58 | Comment(21) | TrackBack(0) | aozoraVoice | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
設定の順番だけど、
変換範囲→ルビ→踊り字→テキストの削除→
辞書→音声合成→変換結果の出力→分割→
音声ファイルフォーマット→lame の設定の方が良いかも。

で、音声ファイルに出力しませんの時に、『分割』の機能もオフに。

という感じは如何でしょ? 機能があっちこっちにいっているので、
纏めてみました。

それで、設定の使い方なのだけど、設定を覚えさせて、
設定を読み込ませるよね。設定の書き出しはしなくても
大丈夫なのかな。
config.txtは、一切変化なしなんだけど。
ルビ削除しても、ルビ削除しないし、分割しないにしているのに
分割しているみたいなんだけど。

config.txtを手で弄れば、勿論、ルビ削除するし、分割しないんだけど。
確認して頂けますか?

それと、要望。
変換中だというメッセージが出るようにする。を切り替え式にして欲しいです。
真っ白な画面が出ますが、いる人ばかりでは無いと思います。
特に、複数流している時とか。
Posted by a at 2008年09月25日 23:01
ご無沙汰しています。見には来ているんだけど、コメントする事が無くてw

さて、以前から興味があってやっていなかんですが、時間があったので遊んでみました。
今?話題のRamdiskです。↓見ながらやったら、簡単に出来たので貼っておきます。
初心者用のサイトだそうですが。
http://d.hatena.ne.jp/sona-zip/20080512

テキストをRamdisk上に移し、そこでAozoravoice2でmp3化させているんですが、
やっぱり速いみたいです。2chの方でかなり前に速いぞて報告があったんですが、
当時メモリーが高くて挑戦が出来ませんでしたが、昨年の年末に安くなったので2Gを買い、
それを全てRamdiskに割りあてました。

HDDに負担にならないし、速いので面白いかなと思って、書き込みに来ました。

ノートパソコンを買ったそうなので、IEのテンポラリーを移してみるというのも良さそうですよ。

IEのテンポラリーのみだったら、設定の簡単な分が今の期間だけ無料で配布されています。RamPhantom3 FREE
http://www.ioplaza.jp/shop/genre/genre.aspx?genre=ram03&affiliate=P090331TC8
Posted by a at 2009年05月05日 09:51
追記
色々調べて見たんだけど、エンコードはあまり変わらないて書いてあったw
コピー、あるいは、移動し直す必要があるから結局は意味が無いんだってw
http://qqqq111.at.infoseek.co.jp/memoryutility.html

RamPhantom3 FREEは最大256Mまで作成可能なので、
IEのテンポラリー用だね。
裏技はあるけど。
http://blog.goo.ne.jp/yn2007/e/493fbf85589f8d0105c693f0c8a82def
Posted by a at 2009年05月05日 14:44
aさんお久しぶりです。
情報ありがとうございます。
最近、aozoraVoice関連は何もしてなくてすみません。
それにしてもメモリーは安くなりましたね。安かったので新しいPCにはメモリー満タン4G詰め込みました。
余裕があるので、Ramdiskも使ってみることにします。
Posted by takayan at 2009年05月06日 01:10
別にaozoraVoiceは、今のままで良いと思いますけど。
敢えてするなら、2008年09月04日に書かれていたMeCabぐらいかな。

2系があそこまで完成されたので、他(1系等)を触っても需要がなさそうなので(爆
なんたって、多言語化ですから。

メモリーの件ですが、昨年末から1月15日?ぐらいが底でしたね。
2chでメモリーの値段が報告されていたので、睨めっこしながら、
購入しました。デスクトップ用PC2-6400の2Gで1480円でした。
ちなみに、ソフマップでは年末新年特価でPC2-6400の2Gが1000円でした。

ノート用のメモリー PC-2700 S.O.DIMMの512Mが980円でした。
(全てノーブランド品の値段です。)

昔より確かに下がったのですが、私が購入した値段より上がっているので、
ちょっと複雑ですね。PC-2700 S.O.DIMMの512Mがもう1枚欲しかったので。
ネット用に中古のノート(1万円)を買ったので。1Gにしたかったなぁと。
今、768Mです。768Mで十分なんですけど、RAMDISKで遊べるのが余裕を見て160Mまでなので。
Posted by a at 2009年05月06日 21:00
数年前XPノートを買った頃のあまりにも高すぎてなかなか標準の512MBから増やせなかった記憶が強かったものですから。
mecabもpythonもバージョンアップしてますね。暇なときに調べてみようと思います。
Posted by takayan at 2009年05月07日 01:08
こんばんは。

2chの方で興味深いソフトが紹介されていました。
http://www.forest.impress.co.jp/article/2009/04/27/okiniiri.html
概要は、Aozoravoiceと似たようなもので、音声エンジンにAquesTalkを
用い青空文庫を読み上げるというものです。

AquesTalkのフリー版は、ひらがなしか読む事が出来ませんので、
ソフトの方で漢字をひらがなに変換してやる必要があります。
その変換にMeCabを使っているようです。その結果として、
誤読を少なくしているようです。

2chでも読み上げソフトを用いる前にMeCabを通してから、
読み上げソフトを用いて、誤読を減らしているという書き込みがありました。

AquesTalkのひらがなしか読めないという弱点を逆手にとって、
誤読を少なくしている点が興味深いなと思いました。

Aozoravoiceにしろ、MeCabにしろ、便利なものをフリーで
公開して下さっている方々に頭が下がる思いです。
Posted by a at 2009年05月09日 19:28
いつも情報ありがとうございます。
これはシンプルで、いいソフトですね。
応用して、Mac用もすぐできそうですね。

それから最初「青空ろーどく」を実行したら、漢字を読んでくれなかったのですが、MeCabをutf-8で入れていたのを思い出して、標準のシフトJISで入れ直したら、うまくいきました。
Posted by takayan at 2009年05月17日 00:08
こんばんは。

興味深いサイトを見つけました。まほろば
http://mahoro-ba.net/index.php

全体的に色々詳しく書かれています。青空文庫関連もありました。
http://mahoro-ba.net/e796.html

また、SAPI5.0関係も載っています。結構詳しいです。
http://mahoro-ba.net/e1048.html

「FireVox T's 開発室」の事も載ってます。
http://mahoro-ba.net/e1137.html

不思議に思うですが、何故あそこまで詳しくて
Aozoravoiceに気付かないんでしょうか?
紹介メールを送っておきましたがw
Posted by a at 2009年06月21日 19:21
aさん、いつもいつもありがとうございます。
このサイトはバリアフリー関係の記事が充実しているいいサイトですね。実はブックマークに入れています。
Posted by takayan at 2009年06月27日 11:08
こんばんは。

今更という気もするのですが、外部辞書の件ですが、
青空文庫形式以外に適用されない感じなんですが、どうなっていますか?

というのは、Text to WAVの作者であるNoahさんのHPで
SAPI5.0の無料の分が紹介されてました。
http://www.ar.media.kyoto-u.ac.jp/msnavi/speech/index.html
Julius for SAPI
libchasen.msi
SynTTS.msiの3点をインストール

↑は、私は何度も訪れていますが、SAPI5.0に対応した音声エンジンとは知りませんでした。
http://trade2.easter.ne.jp/soft/pcspeak.html
但し、↑にも書いてありますが、英語(アルファベット)が読めません。

で、外部辞書を登録してアルファベットを読ませようとしたら、
うまくいかないので。
青空文庫形式なら、外部辞書は生きていますが、そうでないとうまくいきません。
下記の様に、半角と全角を入れようと思っているのですが。
"a":"エィ",
"b":"ビィ",
"c":"シィ",
"d":"ディ",
"a":"エィ",
"b":"ビィ",
"c":"シィ",
"d":"ディ",

大文字、小文字を認識するなら、4種類になりますね。
Posted by a at 2009年07月06日 22:55
aさん、こんばんわ
無料で手に入れられるにしてはなかなかいい声ですね。ただNVDAの音声にするとNVDAが落ちます。せっかくの無料のSAPI5.1音声なのにちょっと惜しいです。
いろいろ試しましたが、こちらでは変換の対象を文書全体にすれば問題なく変換して読んでくれました。再現できなかったので、問題がわかりません。

辞書は正規表現が使えるので、こんな感じにしてもいいです。長音にしてます。
{
"A|a|A|a":"エー",
"B|b|B|b":"ビー",
"C|c|C|c":"シー",
"D|d|D|d":"ディー",
"E|e|E|e":"イー",
"F|f|F|f":"エフ",
"G|g|G|g":"ジー",
"H|h|H|h":"エイチ",
"I|i|I|i":"アイ",
"J|j|J|j":"ジェイ",
"K|k|K|k":"ケー",
"L|l|L|l":"エル",
"M|m|M|m":"エム",
"N|n|N|n":"エヌ",
"O|o|O|o":"オー",
"P|p|P|p":"ピー",
"Q|q|Q|q":"キュー",
"R|r|R|r":"アール",
"S|s|S|s":"エス",
"T|t|T|t":"ティー",
"U|u|U|u":"ユー",
"V|v|V|v":"ブイ",
"W|w|W|w":"ダブリュー",
"X|x|X|x":"エックス",
"Y|y|Y|y":"ワイ",
"Z|z|Z|z":"ゼット"
}
でもカタカナが連続すると息切れをします。
Posted by takayan at 2009年07月07日 22:31
ごめんなさい。設定ミスでした。文書全体にするの忘れてました。

あと、動かない件ですが、Texttowavというソフトも動きません。
1行目だけ読んでくれます。
http://smart-butler.com/download.html

何が悪いのか、サッパリですね。
Posted by a at 2009年07月08日 23:09
例の音声エンジンを使ってaozoravoice2で小説を1冊試してみましたが、
かなり不安定ですね。

5500文字で分割し、mp3に変換するに設定すると、mp3に変換せずに落ちて、次のwavを作っていますね。
mp3に変換しないだと、wavを次々順調に作っている感じです。
WAVだと、1冊流れました。

WAVを削除しないで、MP3を作るを試しましたけど駄目でしたね。
Posted by a at 2009年07月09日 23:18
そのTextToWavというのは海外ソフトの方ですね。日本のnoahさんの「Text To Wav ★」と勘違いしていました。
ちょっと調べてみましたが、「Julius for SAPI」は内部で読めない字に対する処理が甘いようで、先日のアルファベットのカタカナ化のように、使うプログラム側でいろいろ対処する必要があるようです。「Text To Wav ★」の掲示板を読んでみると、そこらへんの苦労がわかります。
僕がやったときうまくいかなかったNVDAも、ドライバのスクリプトを修正して対応すればうまくいくはずですが、海外のTextToWaveの場合はプログラムをJulius for SAPI向けに修正してもらうのは難しいでしょうから、Julius for SAPIの内部のエラー対策が一般的なSAPI5.1音声と同じになるまで、待つしかないでしょう。「Julius for SAPI」の公開版は5年前で開発が止まっているので、もうそろそろ最新の茶筅に対応してくれたり、いろいろ改良されるとうれしいですね。
Posted by takayan at 2009年07月10日 00:05
いろいろ試してみたら、Julius for SAPIがなくても動くみたいですね。Julius for SAPIは音声認識のためだけのプログラムのようです。つまり上のコメントでJulius for SAPIのエラー処理に問題があるようなこと書いたのですが、それは間違いで、問題はSynTTSにあるようです。
Julius for SAPIはソースは公開されているようですが、SynTTSについては見つかりませんでした。
Posted by takayan at 2009年07月11日 22:17
成る程。という事は、AquesTalk仕様(漢字をひらがなに変換)にすれば、
問題無いという事みたいですね。面倒くさい話ですね。

更新は無理でしょう。サービス自体が終わってますから。
せめて、ソースでも公開されていれば、良かったんですが。

ソフトの件ですが、2種類あります。紛らわしいのですが、
アメリカ産のが後から出てきたそうです。

noahさんが、ブログでぼやいていたのを見て、
アメリカ産を知った訳だったりします。

私がチェックしているスレでは、AozoraVoice2とアメリカ産と、
SpeechCast(2chを読み上げ)が人気ですね。

最近になって、棒読みちゃんというソフトも出てきて、
SAPI5.1関係のフリーソフトが増えてきました。
Posted by a at 2009年07月13日 20:41
こんばんは。

DL数が700件を超えましたね。年内には1000件を超えるかもしれませんね。

視覚障害者向けのサイトにaozoravoiceが掲載されたのをたまたま確認しました。
情報提供は2回して、1回目は返事なし、2回目も返事なしだったんですが、
aozoravoiceで検索していたら、見つけました。
(掲載、未掲載に関わらず返事するという事だったのですが。)

まあ、掲載されたから良いかと思っています。
http://www.eyelink.jp/search.php?p_mode=category&p_categoryKbn=1&p_category1No=38&p_topPageFlg=1
Posted by a at 2009年10月04日 20:53
aさん、いつもありがとうございます。
Posted by takayan at 2009年10月05日 01:02
こんばんは。ひとつ、お願いがあります。

早ければ早いほどありがたいのですが、
T's 開発室のAozoraVoiceのページにある
『SAPI5に対応した音声合成エンジンの入手方法』を更新して頂けないでしょうか?

まほろばさんのサイトのSAPI5.0をご紹介して頂ければと思うのですが。

例えば、 アイリンクからT's 開発室のAozoraVoiceに
跳んだ場合、SAPI5.0て何?と思う人が結構おられると思うので。

また、青空文庫早わかりに掲載されている大久保ゆうさんによる
「音声化された青空文庫リンク集」にAozoravoiceを掲載して頂きました。
(青空ろーどくも紹介したので載っています。)
http://www.aozora.gr.jp/guide/nyuumon.html
http://www.alz.jp/221b/sound.html
Posted by a at 2009年10月05日 23:15
SAPI5の入手方法の部分は放置したままでしたね。すみません。あとで書き込んでおきます。
Posted by takayan at 2009年10月06日 01:24
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック