PyRwu package

Subpackages

Submodules

PyRwu.PyRwu module

PyRwu.PyRwuIniquity module

PyRwu.flags module

PyRwu.frq_io module

PyRwu.interpolate module

PyRwu.pitch module

PyRwu.release module

PyRwu.resamp module

PyRwu.settings module

Settings 各種定数や初期値の設定

PyRwu.settings.FLAGS

使用するフラグの設定。

Type

flags.Flags

PyRwu.settings.PYWORLD_F0_FLOOR
worldでの分析するf0の下限
デフォルトでは71.0
Type

float, default pw.default_f0_floor

PyRwu.settings.PYWORLD_F0_CEIL
worldでの分析するf0の上限
デフォルトでは800.0
Type

float, default pw.default_f0_ceil

PyRwu.settings.PYWORLD_PERIOD
worldデータの1フレーム当たりの時間(ms)
デフォルトでは5.0
Type

float, default pw.default_frame_period

PyRwu.settings.PYWORLD_Q1
worldでスペクトル包絡抽出時の補正値
通常は変更不要
Type

float default -0.15

PyRwu.settings.PYWORLD_THRESHOLD
worldで非周期性指標抽出時に、有声/無声を決定する閾値(0 ~ 1)
値が0の場合、音声のあるフレームを全て有声と判定します。
値が0超の場合、一部のフレームを無声音として判断します。
本来の初期値0.85はharvestと組み合わせる前提で調整されていますが、
UTAUでの合成では1回でも判定ミスがあるとストレスなので0にしています。
Type

float, default 0

PyRwu.settings.USE_PYWORLD_CACHE
wavファイルと同一個所に、.npzファイルがあれば、wavの読み込み・f0,sp,apの解析を省略します。
Trueにすると、2回目以降の処理が早くなりますが、設定ファイルが存在しない1回目はより時間がかかるようになります。
実装しましたが、期待したほど高速化しない上にnpzファイルのサイズが大きいため、Falseにしておきます。
Type

bool, default False

USE_D4C_FILE: bool, default True

wavファイルと同一個所に、.d4cファイルがあれば、apの解析を省略します。
Trueにすると、2回目以降の処理が早くなりますが、設定ファイルが存在しない1回目はより時間がかかるようになります。
d4cファイルは、wavの20倍程度の容量になります。ファイルサイズが気になる場合は、Falseにしてください。
A4FRQ: float, default 440

基準となる音高

TONE_NUM: dict

UTAUから渡される音高名をnotenumに変換するための辞書
notenumはC1=24、C#1=25...B7=107で、以下の式で与えられる。
>>> notenum = (octave+1) * 12 + TONE_NUM[key]

PITCH_EFFECTS: list of effects.base.PitchEffectBase

ピッチ処理時に適用するエフェクトのクラスを指定する。

F0_EFFECTS: list of effects.base.EffectBase

synthesizeでf0に適用するエフェクトのクラスを指定する。

SP_EFFECTS: list of effects.base.EffectBase

synthesizeでspに適用するエフェクトのクラスを指定する。

AP_EFFECTS: list of effects.base.EffectBase

synthesizeでapに適用するエフェクトのクラスを指定する。

WORLD_EFFECTS: list of effects.base.WorldEffectBase

synthesizeで適用するエフェクトのうち、f0,sp,apの複数のパラメータを変更するクラスを指定する。

OUT_WAVE_EFFECTS: list of effects.base.EffectBase

synthesize後のwaveに適用するエフェクトのクラスを指定する。

OUTPUT_BITDEPTH: int, default 16

出力するwavのビット深度。8, 16, 24, 32のいずれかでなければなりません。

DEFAULT_FRAMERATE: int, default 44100

扱うデータのサンプル周波数

PyRwu.stretch module

PyRwu.wave_io module

Module contents

PyRwu

Py Resampler by World for UTAUの略です。

  • 飴屋/菖蒲氏によって公開されている、 Windows向けに作成された歌声合成ソフトウェア「UTAU」に同梱されている、 wavファイル伸縮用ソフトresampler.exeの代替機能を提供するプロジェクトです。

Usage

>>> usage: PyRwu.py [-h] [--show-flag]
                input_path output_path target_tone velocity [flags] [offset] [target_ms] [fixed_ms] [end_ms]
                [volume] [modulation] [tempo] [pitchbend]
param input_path

原音のファイル名

type input_path

str

param output_path

wavファイルの出力先パス

type output_path

str

param target_tone
音高名(A4=440Hz)。
半角上げは#もしくは♯
半角下げはbもしくは♭で与えられます。
type target_tone

str

param velocity

子音速度

type velocity

int

param flags

フラグ(省略可)

type flags

str, default ""

param offset

入力ファイルの読み込み開始位置(ms)

type offset

float, default 0

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

float, default 0

param fixed_ms

offsetからみて通常伸縮しない長さ(ms)

type fixed_ms

float, default 0

param end_ms
入力ファイルの読み込み終了位置(ms)(省略可 default:0)
正の数の場合、ファイル末尾からの時間
負の数の場合、offsetからの時間
type end_ms

float, default 0

param volume

音量。0~200(省略可)

type volume

int, default 100

param modulation

モジュレーション。0~200(省略可)

type modulation

int, default 0

param tempo
ピッチのテンポ
数字の頭に!がついた文字列
type tempo

str, default "!120"

param pitchbend
ピッチベンド。(省略可)
-2048~2047までの12bitの2進数をbase64で2文字の文字列に変換し、
同じ数字が続く場合ランレングス圧縮したもの
type pitchbend

str, default ""

class PyRwu.ShowFlagAction(option_strings, dest, **kwargs)

ベースクラス: argparse.Action

--show-flagオプションで実行された際に、フラグの詳細を表示します。