あとからあとから、アイデアが浮かんだのでいろいろ詰め込んで書いてみました。とりあえず、このくらいの機能があればいいでしょう。
もともと自分が使うために作ったので、はじめは設定の変更もスクリプトファイルを直接編集という素っ気ないものでしたが、今回メニュー形式のものにしてみました。よかったら使ってみてください。
置き場
http://et-dev.main.jp/index.php?AozoraVoice
WindowsでSAPI5音声が入っていないと使えません。
上記の置き場所から最新版をダウンロードし、解凍してください。
readme.txtに使い方とか書いていますので、それを読んでから使ってください。
問題がまだ残っているかもしれません。もしありましたら、関連記事のコメント欄に報告お願いします。エラー報告しやすいように、エラー表示を以前のものに戻しました。エラーメッセージが出たらエラー発生の行番号も表示されるので、その行番号を一緒に教えてもらえると解決の手掛かりになります。どの作品を変換して問題が起きましたという情報もあるともっとわかりやすいです。
さて、今後も気が向いたら青空文庫関連や音声関連のソフトを書いてみたいと思っています。スクリプトで記述して自分の手の内を見せるのは、もうほどほどにするつもりですが。
次に作るとすれば、テキストファイルを元にするのではなく、ネットで直接閲覧できるXHTMLをソースにしたいです。いちいちダウンロードの操作をしなくてもいいですし、内部を見ると属性を使って情報が整理されているようですから、今回途中で諦めた著者名の抽出も簡単にできます。またアドレスで一意の文書が特定されるので、その作品だけに特定の変換をさせるという機構もすぐにできます。
それはそうと、ルビの置き換えをやってしまうと、最終的には仮名だらけの、人間にも音声合成にも読みにくい日本語になってしまいます。文学作品はできる限り作者が意図した発音にしたいので、標準でルビ置き換えの設定で読ませていますが、そのせいでかえって変な読みになってしまう可能性があります。この問題の解決策を探していくと、結局点字の文章のように、発音通りの仮名表記と、分かち書きに行き着くでしょう。最終的な目標としては、日本語を形態素解析して、自動で分かち書きにして読ませようと思っています。ついでに二倍の踊り字の精度も高められるでしょう。問題があるとすれば、僕の集中力と、最近の音声合成の分かち書きの読みの異常な下手くそさですね。そこがちょっと心配ですが。形態素解析は前にも使ったことがあるMeCabを使えば今すぐにもできそうです。
青空文庫に限定しない汎用的なものももう少しやってみたいです。クリップボードを読んだりするのや、プレイヤーのような操作性があるやつもほしいです。最初に作った textvoice というスクリプトもなんかできそうです。そういえばこの名前はmisakiさんたちの合成音声であるVOICETEXTをひっくり返した言葉になってますね。自分で名前付けておきながら、ちょっと紛らわしいです。