fix compat breaking: revive workaround padding in decode() #867
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
内容
#854 でdecodeからworkaround用の無音paddingを消してしまい、compatible engineの挙動が変わってしまっていた
#866 (comment) に従い、
もともと
Synthesizer::decode
... 無音パディングを付加Synthesizer::synthesis
...Synthesizer::decode
を利用extern "C" fn decode_forward
...Synthesizer::decode
をそのまま利用 (→無音パディングあり)だったものに対して #854 は
Synthesizer::generate_full_intermediate
... 無音パディングなしで中間物生成Synthesizer::render_audio_segment
... マージンなしで与えられた音声特徴全体で音声生成Synthesizer::decode
...Synthesizer::generate_full_intermediate
とSynthesizer::render_audio_segment
を利用(→無音パディングなし)Synthesizer::precompute_render
... 無音パディングを付加してSynthesizer::generate_full_intermediate
Synthesizer::render
... マージンを付けて&指定された区間でSynthesizer::render_audio_segment
(+暗黙的にパディングが除去される)Synthesizer::synthesis
...Synthesizer::precompute_render
とSynthesizer::render
を利用extern "C" fn decode_forward
...Synthesizer::decode
をそのまま利用(→無音パディングなし)になっていたので、
Synthesizer::generate_full_intermediate
... 無音パディングを付加して中間物生成Synthesizer::render_audio_segment
... マージンを付けて&指定された区間で音声生成Synthesizer::decode
...Synthesizer::generate_full_intermediate
とSynthesizer::render_audio_segment
を利用Synthesizer::precompute_render
...Synthesizer::generate_full_intermediate
を利用Synthesizer::render
...Synthesizer::render_audio_segment
を利用Synthesizer::synthesis
...Synthesizer::precompute_render
とSynthesizer::render
を利用extern "C" fn decode_forward
...Synthesizer::decode
をそのまま利用extern "C" fn generate_full_intermediate
...Synthesizer::generate_full_intermediate
をそのまま利用extern "C" fn render_audio_segment
...Synthesizer::render_audio_segment
をそのまま利用に変更した
関連 Issue
その他