voicebank package

Submodules

voicebank.character module

class voicebank.character.Character(dirpath: str = '')

ベースクラス: object

Character.txtを扱います

name

VBの名前、与えられないときはフォルダ名

Type

str, default ""

image

アイコン画像のパス

Type

str, default ""

sample

サンプル音声のパス

Type

str, default ""

author

管理人名

Type

str, default ""

web

webサイトurl

Type

str, default ""

version

バージョン

Type

str, default ""

dirpath

音源のルートのパス

Type

str, default ""

author: str = ''
dirpath: str = ''
image: str = ''
load(dirpath: str)

dirpath\character.txt を読み込んで各パラメータを更新する。

パラメータ

dirpath -- 音源のルートディレクトリのパス

例外
  • FileNotFoundError -- character.txtが見つからなかった場合

  • UnicodeDecodeError -- ファイルがcp932でも環境の文字コードでもなかった場合

property name: str
sample: str = ''
save(encoding: str = 'cp932')

self.dirpath\character.txtencoding で保存する。

パラメータ

encoding (str, default "cp932") --

保存する際の文字コード
UTAU本体のGUIを考えるとcp932が無難

例外
  • OSError -- character.txtに書き込み権限がないとき

  • UnicodeDecodeError -- パラメータをcp932に変換できなかったとき

version: str = ''
web: str = ''

voicebank.frq module

frq

frq関係のデータを扱います。

class voicebank.frq.Frq(frqpath: str = '', framerate: int = 44100)

ベースクラス: object

frqファイルを扱います。

frqpath
frqファイルのパス
Type

str

framerate

wavのサンプリング周波数

Type

int, default = 44100

f0

f0データの1次元配列

Type

np.ndarray of np.float64

f0_avg

平均キー

Type

float

amp

音量データの1次元配列

Type

np.ndarray of np.float64

t

時間配列。原則として256sample毎に与えられる。

Type

np.ndarray

amp: numpy.ndarray
f0: numpy.ndarray
framerate: int = 44100
frqpath: str
load(frqpath: str, framerate: int)

frqpathで指定したファイルを開き、self.f0, self.f0_avg, self.amp, self.tを更新します。

パラメータ
  • frqpath (str) -- frqのパス。

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

例外

FileNotFoundError -- 指定したfrqファイルが存在しないとき

make(wavpath: str)

wavpathで指定したwavファイルを解析し、self.frqpath, self.framerate, self.f0, self.f0_avg, self.amp, self.tを更新します。

パラメータ

wavpath (str) -- wavファイルの絶対パス

例外
  • FileNotFoundError -- wavpathのwavファイルが見つからなかったとき

  • wave.Error -- input_pathで指定したファイルがwavではなかったとき

save()

self.frqpathで指定したパスにfrqファイルを保存します。

t: numpy.ndarray

voicebank.oto module

class voicebank.oto.Oto(dirpath: str = '')

ベースクラス: object

oto.iniのデータを扱います。

files() int

読み込んだoto.iniファイルの数を返す

戻り値

len(self._datas_by_file)

戻り値の型

int

haskey(key) bool
load(dirpath: str, recursive: bool = False, subdir: str = '')
dirpathおよびその子フォルダのoto.iniを読み込みself._datas_by_fileとself._valuesを更新する。
self._datas_by_fileはdirpathからの相対パスをキーに持つ辞書で、OtoRecord形式のlistを格納する。
self._valuesはaliasをkeyとする辞書で、self._datas_by_fileを参照する。
aliasの衝突が起きた場合、ファイル名が若いものを参照する。
同一ファイル内でaliasの衝突が起きた場合、offset値の小さいものを参照する。
パラメータ
  • dirpath (str) -- 音源のルートディレクトリのパス

  • recursive (bool, default False) --

    Trueにすると孫フォルダ以下のoto.iniも探索する。

  • subdir (str, default "") -- 音源ルートディレクトリからの相対パス

例外

UnicodeDecodeError -- ファイルがcp932でもutf-8でもなかった場合

records() int

読み込んだoto.iniの合計行数を返す

戻り値

len(self._values)

戻り値の型

