set dirValue "C:\\Program Files\\UTAU\\voice"	;# 最初に選択されるディレクトリ名。デイレクトリの区切り記号には"/"または"\\"を使うこと。デイレクトリ名に"$[]{}"の文字がある場合はその文字の直前に"\"を入れること。
set OUTFILE {$dirValue/analyzeresult.ini}	;# 解析結果の保存先。デイレクトリの区切り記号には"/"または"\\"を使うこと。ファイル名に"$[]{}"の文字がある場合はその文字の直前に"\"を入れること。$dirValueを指定すると選択したディレクトリになる(ただしファイル名は'""'ではなく'{}'で囲むこと)。
# set OUTFILE {$dirValue/oto.ini}		;# 解析結果の保存先。デイレクトリの区切り記号には"/"または"\\"を使うこと。ファイル名に"$[]{}"の文字がある場合はその文字の直前に"\"を入れること。$dirValueを指定すると選択したディレクトリになる(ただしファイル名は'""'ではなく'{}'で囲むこと)。
set DISDIRNAME 1				;# 1で解析結果の先頭に原音ファイルのあるディレクトリ名を記録しない

set DISPVER 0					;# 1でバージョンを表示する
set DISPFILE 1					;# 1で処理したファイル名を表示する
set ENFILTER 1					;# 1で解析時にフィルタを使用する
set FILTERDELAY 0				;# 1でフィルタの遅延を考慮する
# set OUTFORM ""				;# ""で出力桁数の制限なしで出力する。
set OUTFORM "%s=%s,%.1f,%.1f,%.1f,%.1f,%.1f"	;# ""で出力桁数の制限なしで出力する。

set RELTRIMLEVEL1 0.025				;# 無音と判断する最大音量からの倍率(音の開始時)
set RELTRIMLEVEL2 0.05				;# 無音と判断する最大音量からの倍率(音の終了時)
set MINTRIMLEVEL1 30				;# 無音と判断する基準値の最低値(音の開始時)
set MINTRIMLEVEL2 60				;# 無音と判断する基準値の最低値(音の終了時)
set PROBLEVEL1 0.95				;# 母音と判断するf0の自己相関係数
set FILTERDMINTRIMCOEFF 0.75			;# フィルタを使用した場合に判断値に掛ける係数
set FILTERDPROBLEVEL 0.25			;# フィルタを使用した場合に母音と判断するf0の自己相関係数

set tap2 44 					;# (タップ数-1)/2の値。この値の倍の値がフィルタの次数。フィルタ長はこの値の倍+1。
set fs 44100					;# サンプリング周波数
set fc1 1000					;# バンドパスフィルタの低い側の遮断周波数。ローパスフィルタにしたい場合はfc1の値を0にする
set fc2 22050					;# バンドパスフィルタの高い側の遮断周波数。ハイパスフィルタにしたい場合はfc2の値をfs/2にする

set MAXPITCH 400				;# Pitch検出の最大周波数
set MINPITCH 60					;# Pitch検出の最小周波数
set FRAMEINTERVAL 0.01				;# Frame間隔 (秒)

set LOWPWRTYPE "さ,し,す,せ,そ,ち,つ,は,ひ,ふ,へ,ほ"	;# 子音部の音量が小さい音で子音部の先頭を削られると発音が変わる音
# set LOWPWRTYPE "さ,し,す,せ,そ,ち,つ,は,ひ,ふ,へ,ほ,ざ,じ,ず,ぜ,ぞ"	;# 子音部の音量が小さい音で子音部の先頭を削られると発音が変わる音

set LOWPWRCOEFF 0.5						;# 子音部の音量が小さい音に対して判断値に掛ける係数

