音楽とかソフトとか

OREMO ver.1.01を公開しました→こちら

<変更点>

「ツール」→「オーディオI/O設定」で以下のオーディオデバイスの設定窓が開きます。

ioSettings.png

入力デバイスのところで、選択可能なデバイスが複数出ますので、もし録音ができないようでしたらここを変更して「適用」または「OK」を押し、再度録音できるか試してみてください。なお、文字化けした項目が出たりしますが、snackライブラリの仕様のようです(wavesurferでも出ますので)。

入力ゲインは、snackマニュアルによると入力音量を0~100の間で指定します…が、私の手元のPCではここの設定は反映されないようでした(オンボードのオーディオデバイス、SoundBlaster Audigy、M-AUDIO Audiophile USBでチェックしました)。Windowsのボリュームコントロール等を使う方が無難だと思います。

録音できない(無音が録音される)という方は一度試してみて下さい。またお使いのオーディオデバイスが何かも教えていただけると助かります。よろしくお願いします。

zipに同梱したマニュアルにはこれらのことを追記していますが、webページのマニュアルはまだver.1.0のままです。

スポンサーサイト

PageTop
コメントで、OREMOで録音できない(無音のwavファイルが保存される)という報告をいただきました。wavesurferでも録音できないそうです。

今の時点で、OREMO実装の方で思いつくこととしては以下のことが挙げられます。
・オーディオ入力デバイスの選択メニューを追加
・入力音量を指定するメニューを追加

wavesurferだとFile→Preferences→Sound I/OタブのInput device:で入力デバイスを選べるようになっています。もしここをいじって録音できる状況でしたら、恐らく上記の実装をすれば録音できるようになると思います。

ひとまず実装してみますのでしばらくお待ち下さい。。

<追記1>
取り急ぎ、こういう窓を作りました。
ioSettings.png

いくつか気になるところがありますが、この窓で入力デバイスを変更すれば、録音できるかもしれません。
手元のPCで少し検証した後で、ver. 1.01にしてアップロードします。

PageTop
こちらも随分と遅くなってしまいましたが、朝焼けサイクリングのmp3、UTAU用ust、オケMIDIファイル、REAPER用RPPファイルを上げました→こちら

OREMO ver.1.0 説明動画で使ったインストmp3も上げてあります。

朝焼けサイクリングの方は、ustファイルの使い方が整理されていないので、とりあえず好きな声を入れて好きにミックスした方が早いかもしれません。原曲どおりにする場合、同梱のRPPファイルを解析していただく必要があります。


mp3関係は、あと れいんどろっぷ~が残っています。。

PageTop
OREMO ver.1.0 公開しました→こちら

↓は前回上げた動画で説明しなかった部分を説明した動画です。実演デモは入れていません。


大半の追加機能はこれまでブログに書いていたと思いますが、以下のキーバインド追加は書いていなかったと思います。

<キー操作>
2,8・・・音名変更(上下矢印キーと同じ)
4,6・・・発声タイプ変更(左右矢印キーと同じ)
0・・・押している間録音(rキーと同じ)
5・・・再生(スペースキーと同じ)
Ctrl+2,4,6,8・・・音名または発声タイプ変更。ただし直前に録音した音を破棄する。

テンキーのnum lockをかけて、右手のみで操作することを想定しています。

----
BGMはファミコン音源のVST(famisynthとtb_peachとtb_toad)で作りました。ファミコンに比べると音数多すぎです。

----
これでソフトの方に特にバグが出なければmp3作成に移れます。。

PageTop
htmlの説明関係を上げました→こちら。肝心のzipファイルはまだアップロードしていません。

tclファイル→exeファイルの作業過程で一つ問題(tcl/tk ver.8.5でexe化に失敗、8.4だと成功するがF0表示である操作をすると落ちる)が出たので試行錯誤中です。

他にもいろいろ書きたいことがありますが取り急ぎ。。

つづきを表示

PageTop
忙しくなってきて作業が遅れ気味です。ひとまずREADMEはほぼ終わりました。あとはHTMLを作って、zipファイル作成。。

PageTop
ソフト名は他に良い案を思いつかなかったのでこのままOREMOでいきます。まだ実装したいことがありますが、今後の課題ということにして公開準備に移ろうと思います。短いBGMだけ既にできています。

とりあえず前回投稿から変更したことと今後実装したいことをメモっておきます。

<前回の投稿からの変更点>

・詳細設定のレイアウトを若干変更、サンプリング周波数を設定可能に

