Windows Vista/7/8で、TrueSpeech形式のファイルを作成する手順

※32bit版OSでも、64bit版OSでも、同じ手順です。

PCM形式のWAVファイルを、TrueSpeech形式のWAVファイルに変換する手順


サウンドレコーダー(sndrec32.exe)を実行してください。

本当は、Windows Vista/7/8にはサウンドレコーダーが入っていないので、実行できません。
仕方なく、Windows XPから持ってきて使いました…。
Windows Vista/7/8上で、サウンドレコーダーの代わりになるツールって、無いでしょうか?
具体的には、「ACM CODECを利用してWAVファイルを変換する」GUIツールを探しています。


PCM形式のWAVファイルを、サウンドレコーダーにドラッグ&ドロップしてください。


メニューから「プロパティ」を選択してください。


「変換」ボタンを押してください。


ここで問題が生じます。「DSP Group TrueSpeech(R)」形式を選択しようとすると、選択項目に有りません。
Windows Vista以降のOSには、TrueSpeechのCODECが、標準でインストールされていないためです。


TrueSpeechのCODECを入手して、インストールしてください。
僕は、下図のサイトから、「tsp_codec_install.exe」をダウンロードしてインストールしました。


もう一度サウンドレコーダーを実行すると、「DSP Group TrueSpeech(R)」形式が選択できるようになりました。


オーディオ形式が「DSP Group TrueSpeech(R) 8.000kHz,1ビット,モノラル」に変ったことを確認して、「OK」ボタンを押してください。

【余談】
変換が失敗すると、オーディオ形式が「DSP Group TrueSpeech(R) 8.000kHz,1ビット,モノラル」に変りません。
変換が失敗する、よくある原因は、変換元の「PCM形式のWAVファイル」が短すぎる場合です。
実験したところ、0.3秒未満の「PCM形式のWAVファイル」をTrueSpeech形式に変換しようとすると、変換が失敗するみたいです。
0.3秒とは、TrueSpeechデータの10フレームに相当します。
要するに、サウンドレコーダーは、10フレーム未満のTrueSpeechデータを生成できない、というわけです。
ちなみに、ACM CODECを使って自分でプログラムを組んだら、10フレーム未満のTrueSpeechデータも問題無く生成できました。
どうやら、サウンドレコーダーのバグのようです。
推測ですが、サウンドレコーダーは、acmStreamConvert() APIへ最後のデータを渡すときに、ACM_STREAMCONVERTF_ENDを指定し忘れているのではないかな、と思います。
サウンドレコーダーは、Microsoft ADPCM形式に変換する時も、短すぎると失敗します。それも、同じ原因なのかも知れません。


再生すると、TrueSpeechの音質になっていることが確認できます。


メニューから「上書き保存」を選択してください。


以上で、TrueSpeech形式のWAVファイルができました。
P/ECEコミュニケータ等を使ってP/ECEに転送し、TrueSpeechプレイヤーで再生してください。


PCM形式のWAVファイルを、TrueSpeech形式のPPDファイルに変換する手順


コマンドプロンプトを開いて、「dppcmcnv -ft WAVファイル名」とタイプしてください。


TrueSpeechのCODECをインストールしていないと、下図のエラーが出て、変換が失敗します。
前述のTrueSpeechのCODECを入手して、インストールしてから、もう一度、実行してください。


以上で、TrueSpeech形式のPPDファイルができました。
P/ECEコミュニケータ等を使ってP/ECEに転送し、TrueSpeechプレイヤーで再生してください。


Sun Jul 13 18:02:43 JST 2014 Naoyuki Sawa (nsawa@piece-me.org)