珍しい単語

最近は、合成音声を良くするために、音素長生成・韻律生成・波形処理を、それぞれ改善しようとしていますが、どれも手間がかかり、あっという間に時間が過ぎていきます。それとは並行して、NHKニュースを音声合成させて、読み上げのアクセントが変だったり、言語解析が変だったりする箇所は、随時修正しています。こちらの単語辞書の整備についても、延々と時間が掛かります。

さて、「維新分党」のニュースで、橋下代表の「長くおつきあいさせてもらっているので」という発言中で、「おつきあい(お付き合い)」という単語が、多少厄介でした。

「付き合い」だけだとサ変名詞ではありませんが、「近所付き合い」「親戚付き合い」や「お付き合い」はサ変名詞になり「〜する」と使われます。
単独での読みは「ツキア’イ」(3モーラ目)ですが、他の単語に付いて複合名詞になると、「キンジョズ’キアイ」(1モーラ目)となり、接頭語「お」が付くと「オツキ’アイ」(2モーラ目)となります。アクセント核の位置が、これだけ移動する単語も、珍しいと思いました。

そういえば先日、「チェーン店」という単語の発音が気になって、NHK日本語発音アクセント辞典で引いたところ、「チェ’ーンテン」もありましたが、「チェー’ンテン」と長音にアクセント核が付いているのを発見しました。長音、促音、撥音の特殊モーラには、アクセント核は絶対に付かないと思い込んでいたので、これには驚きました。日本語はなかなか奥が深いということでしょうか。

「大舞台」の読み方

TSNewsで、「NHK主要ニュース」を聞きながら、地道に言語辞書の整備を行なっています。ソチオリンピック関連のニュースで、「大舞台」を「おおぶたい」と読んでいて違和感を感じたので、調べてみたところ、「おおぶたい」と「だいぶたい」のどちらでも、間違いとまでは言えないようです。(古典芸能では、必ず「おおぶたい」と読むようですが。)

自分が作った読み規則を見てみると、「大」の接頭語が、「地震」や「舞台」などの単語に付く場合に、「だい」→「おお」と読むようにしていました。本当は、「大地震」も「だいじしん」と読ませたいところですが、「大地震」に関しては、放送では「おおじしん」が多数派のようですから。同じような感じで、違和感はあるものの、「大舞台」は「おおぶたい」の読みのままで良いかと、今のところ考えています。(もちろん、「歌舞伎」などのコンテキストに依存させて、読みを変えることも可能ではあるのですが…)

ちなみに、人名に関しても、気付いた都度、読み分け規則を入れています。例えば、ソチオリンピックに参加されている方だと、次のようなところです。「平野」さんの場合は、名前の読み分けではないけれど、間違って「へいや」(普通名詞)と読まないようにしています。

  • 「羽生」 … 「はにゅう」(スケート、結弦)、「はぶ」(将棋、善治)
  • 「渡部」 … 「わたべ」(暁斗、猛、篤郎、建、…)、「わたなべ」
  • 「平野」 … 「ひらの」(スノーボード、スノボ、歩夢)

iPhonePlus

週間アスキーの開発者投稿のサイトに、「TS読書」の紹介文を投稿して、公開して頂きました。

でも、その後も、さっぱり売れていないのは相変わらずです。自分なりに、今の状況を、音質向上に頑張るようにとのことではないかと、分析しています。アプリの良さが、全く認められていない現状は少し淋しいですが、より良い音声合成エンジンを作り上げるという目的に対しても、実用アプリの存在は、良い影響を与えてくれるものだと信じています。

ところで、「TSもの」という専門用語があるみたいなので、なんだろうと思って調べてみたところ、「Trans Sexual」の略語で、「性転換もの」らしいです。誤解されないように主張しておきますが、「TS読書」の「TS」は、「Text To Speech」と「Teramoto Software」の頭文字を掛けたもので、決して「Trans Sexual」を意図して付けたものではありません。

音質改善と女声波形

次なる課題は、波形生成部の処理を、根本的に見直すとともに、ナレーター風の女声での音声合成が出来るように、改善していく予定です。先ずは、波形データに少しづつラベリングをしつつ、波形やスペクトルを眺めているところです。

角川のライトノベルが中国で販売停止?

「TS読書」相変わらず、全然売れていません。広告活動も必要だと思いながら、何をすれば良いのやら分からない、という状況です。自分で購入して配ることが許されるならば…と思わなくもないのですが、配布先のあても無いので…

ところで、先週の中ほどの日付で、角川のライトノベルが中国で発売停止というニュースを見付けました。これは小ネタになると思いながら、中国語向けのアプリの商品説明の先頭に、次のような一文を付け加えました。

  • 角川のライトノベルは、中国での販売を停止しました。私は、このアプリケーションは中国での販売を停止しないことを願っています。
  • 角川的轻小说,已经在中国停止销售。我希望,这个应用程序不会停止在中国的销售。
  • 角川的輕小說,已經在中國停止銷售。我希望,這個應用程序不會停止在中國的銷售。

翻訳は、Google翻訳に頼りきりですが、中国語の勉強とかもした方が良いのかな。