set TYPE1 "あ,い,う,え,お,を,ん"			;# 先行発声・オーバラップ共に設定しない
set TYPE2 "か,き,く,け,こ,た,て,と,てぃ,とぅ,が,ぎ,ぐ,げ,ご,だ,で,ど,ば,び,ぶ,べ,ぼ,ぱ,ぴ,ぷ,ぺ,ぽ"		;# 頭にブランクを残してその分先行発声を設定
set TYPE3 "さ,し,す,せ,そ,ざ,じ,ず,ぜ,ぞ"				;# /先行発声の値は子音部分の真ん中より右寄りに設定。オーバーラップは先行発声から左に50msec位に設定
set TYPE4 "つ,つぁ,つぃ,つぇ,つぉ,ち,ちゃ,ちゅ,ちぇ,ちょ"					;# 先行発声は値は子音部分の真ん中より右。オーバーラップは設定しない。
set TYPE5 "な,に,ぬ,ね,の,ま,み,む,め,も,や,ゆ,よ,いぇ,ら,り,る,れ,ろ,わ"		;# 先行発声は値は頭から20〜25msec程度のところに設定。オーバーラップは頭の立ち上がり分くらい。
set TYPE6 "は,ひ,へ,ほ,ふ,ふぁ,ふぃ,ふぇ,ふぉ"				;# 先行発声の値は子音部分の真ん中より右寄り、サ行よりも母音部の頭に接近にさせて設定。オーバーラップは先行発声から左に50msec位に設定


set TYPE2ADDBLANK 0.02					;# TYPE2で頭にブランクを残してその分先行発声を設定する場合のブランクを残す秒数
set TYPE3SENKORATE 0.6					;# TYPE3で検出した子音部の先行発声に割り当てる割合
set TYPE3OVERLAP 0.05					;# TYPE3で設定するオーバーラップから先行発声までの秒数の最大値
set TYPE4SENKORATE 0.6					;# TYPE4で検出した子音部の先行発声に割り当てる割合
set TYPE5SENKO 0.02					;# TYPE5で設定する先行発声の秒数
set TYPE5OVERLAP 0.01					;# TYPE5で設定するオーバーラップの秒数
set TYPE6SENKORATE 0.8					;# TYPE6で検出した子音部の先行発声に割り当てる割合

set TYPE6OVERLAP 0.05					;# TYPE6で設定するオーバーラップから先行発声までの秒数の最大値

# 解析処理開始前に1回だけ実行させるTclスクリプト
set startscript {
	set defTYPE3SENKORATE $TYPE3SENKORATE		;# TYPE3SENKORATEのデフォルトのパラメータ値をdefTYPE3SENKORATEに保存
	set defTYPE3OVERLAP $TYPE3OVERLAP		;# TYPE3OVERLAPのデフォルトのパラメータ値をdefTYPE3OVERLAPに保存
	set skipcount 0					;# ファイル名がaeiou以外のアルファベット,数字,"_"で始まり1回以上繰り返して終わるwavファイルの個数を数えるためのカウンタの値を初期化
	set changecount1 0				;# ファイル名が"↑"で終わるwavファイルの個数を数えるためのカウンタの値を初期化
	set changecount2 0				;# ファイル名が"↓"で終わるwavファイルの個数を数えるためのカウンタの値を初期化
}

# 各wavファイルの処理前に毎回実行させるTclスクリプト
set repeatscript {
	set shortfile [file tail [file rootname $wavfile]]		;# 拡張子とpath名を除いたファイル名をshortfileにセット。$wavfile変数には処理しようとしている.wavファイルのファイル名がフルパスで入っている。
	if {[regexp -nocase {^[b-df-hj-np-tv-z0-9_]+$} $shortfile]} {	;# ファイル名がaeiou以外のアルファベット,数字,"_"で始まり1回以上繰り返して終わるか。
		incr skipcount						;# skipcountの値に1をプラス。C言語でいうとskipcount++に相当する命令。
		continue						;# マッチするなら今のファイルの処理をスキップする。
	}
	if {[string match -nocase {*↑} $shortfile]} {			;# ファイル名が"*↑"とマッチするか。
		incr changecount1					;# changecount1の値に1をプラス。C言語でいうとchangecount1++に相当する命令。
		set TYPE3SENKORATE 0.5					;# TYPE3SENKORATEに新しい値を設定
		set TYPE3OVERLAP 0.04					;# TYPE3OVERLAPに新しい値を設定
	} elseif {[string match -nocase {*↓} $shortfile]} {		;# ファイル名が"*↓"とマッチするか。
		incr changecount2					;# changecount2の値に1をプラス。C言語でいうとchangecount2++に相当する命令。
		set TYPE3SENKORATE 0.7					;# TYPE3SENKORATEに新しい値を設定
		set TYPE3OVERLAP 0.06					;# TYPE3OVERLAPに新しい値を設定
	} else {							;# 拡張子とpath名を除いたファイル名がどれにもマッチしない場合
		set TYPE3SENKORATE $defTYPE3SENKORATE			;# TYPE3SENKORATEにstartscriptで保存しておいたデフォルトのパラメータ値を設定
		set TYPE3OVERLAP $defTYPE3OVERLAP			;# TYPE3OVERLAPにstartscriptで保存しておいたデフォルトのパラメータ値を設定
	}
}