・音名や発声タイプをマウスで選ぶ場合、窓左側のリストボックスを、、、
 ・クリック→直前に録音した音を保存してジャンプ
 ・ctrl+クリック→直前に録音した音を保存せずジャンプ

<思いつくToDO(実装しないものもあるかもしれません。とりあえずメモ)>

・キー操作をテンキーにも割り当てて右手だけで操作できるようにする

・音名、タイプのリストをマルチカラムリストにする
 ・録音済みの音の色を変える

・両端の無音が長い場合には、自動的に無音削除するとか

・手動で選択した範囲を削除できるようにするとか(発声の両端でノイズが入ったときなどに見た目が気持ち悪いかなと思ったので。UTAUでは原音設定を行えば良い話なのでどうでもよいことだとは思います)

・マウスに追従する十字線表示(わぶでばで実装済み)

・詳細設定を自動保存して次回実行時に自動読み込み

・ノーマライズ。場合によっては録音後に自動的に実行。でも息.wavなど音が小さい音収録のときは注意しないと耳が壊れるかも

・録音済みのファイル数をカウントして表示

・F0、パワーの抽出パラメータをチューニング

・録音した音をその場でUTAUで合成させて試聴できたら便利かも。。

PageTop
動画を上げてからいくつか実装しましたが、一番面倒だった詳細設定の実装がほぼ終わりました。
OREMO-詳細設定

開発方針(手軽さ・気軽さ・簡単さ)に反してごちゃごちゃした窓になってしまいました。なるべくなら触らないですむ窓であって欲しいのですが、収録時のF0(ピッチ)をよく見たいという人は窓の右側にある「描画範囲を固定する」、「各音の線を描画する」、「発声したい音の線を描画する」の欄を触った方が良いかもしれません。

<描画範囲を固定する>
固定するのチェックが無い場合、録音の度に収録音のF0に応じて表示の範囲が変わってしまいます。チェックがある場合、指定した音の範囲に固定することができます。デフォルトはチェックありです。でもデフォルトの音の範囲は広くとってあるので、もっと狭くした方がF0の変動を見れると思います。

(デフォルトでは広めにとっておかないと、ユーザの音域によってはF0が表示されないケースが出てきてしまいますので)

<各音の線を描画する>
半音ずつ横線をひきます。どの線がどの音かは表示されません。デフォルトはOFFです。

<発声したい音の線を描画する>
指定した音の横線をひきます。
例えばC3のキーで収録しよう、と決めた場合、ここをC3にすることで、自分の発声がC3に合っているかどうか目視チェックできます。デフォルトはOFFです。

表示例(赤線が発声したいF0、白が半音刻みの横線)
OREMO-F0表示

これらの機能がUTAUボイスライブラリ作成で必要かというと必ずしも必要ではないと思いますが、決めたキーのとおりに歌っておいた方が整っていて気持ち良いだろうなと思って実装しました。

なお、今のところ、これらの設定変更はソフト起動の度にやらないといけません。ソフト終了時に設定を保存するような仕組みにした方が親切だろうと思います。

あと、図の縦軸の単位はセミトーン(半音で1ずつ増える、12で1オクターブ。表記はstの二文字に略記しています)にしています。詳細設定でHz単位に変更可能です。セミトーンの絶対値が合っているのかちょっと自信なかったりします(ものの本などでセミトーンの説明を読むと、基準音に対する比という形で計算式が説明されていたのですが、基準音を何Hzとするかで値がずれるはずです。半音で1上がることは確認しましたので、相対的な音のずれを見る分には何の問題もないと思いますが)。

それとピッチ関係のオマケ機能ですが、音叉みたいな意味合いの窓を実装してみました。
OREMO-音叉窓

指定したキーの音を聴けた方が良いのかなと思って付けました。

あとは、、わぶでばと同じやり方で波形の拡大縮小ができます(SHIFT+ホイールで縦方向の拡大縮小、Ctrl+ホイールで横方向の拡大縮小)。また、波形右クリックでスペクトルやF0などの表示/非表示を切り替えられます。

まだまだ実装したい機能はあるのですが、詳細設定を作れたのでこれで公開までの山は越えられたかなと思います。

--------
p.s.
何となく誤解してそうな予感がしますが、朝焼けサイクリングfull版希望というのはmp3やust,midなどを準備すれば良いのかなと解釈しています。。

PageTop
「耳のあるロボットの唄」の動画コメントを読むと、既にカラオケ配信が決まったと誤解されている方も若干いらっしゃるようです。前回のメールのやり取りからしばらく時間が経ちましたので、数日前にエクシング社の担当の方に「耳のあるロボットの唄」のカラオケ化の現状を尋ねるメールをお送りし、回答をいただきました。

