Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

傀儡師の館.Python

傀儡師の館.Python

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

Recent Posts

Calendar

Keyword Search

▼キーワード検索

Category

Archives

2025.01
2024.12
2024.11
2024.10
2024.09
2024.08
2024.07
2024.06
2024.05
2024.04

Freepage List

Profile

kugutsushi

kugutsushi

Free Space

設定されていません。
2006.08.10
XML
カテゴリ:ことば
コマンドトーク CmdTalk は、コマンドラインで実行する音声合成プログラム。 AquesTalk - 日本語規則音声合成ライブラリ のサンプルとして作られたもののようだ。

営利、非営利にかかわらず無償で使用でき、製品に組み込んで販売することも可能です。

ということなので使ってみようかな。

サンプルを聞いてみると無料で使えるものとは思えないような品質の声にびっくり。会社情報を見ると、年期の入ったプロの方なのであった。この方のブログの音声合成のカテゴリを見るとおもしろい。

ちなみに、ログオン時に今日の日付をしゃべらせる を見ると Perl を使って日付を取得してしゃべらせているが、Perl を使わなくても、この程度なら Windows のバッチだけでも書けてしまったりする(ダウロードしたファイルを解凍すると Sample ディレクトリにこの日付をしゃべらすサンプルは入っていた)。

@echo off

REM CmdTalkで今日の日付を読ませる
REM CmdTalk.exeの置かれているパスを指定
SET CmdTalk="\CmdTalk\CmdTalk.exe"

REM システムから現在の日付を取得
FOR /f "usebackq delims=/ tokens=1,2,3" %%i in (`date /t`)
REM 前の行の末尾に次の行をつなげる(長いと表示が崩れるから別行にしてある
DO SET YEAR=%%i && SET MONTH=%%j && SET DAY=%%k

REM コマンドトーク用の音声記号列を生成
SET koe="きょ'ーわ、<NUMK VAL=%MONTH% COUNTER=がつ>;
REM 前の行の末尾に次の行をつなげる(長いと表示が崩れるから別行にしてある
<NUMK VAL=%DAY% COUNTER=にち>です。"
REM コマンドトークを起動
%CmdTalk% %koe%

これを、適当なファイル名で保存(例えば、mysample.bat) で実行すれば Perl なしで同じことができる(なお、前の行の末尾に次の行をつなげるとしてあるところは、長いとページが崩れるので別行にしてあるので、REM の行を削除して、次の行を前の行の末尾につないだものにすること)。というか、Windows ShellScript でも使えば融通が利くか。どうせ、Windows しか動かないわけだし。


漢字かな混じり文からの音声合成はできず、かな表記の音声記号列からの音声合成となります。

ということについては、MeCab でも使ってかな表記にしてやればよいか。ふむふむ。何かおもしろいことができそうだ。問題なのは何をしゃべらせるかということと、MeCab に解析させたときにちゃんとした読みを生成してくれるように辞書を構築することと、読み方がきれいになるように多少手を加えてやると。おもしろい用途さえ見つけて手間をかけてやれば、十分な品質の音声合成ができてしまうなぁ。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2006.08.10 05:42:20
コメント(0) | コメントを書く
[ことば] カテゴリの最新記事



© Rakuten Group, Inc.
X