int

class voicebank.oto.OtoRecord(otopath: str, filename: str, alias: str, offset: float, pre: float, ove: float, consonant: float, blank: float)

ベースクラス: object

oto.iniの各行のデータを扱います。

otopath

oto.iniのパス。voicedirからの相対パスで与えられる

Type

str

filename

wavファイルのファイル名

Type

str

alias

エイリアス

Type

str

offset

オフセット(setparamでいうところの左ブランク)

Type

float

pre

先行発声

Type

float

ove

オーバーラップ

Type

float

consonant

子音部(setparamでいうところの固定範囲)

Type

float

blank
ブランク(setparamでいうところの右ブランク)
正の値のときはwav末尾からのmsを表す。
負の値のときはオフセットからのmsの絶対値に-1をかけたものを表す。
Type

float

alias: str
blank: float
consonant: float
filename: str
invert_blank(dirpath: str)
self.blank値の正負を反転します。
blankは正の数の時、ノート末尾からの長さms
負の数の時、その絶対値がoffsetからの長さmsを表します。
パラメータ

dirpath (str) -- 音源のルートディレクトリのパス。

例外
  • FileNotFoundError -- os.path.join(dirpath, self.otopath, self.filename)のwavファイルが見つからなかったとき

  • wave.Error -- os.path.join(dirpath, self.otopath, self.filename)がwavファイルではなかったとき

offset: float
otopath: str
ove: float
pre: float

voicebank.prefixmap module

class voicebank.prefixmap.MapRecord(record: str)

ベースクラス: object

PrefixMapの各行のデータを扱います。

key
音名。C4,D#3,Ab5など
この値は、loadしたprefix.mapをsaveするときに活用します。
参照には活用しません。
Type

str

prefix
Type

str

suffix
Type

str

key: str
prefix: str
suffix: str
class voicebank.prefixmap.PrefixMap(dirpath: str = '')

ベースクラス: object

prefix.mapのデータを扱います。

load(dirpath: str, filename: str = 'prefix.map')

dirpath\prefix.map を読み込んでself._valueを更新する。

パラメータ
  • dirpath (str) -- 音源のルートディレクトリのパス

  • filename (str, default "prefix.map") -- ファイル名。UTAU本体の仕様では指定不要ですが、複数のprefix.mapを読み込む仕様を想定

例外
  • FileNotFoundError -- prefix.mapが見つからなかった場合

  • UnicodeDecodeError -- ファイルがcp932でもutf-8でもなかった場合

save(dirpath: str, filename: str = 'prefix.map', encoding: str = 'cp932')

dirpath\prefix.mapencoding で保存する。

パラメータ
  • dirpath (str) -- 音源のルートディレクトリのパス

  • filename (str, default "prefix.map") -- ファイル名。UTAU本体の仕様では指定不要ですが、複数のprefix.mapを読み込む仕様を想定

  • encoding (str, default "cp932") --

    保存する際の文字コード
    UTAU本体のGUIを考えるとcp932が無難

例外
  • OSError -- character.txtに書き込み権限がないとき

  • UnicodeDecodeError -- パラメータをcp932に変換できなかったとき

voicebank.voicebank module

class voicebank.voicebank.VoiceBank(dirpath: str, *, logger: Optional[logging.Logger] = None)

ベースクラス: object

UTAUの音源データを扱います。

dirpath

音源のルートパス

Type

str

character

character.txt

Type

Character

oto

oto.ini

Type

Oto

prefix

prefix.map

Type

PrefixMap

property character: voicebank.character.Character
property dirpath: str
static is_utau_voicebank(dirpath: str, *, logger: Optional[logging.Logger] = None) bool
渡されたパスがUTAU音源フォルダか判定する。
character.txt、oto.ini、.wavのいずれかがあればUTAU音源フォルダと判定する。
パラメータ

dirpath (str) -- 音源のルートパス

戻り値

is_utau_voicebank

戻り値の型

bool

例外

FileNotFoundErrod -- 指定したフォルダが見つからなかったとき

property oto: voicebank.oto.Oto
property prefix: voicebank.prefixmap.PrefixMap

Module contents