単語の読み分け

ラノベの文章を試聴しながら、正しい読みで読むように、言語辞書を改善しています。新聞記事よりも、くだけた文章が多いです。読み分けが必要なものを、次に紹介してみます。単語の前後環境に応じた規則を記述することにより、単語を選択しています。

  • 弾けろ … 「弾け+る」(ひけ+る) → 「弾け+る」(はじけ+る) 命令形
  • 司義の命により … 「命」(いのち) →「命」(めい)
  • 少年少女たちが歪んだ友情の中で …「歪+む」(ひず+む) → 「歪+む」(ゆが+む)
  • 折原臨也の許に … 「許」(ゆるし) → 「許」(もと)
  • 古王国 … 「古」(ふる) 女房、新聞、井戸 → 「古」(こ) 美術、民家、王国
  • 心と身体に … 「身体」(しんたい) →「身体」(からだ)、お身体
  • ガード下 … 環境、管理、炎天「下」(か) → 高架、ひざ、座席「下」(した)

結構地道な作業です。しかしこのような読み分けは、音声合成で実用化を目指す上では、避けては通れないものじゃないかと思います。

Appliv様での「TS読書」の紹介

Appliv様より、紹介記事を書いて頂ける旨のお知らせを頂きました。

Appliv(アプリヴ) -iPhoneアプリが探せる、見つかる

ところで、「TS読書」のリリース後、10日間で、日本で1個しか売れていません。これほど売れないものだとは。この期間、前回作成したアプリ「TSNews」の方が売れています。AppStoreで、News特集とかやっていたから、多分その流れかなと推測しています。

  • tsrbooks … JP, CN, RU, DE, US, BR, CN, TW
  • tsrbooksle … CN, US, CN, CN,
  • tsnews … FR, US, CN, JP, JP, JP, CN, KR, JP, JP
  • tsnewsle … JP, JP

今後の目標は、iPhone専門雑誌か何かに、定番アプリとして、紹介記事を載せて頂けるようになること。でもその前に、合成音声の品質を、改善しないと駄目ですよね。女声の追加なども検討を計画しています。音声合成用の言語辞書の整備は、ラノベの文章での誤読を無くすように、地道に少しづつ手を付けています。音声合成の開発って、何かと時間がかかるんですよね。

TSRBooksの不具合修正

次の不具合、「入力用のポップアップ(UIAlertView) を表示中に、そのままレジューム状態に移行した場合に、青色で表示するべきボタンの文字などが、全て灰色で表示されるようになります。」は、自分が作成したプログラムのバグというよりは、iOS7の既知の問題のようです。stackoverflow にまさしく載っていました。

「iphone – How to properly dismiss a UIAlertView programmatically in iOS 7? – Stack Overflow」http://stackoverflow.com/questions/19284438/how-to-properly-dismiss-a-uialertview-programmatically-in-ios-7 

次の処理で良さそうなことが書いてありましたが、自分の場合は駄目でした。全部のUIViewで行えば違うかもしれませんが、原因は、iOS7の方っぽいので、必要が無ければ、あまり面倒な修正は、回避したいです。

UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
if ([keyWindow respondsToSelector:@selector(setTintAdjustmentMode:)]) {
keyWindow.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;
}

次に、applicationDidEnterBackground ではなくて、UIApplicationWillResignActiveNotification から呼び出してみると、今度はうまくいきました。両方ともMainThread上から呼び出されますが、呼び出されるタイミングが違います。Willという名前が付いているので、実際には存在しませんが、applicationWillEnterBackground 相当になるのだろうと思います。GUI関連でバックグランド移行時に必要な後処理は、こちらの方から呼び出すように変更して、問題解決しました。

ところで、初代iPad(iOS 5.1.1)で、UIAlertView 表示中に、バッググラウンド移行すると、次の警告がコンソール上に表示されました。UITextFieldに、resignFirstResponder を投げるといいという記事も見かけましたが、自分の場合は改善しません。延々試していたのですが、結局のところ分かりませんでした。iOS 6 でも iOS 7 でも出ないようなので、まあいいか。

wait_fences: failed to receive reply: 10004003

 

新規iOSアプリ

現在、新規iOSアプリのレビュー待ち状態です。アップルのクリスマス休みが重なるようなので、販売が開始されるのは、来年に持ち越しでしょうか。TSRBooks – Japanese latest books introduction featuring light novels. と、TSRBooksLE – Japanese latest books introduction limited to light novels. になります。詳細はまだ秘密です。乞う御期待。リジェクトされなければ良いけれど。。。

前回のアプリから、ずいぶん時間が経ってしまいました。TSRBooks のプロモーション用のホームページや、プレゼンテーション情報の作成中に、WordPressのページを見たところ、ブログも全然更新されていないので、すごく恥ずかしいと感じました。でも多分、誰も見ていないだろうから、まあいっか。

ただいま改善中

自分の音声を録音して、音素境界を設定して、音素長を観察してみると、音節単位の音素長を組み合わせて作成するという規則による生成では限界という気がしました。音素継続時間長、韻律制御については、コーパスベースの処理方式にするよう、ただいま方式の改善作業中です。