Closed keikobayashi516 closed 3 years ago
ファイルを「のせる」という表現が良く分からないのですが,test.cppにある例のようにコマンドラインで適切に引数を与えて実行してみてください.コマンドの与え方に問題があるのだと思います.test.cppの6行目にある書式
test.exe input.wav outout.wav f0 spec
がコマンドで,それぞれの引数の意味は同ファイルに記載されています.
コマンドラインを使えば01output.wav 02output.wav 03output.wavファイルが生成されました!ただ、中身に音声が含まれておらず、「プチッ」と切れる音だけで面白味がないのですがこれであってますか?
入力音源を分析合成した結果が再生されるはずなのです.今回はvaiueo2dを使っているので,問題なく分析合成できることは確認済みです.波形表示ソフトで合成結果の波形を表示して画面キャプチャし,ここに張り付けて頂けないでしょうか.
02output.wavの波形データです。01 03 も同じ構造です。見ての通りただの空ファイルです。
win.exeを生成する時に問題が起きているという事はありませんか?
少なくとも私の環境では問題なく動いているため,このエラーは再現できません(WindowsのVisual Studio 2015, 2019で動作確認しています).コマンドラインで音声処理をしているときに色々処理中にテキストが表示されると思いますので,その画面をキャプチャしてみてください.処理時間から分析・合成のどちらで問題が起きているかはある程度分かると思います.
何か分かりますでしょうか?
恐らく原因は4, 5番目の引数です.test.cppに記載しているように,それぞれ正の値を渡す必要があります.例えば,両方を1にすれば元の音源とほぼ同じものが出てくるはずです.
4,5番の引数を変化させることでさまざまな音声がコンピュータから飛び出してきました!しかし3つも音声ファイルを作っているにもかかわらずどれも同じ変化をしているので何か深い意味はあるのでしょうか?
3種類の音源の音質はほぼ一致するはずです.WORLDでは用途に応じて複数の合成法を実装しているため,サンプルコードでそれぞれの例題を付けています.
森勢教授、誠にありがとうございます。この逸材は是非とも研究させて頂きます!
自分で作ったwavファイルをインプットするとこのようなエラーがでましたが、そういった事はできないのでしょうか?
audioio.cppの中で.wavファイルの読み込み関数がありますので,まずはそちらのエラーメッセージを確認してください.エラーメッセージに示されているとおり,ステレオファイルはサポートしていません.その他のエラーについても,.wavファイルをバイナリエディタで確認すればヘッダのどこに問題があるか確認できます.まずは.wavのヘッダの仕組みを学習し,バイナリエディタによるヘッダのチェックをご自身でお願いします..wavファイルの扱いはWORLDの管轄外なので,このスレッドでのカバー対象外です.
関学卒の小林です。実行ボタンを押すとexeファイルが生成されvaiueo2dファイルをそこにのせると(null)ファイルが3つ生成されます。別名のwavファイルが生成されずに困っています。