一言に要約すると、現状はテト関係の方と打ち合わせを行っている段階とのことです。テト関係の方もお忙しいと思いますので、どうかご無理のないようにお願いいたします。気長に待っております。

あと、エントリー依頼のあった「汽笛」「ぐるぐる大航海」についても同様に話を進めていくことになる予定です。

PageTop
OREMO(仮)の説明とデモの動画を上げました。



BGMは朝焼けサイクリングの後半に別のフレーズを入れたものです。最後のハモリが少し濁っているというか修正したい気分なのですが妥協しました。
ボーカルは重音テト、桃音モモ、穂歌ソラ、天音ルナの4人です。

追加分:
君のことがとても気になるよ
君のことがとても好きだよ
君の言葉とても気になるよ
君の声がとても好きだよ

読みようによってはボイスライブラリをダウンロードしている人の気分に重なるかなあと思って付けました。でもその方向にするなら、いっそ「白んだ空をにらみつけ」を「歪んだ空をにらみつけ」などの表現にしていった方がSFっぽくて良いかもとも思います。

----
まだ良いソフト名を思いつきません。このままOREMOになるかも。。

あと、録音の「r」キーは単にrecordの「r」から来ていますが、矢印キーの近くのキーを割り当てる方が右手だけで操作できるので良いかなとも思います。全部テンキーに割り当てるのも良いかもしれません。

----
ノイズ除去機能に関するコメントを頂きましたが、多分ノイズプロファイリング付きのノイズ除去があると良いということですよね?確かにwavがバラバラになると一つ一つにノイズ除去をかけるのは大変だと思います。一方でプログラマ側の立場では、ノイズプロファイリング付きのノイズ除去を自前で実装するのは大変そうです(私は仕組み自体よく知りません。ノイズ部分のフーリエ級数を引いているとか??)。

少し調べると、Audacityのver.1.3(現在ベータ版)ではバッチ処理に対応しているようでした。もしかするとこの機能を使えば複数のwavファイルから一括してノイズ除去できるかもしれません。

あと別のやり方で今思いつくこととしては、、、複数のwavファイルを一つにまとめつつ、各ファイルの境界位置を記録したわぶでばラベルファイルを作成するツールを作ることでしょうか。これなら多分作れます。そのツールでwavファイルを一つにまとめてAudacityなどでノイズ除去→わぶでばで一括分割して元の状態に戻す、という段取りです。
↑を書きながら思い出しましたが、このやり方は飴屋さんのブログのこの記事で言及されていました。

----
さらにコメントへの返信です。アイデアありがとうございます。

<録音中、再生中を示す表示>
ボタンを作って表示させるか、わぶでばのように(地味ですが)一番下にメッセージ欄を用意してそこで表示させるか、どちらにしても実装できます。

<発声タイプを左右並びにした方が直感的>
確かにそうなんですよね。ところが私が知る限りでは、開発に使っているTcl/Tkという言語では、デフォルトでは横向きリストボックスがないんです(@_@)。mclistboxというパッケージを入れれば縦横に複数の欄のあるリストボックスを作れるようなので、これを使えば良いな(横向きリストだけでなく、現状2つに分けてあるリストを一つにまとめられて、直感的にカーソル移動できる)と思いつつ、ひとまずその部分の実装の優先度を下げました。

PageTop
わぶでばの次のソフト(仮にOREMOと読んでいるのでここではOREMOということにしておきます)関係のメモですが、わぶでばのことも混じっています。

OREMOに幾つか実装追加しました。
・マウス操作関係(波形の拡大縮小、音名リストのスクロールなど)
・DC成分除去(録音停止後に自動実行)
・ピッチ(F0)表示(バグ入り)

あとOREMO実装中に気づいたことですが、(厳密にはバグフィックスではないかもしれませんが、)わぶでば2.0では、パワーを抽出する際の窓長が固定になっていました。そのためパワーの抽出間隔を短くするとがたがたのパワー曲線になってしまいます。平均平滑化できるのでなだらかにはできますが、窓長を長くすることで平滑化する方が妥当です。なのでそのうちバージョンを上げるかもしれません。

ついでにDC成分除去とF0表示を追加しても良いかもしれません。

F0表示については、OREMOでいくつかテストしていると、たまに変な雑音を録音したりするとソフトが落ちることがありました。同様のことをwavesurfer(これもsnackを利用したソフト)でやっても落ちないみたいなので、どこかにバグがあるようです。

