音楽とかソフトとか

OREMO ver.3.0-b120515を公開しました。→こちら

<主な変更点>
- (追加) oto.ini自動生成機能を追加した。
- (追加) 波形表示の縦軸を固定化した。
- (追加) PortAudioによる再生/録音機能を追加した。
- (追加) 再生時に位置を示すバーを表示させた。
- (追加) ガイドBGMの設定ファイル作成ツールを付属した。
- (変更) デフォルトのガイドBGMをmp3からwavに変更した。
- (修正) 小声の場合のF0抽出精度を上げた(処理時間は増えた)。
- (修正) 細かい修正。

今回の大きな更新点はoto.ini自動生成機能の追加です。この機能はMacOS版に付いていたものですがWindows版にもsetParam現状最新版を基に導入しました。これでOREMO単体でUTAU音源として必要なファイルが最低限揃うようになりましたので、バージョンを3.0に上げてみました。

以下各機能の詳細です。


<(追加) oto.ini自動生成機能を追加した>

oto.ini自動生成機能

上部メニューに「oto.ini生成」を追加しました。この機能を使うと原音設定の各パラメータを推定してoto.iniを自動生成します(setParam ver.2.0-b120309の同機能を移植しました)。推定には誤差があるのでより良い音源にするには手修正が必須ですが、収録してすぐにUTAUでテスト試聴したい、という用途程度には概ね耐えられると思います。収録途中で使用した場合は収録したwavだけでoto.iniを作ります。


<(追加) 波形表示の縦軸を固定化した>

OREMO ver.2.0系までは波形の大きさが画面いっぱいになるよう縦軸を自動調整していましたが、声の大きさのばらつきを見られるよう、縮尺を固定化できるようにしました(デフォルトは固定縮尺)。

縮尺を変更するには右クリック→「詳細設定」→「縦軸最大値」で値を変更して下さい。0にすると従来の自動縮尺になります。(後述の)量子化ビット数を16bit以外にする場合もこの値を変更して下さい。起動の度に設定するのが面倒という方は設定後「ファイル」→「現在の設定を初期化ファイルに保存」をご利用下さい。
波形縦軸の設定変更



<(追加) PortAudioによる再生/録音機能を追加した>

(この機能追加は初心者向けではありません)

これまでOREMOはSnackというライブラリで再生/録音してきました。Snackは最新版が約8年前という古いライブラリで、デバイスによっては認識されなかったり新しい方式に非対応だったりといった制約があります。加えて24bit量子化やサンプリング周波数の変更などのニーズ(例:UTAU以外の音声収録。wavの後処理(ノイズ除去等)をなるべく劣化させず行いたいなど)にも対応できませんでした。

そこで今回PortAudioというライブラリでも再生/録音できるようにしてみました。デフォルトでは無効にしているので、必要に応じて以下の手順で設定して下さい。

1. 「オプション」→「オーディオI/O設定」で窓を開く。
2. PortAudioで「録音する」や「再生する」にチェックを入れる。
PortAudioの設定
チェックを入れると外部録音ツール(oremo-recorder.exe)や外部再生ツール(oremo-player.exe)がバックグラウンドで常駐起動します。チェックを外せば常駐終了します。

次に収録したい用途に応じて以下の項目を変更して下さい。
入力デバイス: 録音デバイスや方式を選ぶ。
出力デバイス: 再生デバイスや方式を選ぶ。(通常は、入力と同じ方式を選んで下さい)
サンプリング周波数: 収録wavのサンプリング周波数を指定する。
形式(量子化ビット): 16bit、24bit、32bit、floatのいずれかを指定する。
入力チャンネル数: 1=モノラル録音、2=ステレオ録音。
バッファサイズ: 一回の処理でどれだけのデータを入出力するかを指定する。

設定を変更したら必ず「OK」または「適用」を押して下さい(押すまでは設定が有効になりません)。また必ず本番前にテスト収録して正しく録音出来ていることを確認して下さい。

(以下細かい補足など)
動作確認についてです。私の方では、OS=Windows7/XP、オーディオIF=US-144mkII/AudiophileUSB/マザーボード内蔵、形式=MME/DirectSound/WASAPI/WDMで、48kHz、24bit、2chでの録音・再生テストを行いました。その結果、WDMの再生が駄目なケースがありましたが、他の形式では録音再生共に動きました。しかし他のPCの環境でも安定して動くかどうかはまだ分かりません。

