VB.net でライフ周波数検出を実行できるようになりたいと考えています。ここからどこから始めればよいか本当にわからないと言わざるを得ません。BASS.net を調べましたが、事前に録音されたオーディオでしか機能しないようです。ライン入力またはマイク入力から入ってくる音声の周波数をほぼリアルタイムで検出できる必要があります。
前もって感謝します。
おそらく、オープン ソースの .NET オーディオおよび MIDI ライブラリであるNAudioが役立つでしょう。インスピレーションを得るために、この CodeProject の記事も参照してください。
ライブ周波数検出用のBASS/C++の経験があります。基本的にC++ではこのようになります。.NETと同等のものを簡単に見つけることができると思います。
初期化:
// initialize BASS recording (default device)
if (!BASS_RecordInit(-1)) {
LOG("Can't initialize device")
exit(-1);
}
// start recording (44100hz mono 16-bit)
if (!(m_recChan = BASS_RecordStart(44100, 1, 0, &DuffRecording, 0))) {
LOG("Can't start recording")
次に、タイマーは50msごとに周波数データを取得するように設定されます。使用したコードは次のとおりです。
float fft[4096];
BASS_ChannelGetData(m_recChan, fft, BASS_DATA_FFT8192); // get the FFT data
お役に立てれば。