7

iOS でオーディオ ファイルのビート、ピッチ、オンセット、および高速フーリエ変換 (FFT) を検出しようとしていますが、aubioがこれらの機能を提供し、iOS フレームワークも利用できることがわかりました。

これまでのところ、私はThe Amazing Audio EngineCore Audioを使用して、次のAudioBufferListようなでオーディオ データを受信して​​います。

id<AEAudioReceiver> receiver = [AEBlockAudioReceiver audioReceiverWithBlock:
                               ^(void                     *source,
                                 const AudioTimeStamp     *time,
                                 UInt32                    frames,
                                 AudioBufferList          *audio) {
    // I don't know how to use audio library.
}];

これから aubioを使用して、ビート、ピッチ、オンセット、および高速フーリエ変換 (FFT) を検出できますAudioBufferListか? 私が間違った方向に進んでいる場合は、何か提案をお願いします。

4

4 に答える 4

0

更新 したがって、Aubio の Cocoa Pod は最新ではないようです。私の Podfile では、次のコードを使用して Aubio を Xcode ワークスペースに追加します。

pod 'aubio-iOS-SDK', '~> 0.4'

これにより、Aubio 0.4.1 がインストールされますが、これは最新ではありません。一般に、Aubio のドキュメントを見つけることは、複数のインターネット検索結果を断片的に組み合わせて機能するソリューションにするという、少しあいまいなプロセスです。

iOS の場合はさらに不明です。Aubio のダウンロード ページに移動すると、iOS 用のバージョン 0.4.2 が見つかります。下にスクロールすると、Aubio Cocoa Pod より新しいバージョンです。それでも、こちらのコメントで、最新の iOS Aubio モジュール 0.4.3 を見つけました。iOS 用の最新の Aubio と思われるものへの直接ダウンロードは次のとおりです。

https://aubio.org/bin/tmp/aubio-0.4.3~const.iosuniversal_framework.zip

元の回答で述べたように、Swift を使用している場合は、引き続き aubio.h へのブリッジ ヘッダー参照が必要です。

元の回答Swiftでaubioライブラリを参照するのを本当に簡単にするaubio用のCocoaPodがありますiOS の Aubio CocoaPod は次のとおりです。

https://cocoapods.org/pods/aubio-iOS-SDK

インストールしたら、Swift では次のように記述しないことに注意してください。

import aubio 

Swift ファイルの先頭にあります。

aubio C ライブラリを Swift に公開するには、目的の C ブリッジ ヘッダーを追加する必要があります。そのブリッジ ヘッダーには、次のように記述します。

#import <aubio/aubio.h>

これで、Swift は aubio ライブラリ/フレームワークにアクセスできるようになります。

于 2016-07-18T22:47:47.667 に答える
0

ダウンロード ページには、iOS で使用するコンパイル済みフレームワークがあります。

ライブラリをプロジェクトにドラッグ アンド ドロップした場合は、次のフレームワークがあることも確認してください。

  • Accelerate.framework
  • AudioToolbox.framework

ここで、Aubio のソースをダウンロードすると、examples フォルダーが作成されます。そこでは、C で書かれたビート、ピッチ、オンセット (FFT もあります) を検出するためのコードが見つかります。ObjC は C のスーパーセットであるため、プロジェクトでも機能します。

于 2015-06-28T22:55:44.007 に答える
0

これに対する私の解決策は、オーディオ バッファをファイルに書き込んでから、そのファイルを aubio に送信することでした。オーディオの新しいバッファーを取得するたびに、ファイルに追加するか (これまでのすべてを分析したい場合)、増分部分のみに関心がある場合は上書きすることができます。

于 2015-10-09T12:22:17.303 に答える