オーディオ バッファ レベルでオクターブを上下にシフトするにはどうすればよいでしょうか? または、このためのライブラリ関数はありますか? オーディオ ファイルのいくつかの属性を決定するためのライブラリ、または許可されている (iOS) サード パーティ ライブラリはありますか? BPM、キーなど。または、これらのことをどのように決定しますか? オーディオ バッファでビートはどのように区別されますか? オーディオのキーは、オーディオ データからどのように抽出されますか?
1 に答える
iOS デバイスで 1 オクターブ単位でピッチをシフトする場合、現在、このための組み込みのオーディオ ユニット機能はありません。しかし、Dirac のライブラリなど、市販のタイム ピッチ変更ライブラリがいくつかあるようです。
ピッチ検出器という名前のオープン ソース iOS DSP コードがいくつかあるようです。ただし、そのコードの一部は、多くの場合、音楽のピッチとキーの推定が苦手な FFT 周波数推定にのみ適しているように見えるため、注意してください。自己相関、ケプストラム分析、またはその他のより高度な方法を使用するピッチ検出/推定コードを探します。
BPM の推定については、次の質問に対する回答を参照してください: How to detect the BPM of a song in phpおよびBeats per minutes from real-time audio input .
上記のどれも些細なことではなく、それをうまく行うことは、DSP および音楽信号処理における大学院レベルの研究テーマと見なされる場合があります。
更新: iOS 6 には AUNewTimePitch Audio Unit が含まれています。これは、ピッチを 2 倍にシフトする非高品質のタイム ピッチ変更を行うことができます。