# すべてのファイルの解析処理終了時に1回だけ実行させるTclスクリプト
set endscript {
	.f2.t0 configure -state normal													;# textウィジェットの書き換え禁止を解除する
	.f2.t0 insert end "スキップ回数=$skipcount\nパラメータ変更回数(↑)=$changecount1\nパラメータ変更回数(↓)=$changecount2\n"	;# textウィジェットのテキスト末尾にカウントした値を表示
	.f2.t0 configure -state disabled												;# textウィジェットを書き換え禁止にする
}


#aliasを指定する。ファイル名とaliasを1組にして並べる。ファイル名は大文字・小文字を区別する。(.wavと.WAVは別物として扱うので注意)
set aliaslist {
	あ.wav a
	い.wav i
	う.wav u
	え.wav e
	お.wav o
	か.wav ka
	き.wav ki
	く.wav ku
	け.wav ke
	こ.wav ko
	さ.wav sa
	し.wav shi
	す.wav su
	せ.wav se
	そ.wav so
	た.wav ta
	ち.wav chi
	つ.wav tsu
	て.wav te
	と.wav to
	な.wav na
	に.wav ni
	ぬ.wav nu
	ね.wav ne
	の.wav no
	は.wav ha
	ひ.wav hi
	ふ.wav fu
	へ.wav he
	ほ.wav ho
	ま.wav ma
	み.wav mi
	む.wav mu
	め.wav me
	も.wav mo
	や.wav ya
	ゆ.wav yu
	よ.wav yo
	ら.wav ra
	り.wav ri
	る.wav ru
	れ.wav re
	ろ.wav ro
	わ.wav wa
	ん.wav n
	が.wav ga
	ぎ.wav gi
	ぐ.wav gu
	げ.wav ge
	ご.wav go
	ざ.wav za
	じ.wav ji
	ず.wav zu
	ぜ.wav ze
	ぞ.wav zo
	だ.wav da
	で.wav de
	ど.wav do
	ぱ.wav pa
	ぴ.wav pi
	ぷ.wav pu
	ぺ.wav pe
	ぽ.wav po
	ば.wav ba
	び.wav bi
	ぶ.wav bu
	べ.wav be
	ぼ.wav bo
	きゃ.wav kya
	きゅ.wav kyu
	きぇ.wav kye
	きょ.wav kyo
	ぎゃ.wav gya
	ぎゅ.wav gyu
	ぎぇ.wav gye
	ぎょ.wav gyo
	しゃ.wav sha
	しゅ.wav shu
	しぇ.wav she
	しょ.wav sho
	じゃ.wav ja
	じゅ.wav ju
	じぇ.wav je
	じょ.wav jo
	ちゃ.wav cha
	ちゅ.wav chu
	ちぇ.wav che
	ちょ.wav cho
	つぁ.wav tsa
	つぃ.wav tsi
	つぇ.wav tse
	つぉ.wav tso
	にゃ.wav nya
	にゅ.wav nyu
	にぇ.wav nye
	にょ.wav nyo
	ひゃ.wav hya
	ひゅ.wav hyu
	ひぇ.wav hye
	ひょ.wav hyo
	ぴゃ.wav pya
	ぴゅ.wav pyu
	ぴぇ.wav pye
	ぴょ.wav pyo
	びゃ.wav bya
	びゅ.wav byu
	びぇ.wav bye
	びょ.wav byo
	みゃ.wav mya
	みゅ.wav myu
	みぇ.wav mye
	みょ.wav myo
	いぇ.wav ye
	りゃ.wav rya
	りゅ.wav ryu
	りぇ.wav rye
	りょ.wav ryo
	てぃ.wav ti
	とぅ.wav tu
	ふぁ.wav fa
	ふぃ.wav fi
	ふぇ.wav fe
	ふぉ.wav fo
	すぃ.wav si
	ずぃ.wav zi
	でぃ.wav di
	どぅ.wav du
	でゅ.wav dyu
	てゅ.wav tu
	うぃ.wav wi
	うぇ.wav we
	うぉ.wav wo
}