現行版での説明動画をぼちぼち準備しています。BGM用に、朝焼けサイクリングの後半に別のフレーズを付けて時間を伸ばしてみました。

<思いつくこと>
・F0は今の所単位=Hzで描画していますがピアノスケールにするとか。あるいは音階に応じてグリッド線をひくとか。(音程のずれを見れるかなと思ったので)


<追記>

snackを最新版にしました。その結果、F0で落ちたときのファイルを読み込ませてもエラーを出さなくなりました。他の音でも検証してみるつもりです。わぶでばも次回から最新snackでexe化したいと思います。

わぶでば ver.2.1 用のチェックリスト:
・最新版snackでexe化
・パワーの窓長を可変にする
・DC成分除去を追加

OREMO ver 1.0 用のToDOリスト:
・音階表示かそれに相当するもの
・保存ディレクトリを任意指定に
・各パラメータの設定窓
・説明動画
・その他思いつく機能

PageTop
wavDivider(わぶでば)ver.2.0の説明動画の「今後の予定」で、録音機能付のものを作ると書きましたが、早速作ってみました。

oremo-01

そのうち説明動画を上げますが、基本的に6つのキーを覚えれば収録できます。

・上下矢印 = 収録音名を変更
・左右矢印 = 発音タイプ(「あ↓」「あ↑」とか)を変更
・rキー    = 押している間録音される
・spaceキー = 再生

最低2つのキーを交互に押すだけで収録できます。「rを押し続け→発声→rを離して→下矢印で次の音へ」

矢印キーを押したときに波形は保存されます。

とり直したいときはもう一度rキーを押して発声すればOKです。複数回のとり直しによる、波形切り出し作業時のわずらわしさがなくなると思います。

画面にあるように、波形、スペクトル、パワー、ピッチ(F0)を見ることができます。

収録音名のリスト、発声タイプはそれぞれテキストファイルから読み込んでいるので追加可能です。なので、飴屋さんがブログで書かれていた「馬鹿げた提案」にも恐らく対応可能です。(発声タイプを増やせばOK)

<本質的な問題点>
PCが近くにある環境での収録を想定したソフトということになりますので、PCの動作音が混入し、音質に影響を与える恐れがあります。

このソフトはそれよりも、簡単・手軽・気軽に収録できて、コンピュータに不慣れな人にもボイスライブラリが作れる(or作れそうな気分になる)ソフト、という立場で作っています。


以上が概要です。突貫で作ったのでバグがあるかもしれないのと、まだいくつか実装したい項目が残っています。現行版でも収録はできる状態なので、説明動画を先に上げるかもしれません。

PageTop
wavDivider(わぶでば) ver.2.0 を公開しました。
こちらのページからダウンロードできます。

もし不具合等がありましたらお知らせ下さいませ。よろしくお願いします。

解説動画は↓です。


動画だとスライドが見づらいかなと思います。こちらのページにほぼ同じ内容のスライドを置いています。またzipファイルのmanualフォルダの中にもhtml版とpdf版を入れています。

また今回はバージョンに"RC1"を付けずいきなり2.0からにしました。でも公開直前に書き換えたコードもあるので、もしかするとバグが入っているかもしれません。そのときは小数点以下を上げたバージョンを再upしようと思います。

動画内の今後の予定にも書きましたが、わぶでばについては、以降はバグが見つかるか、何かアイデアを思いつけばバージョンアップしようと思っています。そして、録音から切り出しまでやるソフト(気軽にUTAUライブラリを作れそうな気分になれそうな方向を目標にしています)を一から作ろうと思っています。



<動画BGMについて>
初めてルナとユズを使ってみました(「あ」だけですが)。きれいな声でした。ソラは素敵な低音サポーターです。しかしもっとインドっぽい節回しにするにはどうしたら良いのかなぁと思ったりしました。

あと、フレーズの一部は↓のBGM(前半の方)を再利用しています。


この前半BGMもループ動画にできそうです。それにしても最近は曲調の変わらない繰り返しの多い曲を作っているような気がします。自分の好きなフレーズだと延々とループして聴いていられる人なのでついつい。。



<追記>

  • 自動ラベリングのパラメータ初期値は、桃音モモの中の方が公開されているwavファイルを基に決めました。
  • パワー曲線を見てパラメータ初期値を見積もる場合、「表示」メニューの「十字線を表示」をONにすると良いと思います(マウス位置に沿って十字線が見えるのでどの位置が何dBか見やすくなると思います)。

PageTop