注意事项:
func captureOutput(captureOutput: AVCaptureOutput, didOutputSampleBuffer sampleBuffer: CMSampleBufferRef, fromConnection connection: AVCaptureConnection)
CmSampleBufferRefs提交.这包括使用NSData,它永远不会将有效的.caf存储到文件中.以下代码成功启动了音频和视频AVCaptureSession,AVCaptureSession委托func captureOutput(captureOutput: AVCaptureOutput, didOutputSampleBuffer sampleBuffer: CMSampleBufferRef, fromConnection connection: AVCaptureConnection)
正在为音频和视频调用.当一个.提供音频CMSampleBufferRef示例我试图将该示例转换为AudioBuffer并传递给Aubio方法aubio_onset_do.我正在使用单例aubio_onset COpaquePointer.
在这段代码中,我尝试用两种不同的方式用音频缓冲区数据调用aubio_onset_do.
let useTimerAndNSMutableData = false
.这意味着在我的prepareAudioBuffer
函数中我将audioBuffer.mData传递给sampleAudioForOnsets
.这种方法永远不会失败,但也没有检测到任何启动,我怀疑因为样本量不够大.方法2如果let useTimerAndNSMutableData = true
我sampleAudioForOnsets
每隔1秒调用一次最终调用,允许有时间使用AudioBuffer.mDatas构建NSMutableData.使用这种方法,我试图给aubio_onset_do一个足够大的样本来检测onsets,使用一个计时器和NSMutableData这个方法导致aubio_onset_do很快崩溃:
(EXC_BAD_ACCESS(code = 1))
import UIKit
import AVFoundation
class …
Run Code Online (Sandbox Code Playgroud)我试图在iOS中检测音频文件的节拍,音调,起始和快速傅里叶变换(FFT),我发现aubio提供了这些功能,iOS框架也可用.
到目前为止,我使用神奇的音频引擎来讲接收音频数据Core 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.
}];
Run Code Online (Sandbox Code Playgroud)
我可以使用aubio从这个AudioBufferList
和如何检测节拍,音调,起始和快速傅里叶变换(FFT)?如果我走错了路,请给我任何建议?
我正在尝试使用aubio(https://aubio.org)库进行音高检测。我正在尝试使用 C 语言的 API,该new_aubio_pitch
函数的参数之一是hop_size
. 是什么hop_size
意思以及如何选择?
任何人都知道:
用于iPhone/ARM处理器的Aubio库的构建?
一个介绍到交叉编译的资源,所以我可以自己尝试一下?
我正在开发一个需要BPM跟踪的Android音频项目.我决定编写自己的不是一个好主意,在环顾四周之后,我发现了一些可以进行BPM跟踪的库,例如aubio,vamp,echonest等.出了很多,aubio似乎是一个不错的选择.问题是我找不到可以帮助理解我如何使用库的好文档,例如,哪种输入音频格式是兼容的(我应该在将音频传递给函数之前对其进行预处理)等.
你能指点我一些开源项目的文档或aubio的实现(在android上会是一个奖励).
如果你认为有更简单的方法(另一个算法/库)来移植到android(最好是在c),请告诉我.
谢谢.
我正在使用aubio来分析音频文件,但是当我尝试像这样使用 new_aubio_source 函数时:
let source = new_aubio_source(StringToUnsafeMutablePointerChar_t(url.absoluteString), 0, 512)
Run Code Online (Sandbox Code Playgroud)
我总是收到这些错误。
AUBIO ERROR: source_apple_audio: Failed opening file:///var/mobile/Containers/Data/Application/C11B42E5-02B5-4373-8302-0728B2CB2296/Documents/music.m4a, error in ExtAudioFileOpenURL ('wht?')
AUBIO ERROR: source_wavread: Failed opening file:///var/mobile/Containers/Data/Application/C11B42E5-02B5-4373-8302-0728B2CB2296/Documents/music.m4a (System error: No such file or directory)
AUBIO ERROR: source: failed creating aubio source with file:///var/mobile/Containers/Data/Application/C11B42E5-02B5-4373-8302-0728B2CB2296/Documents/music.m4a at samplerate 0 with hop_size 512
Run Code Online (Sandbox Code Playgroud)
我 100% 确定路径是正确的,但我无法找出这些错误发生的原因。我认为问题出在第一条错误消息(source_apple_audio)中。
source_apple_audio 在这里定义:
其中使用了这个函数:ExtAudioFileOpenURL,并得到了错误代码('wht?')
非常感谢您的帮助!
我想在 python 3.6 中检测音频文件的速度,但我不太了解关于 aubio 的文档。有人可以指出如何使用aubio或其他图书馆提取节奏吗?
aubio ×7
audio ×5
ios ×3
c ×2
swift ×2
analysis ×1
android ×1
core-audio ×1
extaudiofile ×1
iphone ×1
objective-c ×1
python ×1
tempo ×1