mmorise / World

A high-quality speech analysis, manipulation and synthesis system
http://www.kisc.meiji.ac.jp/~mmorise/world/english
Other
1.15k stars 249 forks source link

別名のwavファイルが出力されません。 #114

Closed keikobayashi516 closed 3 years ago

keikobayashi516 commented 3 years ago

関学卒の小林です。実行ボタンを押すとexeファイルが生成されvaiueo2dファイルをそこにのせると(null)ファイルが3つ生成されます。別名のwavファイルが生成されずに困っています。

keikobayashi516 commented 3 years ago

スクリーンショット 2021-03-25 062353

mmorise commented 3 years ago

ファイルを「のせる」という表現が良く分からないのですが,test.cppにある例のようにコマンドラインで適切に引数を与えて実行してみてください.コマンドの与え方に問題があるのだと思います.test.cppの6行目にある書式

test.exe input.wav outout.wav f0 spec

がコマンドで,それぞれの引数の意味は同ファイルに記載されています.

keikobayashi516 commented 3 years ago

コマンドラインを使えば01output.wav 02output.wav 03output.wavファイルが生成されました!ただ、中身に音声が含まれておらず、「プチッ」と切れる音だけで面白味がないのですがこれであってますか?

mmorise commented 3 years ago

入力音源を分析合成した結果が再生されるはずなのです.今回はvaiueo2dを使っているので,問題なく分析合成できることは確認済みです.波形表示ソフトで合成結果の波形を表示して画面キャプチャし,ここに張り付けて頂けないでしょうか.

keikobayashi516 commented 3 years ago

02output

keikobayashi516 commented 3 years ago

02output.wavの波形データです。01 03 も同じ構造です。見ての通りただの空ファイルです。

keikobayashi516 commented 3 years ago

zzz win.exeを生成する時に問題が起きているという事はありませんか?

mmorise commented 3 years ago

少なくとも私の環境では問題なく動いているため,このエラーは再現できません(WindowsのVisual Studio 2015, 2019で動作確認しています).コマンドラインで音声処理をしているときに色々処理中にテキストが表示されると思いますので,その画面をキャプチャしてみてください.処理時間から分析・合成のどちらで問題が起きているかはある程度分かると思います.

keikobayashi516 commented 3 years ago

nnn

keikobayashi516 commented 3 years ago

何か分かりますでしょうか?

mmorise commented 3 years ago

恐らく原因は4, 5番目の引数です.test.cppに記載しているように,それぞれ正の値を渡す必要があります.例えば,両方を1にすれば元の音源とほぼ同じものが出てくるはずです.

keikobayashi516 commented 3 years ago

4,5番の引数を変化させることでさまざまな音声がコンピュータから飛び出してきました!しかし3つも音声ファイルを作っているにもかかわらずどれも同じ変化をしているので何か深い意味はあるのでしょうか?

mmorise commented 3 years ago

3種類の音源の音質はほぼ一致するはずです.WORLDでは用途に応じて複数の合成法を実装しているため,サンプルコードでそれぞれの例題を付けています.

keikobayashi516 commented 3 years ago

森勢教授、誠にありがとうございます。この逸材は是非とも研究させて頂きます!

keikobayashi516 commented 3 years ago

aaa 自分で作ったwavファイルをインプットするとこのようなエラーがでましたが、そういった事はできないのでしょうか?

mmorise commented 3 years ago

audioio.cppの中で.wavファイルの読み込み関数がありますので,まずはそちらのエラーメッセージを確認してください.エラーメッセージに示されているとおり,ステレオファイルはサポートしていません.その他のエラーについても,.wavファイルをバイナリエディタで確認すればヘッダのどこに問題があるか確認できます.まずは.wavのヘッダの仕組みを学習し,バイナリエディタによるヘッダのチェックをご自身でお願いします..wavファイルの扱いはWORLDの管轄外なので,このスレッドでのカバー対象外です.