音楽とかソフトとか

setParam ver.3.0-b130713 を公開しました→ダウンロード

setParamは元々OREMO ver.2.0の一機能だったもので、初公開時からずっとver.2.0-b日付という形で進めてきましたが、そろそろ番号を増やしておこうかなと思い3.0にしました。3.0としての大きな追加機能はアンドゥ・リドゥだろうと思います(そういえばVOCALOIDも3になったときにアンドゥ回数が増えたと聞いていますし)。

しかし以下のとおり機能追加より修正数が多めです。アンドゥ実装にあたって各関数を変えたりテストしたりしたので色々と出てきました。(逆に今回色々といじったため新たにエンバグしたものがあるかもという疑念もあります)

<追加5点>
- アンドゥ機能を追加した。(以前実装していた手動アンドゥ機能は廃止)
- 再生時に現在の再生位置をオレンジ色の実線で示すようにした。
- 「左」「オ」「先」「子」「右」を中クリックすると、そこまでの音を再生するようにした。なお「左」はファイル冒頭から左ブランク位置まで、他は左ブランク位置から各位置までを再生する。
- 連続音自動推定で、表示中の波形の原音設定値を自動推定の設定値として取り込めるようにした。
- 一覧表の右クリックメニューに行の複製、削除を追加した。

<変更7点>
- oto.iniを読んだときに最初のデータの右ブランク値の符号に合わせてsetParamの設定(オプション→右ブランク値の表現方法)を自動で変えるようにした。
- 複数のファイルを処理する際にはファイル名でソートした順で処理するようにした。
- 各設定の数値入力欄で数字以外の文字を入力できないようにした。
- 自動推定プラグイン実行時など、パラメータ消去に関する警告窓をいくつか省略した。
- 複数行選択したときに行削除出来ないようにした(以前は先頭行のみ削除していた)。
- 一覧表で左ブランクにペーストしたときには、マウスで左ブランクを動かしたときの動作設定に関わらず、左ブランク値のみを書き換えるようにした。
- ActiveTclのバージョンを8.5.14.0.296777にした。

<修正18点>
- 各設定窓でテキスト入力欄などをダブルクリックすると実行ボタンを押したときにエラーが出るケースに対処した。
- 初期化ファイルに各パラメータ(自動推定、F0・パワー抽出、発生タイミングチェック、ゼロクロス補正)の設定を保存するようにした。
- 連続音の自動推定その2(MFCCベース)で、wavファイル名冒頭以外に「_」を含む場合にエラーが出るバグを修正した。
- 一覧表の数値入力欄で空白入力を無視するようにした。
- マウスで先行発声を動かしたとき他パラメータも動かすモードの挙動を変更した(先行発声値が未定義のときにF3を押した場合に各パラメータが動かないようにした)。
- マウスでパラメータを動かしたときに波形右端より右に動かせてしまうケースに対処した。
- パラメータ一覧表の行削除(Ctrl+d)実行時に画面が最新の状態に更新されないバグを修正した。
- フォルダを変更したときに窓タイトルの(*)を消すようにした。
- 右ブランク値の符号を一括変更したときに編集済みを示す印(*)が窓タイトルに出ないバグを修正した
- 右ブランク値がすべて0のときに右ブランクの符号設定を負にした場合、値の変換ダイアログが出ないバグを修正した。
- 極端に大きな(or小さな)値の入力は無効にした(-1000000 <= x <= -1000000の範囲の値は受け付ける)。
- 一覧表をキーボード操作で移動した際に内部変数の現在地が更新されないバグを修正した
- ustの歌詞を読んで原音設定対象を絞り込む機能で、エイリアスやコメントの空欄に0が入力されるエラーを修正した。
- ステレオwavに対してパラメータの自動推定をかけるとエラーを起こすバグを修正した。
- 一覧表で空欄をコピー&ペーストしたときにエラーが出ないようにした。
- 選択範囲に単独音自動推定を適用した直後に一覧表を編集出来ないバグを修正した。
- パラメータ一括変更(ctrl+m)で入力欄が空欄の場合にエラーが出ないようにした。
- 一覧表でCtrl+xするとセルの内容が消えるので、"切り取り"機能を実装した。

以下追加/変更機能の一部の説明です。



<アンドゥ機能>

アンドゥはCtrl+z、リドゥはCtrl+yまたはCtrl+Zです。その他上部の「アンドゥ」メニューからもアンドゥ/リドゥできます。こちらには処理内容が表示されます。

アンドゥ


アンドゥ回数上限の設定法についてです。setParam-setting.iniundoLimit=200という行があります。この200が(かなり大まかな)アンドゥ用メモリの上限を表しており、200MByteに近くなって来たら古い方のアンドゥデータから削除するようになります。undoLimit=0にするとアンドゥ機能を無効にします。undoLimit=-1など負の値にすると回数上限が無制限になります。

なお、Tcl/Tkという言語のメモリ管理はC言語のように厳密に行えません。本設定値はあくまでも目安とお考え下さい。それなりにメモリを積んだPCなら-1が良いと思います。



<再生の強化>

現在の再生位置をオレンジ色の実線で示すようにしました。手元のPCでは、再生停止のタイミングと実線の消えるタイミングとが少しずれるようにも思いますが、ご容赦下さい。

再生バー


また「左」「オ」などの各パラメータ名を中ボタンクリックすると、そこまでの音を再生するようにしました。「左」ではファイル冒頭から左ブランクまで、他は左ブランクから各パラメータ位置までを再生します。



<連続音自動推定の機能追加>

これまでの連続音自動推定の設定窓ではテンポを設定して「収録テンポから各値を初期化」を押すと各パラメータの値を算出するようになっていました。今回それに加えて、「現在表示中の設定を取得」というボタンを追加しました。どれか波形を表示して原音設定を行いこのボタンを押すと、その各設定値が自動推定の設定値として取り込まれます。

連続音自動推定の機能追加


またMFCCによる自動補正機能を以前の版から使えるようにしていますが、恐らくver.2.0-b111007からwavファイル名の冒頭以外に「_」を含む場合にエラーが出るようになっていました。本バージョンで修正し、また、デフォルトでは本補正機能をOFFにしました。いずれまたいじって精度を上げたいなあとは思います。



<右ブランク値の符号について>

これまでは「オプション」→「右ブランク値の表現方法」で、右ブランク値を正にするか負にするか手動で切り替えるようにしていました。いちいち手で変えるのも面倒なので、oto.iniを読んだときにはその最初のデータの右ブランク値の符号をみて正負の設定を自動で切り替えるようにしました。



<wavファイルの処理順について>

複数のwavファイルを一括処理するような場面で、これまではTcl/Tkが指定したファイル順で処理するようにしていましたが、ファイル名でソートした順序で処理されるように変更しました。



<行の複製/削除>

これまで一覧表での行を複製/削除するにはショートカットキー(複製=Ctrl+i、削除=Ctrl+d)を覚えておく必要がありましたが、右クリックメニューでも選べるようにしました。

行の複製/削除






以上、今回はいつもよりソースの書き換えが多くなりました。一つ一つの変更に対して実行テストはやったつもりですが、どこかに抜けがあるかもしれません。もしエラーを見つけた場合には(こちらで再現できるようなるべく具体的に)ご連絡頂ければ幸いです。

スポンサーサイト

PageTop