pitch module

pitch

音高関係のデータを扱います

pitch.decodeBase64(value: str) numpy.ndarray

base64文字列をデコードし、-2048~2047のndarrayを返します。

パラメータ

value (str) -- Base64でエンコードされた文字列

戻り値

decode_data -- | -2047 ~ 2048の整数列 | データ数は、与えられたvalueの半分になります。

戻り値の型

np.ndarray of int16

pitch.decodeBase64Core(value: str) int

base64文字をデコードします。

パラメータ

value (str) --

1文字の文字列
2文字以上でも2文字目以降は無視されます。

戻り値

decode_value

戻り値の型

int

pitch.decodeRunLength(value: str) str
UTAUピッチ用のランレングス圧縮を展開します。
2文字一組とし、#num#はひとつ前の組の繰り返し回数を表します。
>>> AAABAC → [AA, AB, AC]
>>> AA#3# → [AA, AA, AA, AA]
パラメータ

value (str) -- ランレングス圧縮された文字列

戻り値

decode_data -- 展開後の文字列

戻り値の型

str

pitch.getFrqFromStr(tone: str) float

settings.TONE_NUMとsettings.A4FRQと与えられた文字列から周波数を返す。

パラメータ

tone (str) --

音高を表す文字列。C4、B3、A#2のように与えられる。
半音記号は、#,♯,b,♭の4種類が認識可能

戻り値

frq -- 周波数

戻り値の型

float

例外

ValueError -- toneの書式が適正でない場合

pitch.getPitchRange(tempo: str, target_ms: float, framerate: int) numpy.ndarray
出力長さに対する、UTAUピッチのタイミング列を求めます。
UTAUピッチ列は、4部音符あたり96個を基本とし、
ピッチ列の間隔をwaveのフレームで表したとき整数となるようにします。
全フレーム数をピッチ列間隔で除した数を切り上げた整数になります。
パラメータ
  • tempo (str) --

    ピッチのテンポ
    floatに変換可能な文字列もしくは、数字の頭に!がついた文字列

  • target_ms (float) --

    出力ファイルの長さ(ms)
    UTAUでは通常50ms単位に丸めた値が渡される。

  • framerate (int) -- wavのサンプリング周波数

戻り値

range -- UTAUピッチのタイミング列を求めます。

戻り値の型

np.ndarray of float64

例外

ValueError -- tempoに有効な文字列が渡されなかったとき

pitch.interpPitch(base: numpy.ndarray, utau_t: numpy.ndarray, world_t: numpy.ndarray) numpy.ndarray
UTAUピッチ列をworld時間軸に線形補完します。
UTAUピッチ列が必要長さに満たない場合、後ろ側を0埋めをします。
パラメータ
  • base (np.ndarray) -- UTAUピッチ列

  • utau_t (np.ndarray) -- UTAUピッチのタイミング列

  • world_t (no.ndarray) -- world時間軸のタイミング列

戻り値

interp_data -- world時間軸のピッチ列

戻り値の型

np.ndarray