また(現状ほとんど利用されていないと思いますが)、以前のこちらの記事で使ったような自動収録法、つまり一つの長い曲を再生しながら複数の音を自動収録していく場合、PortAudioで録音・再生を行うとうまく収録されません。原因はOREMO本体の実装にあり解決策も把握出来ていますが、それは今後の課題としておりますので、現状では再生=Snack、録音=Snack or PortAudioに設定して下さい。デフォルト付属の自動収録(のように一BGMあたり一音収録する設定)であれば録音・再生共にPortAudioを使って大丈夫です。

なお、PortAudioはASIOに対応していますが、OREMOが配布するPortAudioはASIO非対応版です。これはライセンス上の問題です(OREMOは現状GPLなので、ASIOドライバを再配布出来ません。AudacityもOREMOと同じくGPLでPortAudioを使っているためこのページの説明にあるようにASIO非対応版を配布しているようです)。

もしどうしてもASIOで録音再生したい場合は各自でASIOSDKとPortAudioのソースからdllファイル(portaudio_x86.dll)を作成し、OREMOのtoolsフォルダ下の同名ファイルと置き換えて下さい。そうすると入出力デバイス選択時にASIOも選べるようになります。なお、OREMOは(処理速度の遅い)Tcl/Tkで実装していることもあり、レイテンシについてはASIOにしてもあまり改善されないのではないかと思います。

(参考)
ASIO対応dll作成手順(英語)→こちら

(その他の制限事項や補足等)
※現状ではmp3非対応ですので自動収録のガイドBGM等はwav形式にして下さい。
※音叉機能はPortAudioでは使えません。メトロノーム機能も不安定です。
※PortAudioの設定は現状では初期化ファイル(oremo-init.tcl)に反映させていませんので起動の度に設定を行って下さい。
※PortAudioはMacOSに対応しています。今回のWindows版が安定して動くようであれば、現在公開しているMacOS版OREMOの録音周りのバグも同様のアプローチで改善できるかもしれません。


<(追加) 再生時に位置を示すバーを表示させた>

再生時にオレンジ色のシークバーが表示されます。
再生シークバー



<(追加) ガイドBGMの設定ファイル作成ツールを付属した>

自動収録のガイドBGMはユーザがカスタマイズして好みのBGMに差し替えられますが、そのための簡易な作成支援ツールを用意しました。

guideBGMフォルダの下のkorede.exeを実行すると以下のような窓が出ます。
KOREDE


ガイドBGMにしたいwavを開き、各イベントの時刻を設定し、「保存」を押せば収録用の設定ファイルを作成できます。例図の場合「C:\foo\bar\tmp.wav」というwavファイルを開いたので「C:\foo\bar\tmp.txt」という設定ファイル名で保存されます。また、主要イベント間の音は右端の再生ボタンで試聴できます。

なおこれは簡易ツールですのでデフォルトBGMのような単純な自動収録パターンのみ作成可能です。必ずイベント発生時刻は「No.」の順番に並ぶようにして下さい。

なお設定ファイルの細かい仕組みを知るにはデフォルト付属のF4-100bpm.txtをご覧下さい。


<(変更) デフォルトのガイドBGMをmp3からwavに変更した>

今回追加したPortAudioはwav専用なので付属のガイドBGMをwavに変更しました。Snackを利用する場合はこれまで同様mp3を利用できます。



< (修正) 小声の場合のF0抽出精度を上げた>

小声でもF0抽出されるようにしてみました(内部的にはF0抽出前に波形をノーマライズさせています)。これは量子化ビットが16以外の波形でもF0抽出させるための実装だったのですが、16bit録音でもF0抽出精度が上がったかなと思います。反面処理速度は下がることになりますが。
スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

使用感想

試しに「あ」だけですがとってみました。
やはり2.0版より見やすくて高品質ですね。
そのうち全部の音を取って私もUTAU音源になりたいです。

角材 | URL | 2012年05月25日(Fri)19:51 [EDIT]


Re: 使用感想

動作確認ありがとうございます。人違いでなければ角歌ザイで音源公開されたみたいですね。

nwp8861 (耳ロボP) | URL | 2012年05月27日(Sun)12:35 [EDIT]