マイクから入力した音を楽譜化するソフトを作りたいと思ってます。このようなソフトはVBで作ることができるのでしょうか?
どなたか教えてくださいm__m
あなたの腕と根気と時間と予算しだいでしょう。
望むものに近い状態に仕上げるにはかなりの難航が予想されますが、
ホビーベースで考えるなら、それこそが作る楽しみかと。
無理でしょう。
音の高低はFFT技法で何とか判別できますが、
音の長さと、音の強弱はかなりファジーな部分が
多く、自動で音符には出来ないと思いますが。。。
作る工数を考えると、「鼻歌入力」で有名な
Singer Song Writerシリーズなどを購入した方が
手っ取り早いような。
出来なくはないと思いますが。
マイク入力は、人の声ですか?
実際に、SingerSongWriter8.0などのシーケンサーソフトには、人の鼻歌を音符化して楽譜にしてくれる機能がありますので。
ただ、人の声だと、マイク入力の音程・音量がきちんとしていなければ、上手くデータ化されないかもしれませんね。
マイク入力される音次第かな。
ただ、ある程度、音程やタイムがズレても、ソートしてくれるようなロジックをつくれば、使えるものになるでしょう。
実際、SingerSongWriter8.0には、そのあたりの機能もあるようです。
>鼻歌
ですか。(^^;
>ある程度、音程やタイムがズレても、ソートしてくれるようなロジックをつくれば
ピッチ変換と言います、wavファイルをピッチ変換することは簡単ですが
そんな問題ではないと。
そもそも、
楽譜 -> 音 音源が決まっていれば常にOK
音 -> 楽譜 極めて限定的
と考えますが。
100人月もらっても私はちょっと。
いろいろな意見、ありがとうございます。
すいませんがまとめて答えさせてもらいます。その辺ご了承ください。
>あなたの腕と根気と時間と予算しだいでしょう。
腕のほうは、まだまだ未熟だと思います。時間は1年ぐらいを考えています。予算は・・。やる気は満々です!
>音の高低はFFT技法で何とか判別できますが、
音の長さと、音の強弱はかなりファジーな部分が
多く、自動で音符には出来ないと思いますが。。。
単純な音なら、自動で楽譜にできるってことですよね?あと、音の長さと強弱は今の段階では、問題にしないようににしようと思ってます。まずは4分音符から徐々に。残りは段階が進んでからにしようと思ってます。
>マイク入力は、人の声ですか?
声ではありません。声だと、そのときの感情や、使う人によって判別できるできないがあると思ったので。
具体的に言ってしまうと、ハーモニカとかリコーダーとかです。吹く強さによって、変わってくるとは思いますけど、ある程度、一定の周波数で音を出してくれると思うので。
現段階の構想はこんな感じです。
更なるご意見など、よろしくお願いしますm__m
Cで書いても、まずリアルタイム処理は無理ですから、wavファイルから読み込みます。
データーをFFTプログラムにいれて、中心周波数を求めます。
http://momonga.t.u-tokyo.ac.jp/~ooura/fftman/
ここにFFTの基礎とCのソースがあります。
ただしFFTから吐き出されるデーターはその瞬間の周波数分析です、
これを時間軸に並べて音の長さを計算することになります。
皆さん、いろいろなご意見ありがとうございます。おかげで、このソフトの作成の方向性が見えてきました。心から感謝します。
また、作成に詰まったらここによるつもりです。そのときはまたご指導賜りたいと思いますので、よろしくお願いします。
ツイート | ![]() |