Conversation
|
textなど必要なファイルのコミットを行いました。 |
|
複数話者に対しても推論が成功しました。 |
|
コード的には単機能でシンプルにした方が良いと考えていまして、#1764 をマージ後に、Batch SynthesisのREADME.mdからの削除と該当コードの削除をお願いできればと思います。 |
fastspeech2をailia SDKで動作するように修正
|
@Yugo0000999921 下記のコマンドで音声合成した場合、音声の末尾にノイズが入りました。 $ python3 fastspeech2.py \
--text "Hello, I am speaking from a multi-speaker model." \
--preprocess_config config/LibriTTS/preprocess.yaml \
--onnx_fs2 libritts.onnx \
--speaker_id 0Torchの場合はactual_mel_lenで処理していますが、ONNXをFixed Shapeでエクスポートしてしまっているために、パディングでノイズが発生していると考えています。 そこで、ONNXをDynamic Shapeでエクスポートして、このノイズを抑制することは可能でしょうか? また、ONNXで推論した場合の音声ファイルと、Torchで推論した場合の音声ファイルを聞いてみて、概ね一致しているかを確認いただければと思います。 |
- Remove fixed-length padding, use actual sequence length - Use ailia.Net(None, onnx_path) without prototxt - Use onnx.load() to get input/output names - Add preprocess_text with auto language detection - Remove HiFi-GAN fixed-length padding - Add mel spectrogram plot saving Co-authored-by: Cursor <cursoragent@cursor.com>
|
dynamic shapeの部分の修正を行いました。また、hifiganのモデルについて、単一話者(LJSpeech)と複数話者(Aishell3,LibriTTS)でモデルを変更する必要があったため、その部分の修正を行いました。 結論として、onnxのチェックポイントは計5個あります。(LJspeech,Aishell3,LibriTTS,hifigan_ljspeech,hifigan) 推論コード(fastspeech2.py) 内にもいくつかコメントアウトしております。 |
|
実装ありがとうございます。モデルを全てアップロードしました。 |
# Conflicts: # natural_language_processing/g2pw/.gitignore # scripts/download_all_models.sh
|
下記のコミットで、ONNXファイルの名前を指定するのではなく、model_nameを指定して、モデルを自動的にダウンロードするようにしました。 |
| return | ||
|
|
||
| # ONNXモデルの出力名を取得 | ||
| onnx_model = onnx.load(WEIGHT_PATH_FS2) |
There was a problem hiding this comment.
@Yugo0000999921 onnx.loadではなく、ailiaのAPI(get_input_blob_list、get_output_blob_list、get_blob_name)で取得できるようにしていただければと思います。
| ) | ||
| # 以下引数の指定。デフォルトはLJSpeech. | ||
| parser.add_argument( | ||
| '--output_dir', |
There was a problem hiding this comment.
このオプションを削除して、常にargs.outputにwavを出力するようにしてください。
|
上記の内容を修正しました。 |
#1735