音声分析変換合成システムWORLDのPythonをWin10で動かす

概要

音声分析変換合成システムWORLDの Pythonの実装 Python-WORLDを Windows10環境でも動くように変更した。

github repository

使い方

入力をencodeして、また decodeする。どこまでそんしょくなく元に戻るかを聞き比べる。


python test1.py -i xxxx.wav -m harvest --not_requiem

入力ファイルの名前に方式と-resynthが追加された出力のWAVファイルができる。

引数の説明

draw sample1

ピッチの高低、話す速さ、スペクトラムの伸縮などを変化させたものを作成する。

python test2.py -i xxxx.wav -s pitch_scaling  -f 1.5 

入力ファイルの名前に方式とファクターに-resynthが追加された出力のWAVファイルができる。

引数の説明

動作を理解するための図説

話す速さの変化は下図様なtemporal positionの間隔を変えているようだ。
temporal1

励振源は、古典的な(周期的な)パルス源とノイズ源とを分けて構成するものではなく、
入力信号のスペクトルをピッチ同期で求めたスペクトル包絡で割ったものを使っているようである。
excitatiom_signal1
励振源とスペクトル包絡は完全に独立ではないようだ。

ぎざぎざ波形をもつFFTスペクトルを滑らかな包絡にする方法は、ケプストラムでT0の整数倍が零になる スムージングフィルターを掛けて実現しているようだ。
cheaptrick1
処理前後のスペクトルを比較してみた。
spectrum_compare1

主な変更点

動作環境

参照したもの

WAVファイルの出典

test-mwm.wav 外国語の発声はPython-WORLDのtestから。
vaiueo2d.wav 発声「あいうえお」はWORLDのworld-0.2.3_matlabから。

ライセンス

docsディレクトリーの中にある以下のオリジナルのライセンス文を参照のこと。
LICENSE_Python-WORLD-master.txt
LICENSE-WORLD.txt