标签: audiokit

如何使用AudioKit加载第三方音频单元

我最近开始在Github上使用AudioKit框架,并对框架的来源进行了深入研究。我找不到但真正好奇的是如何集成第三方音频单元(尤其是效果器)并传递音频以及设置,存储和调用预设。

由于框架中的每个组件似乎都是一个音频单元,因此必须有一种方法可以做到这一点,但是我找不到对音频单元的内置支持。

我想我必须要使用该代码并自己编写包装程序,但是任何帮助将不胜感激。

core-audio audiounit swift audiokit

5
推荐指数
1
解决办法
581
查看次数

AudioKit - 没有声音输出

我尝试使用AudioKit输出纯正弦波. https://github.com/AudioKit/AudioKit 我试图在那里建立一个新的项目,并在那里尝试了"Hello World"示例,包含在AudioKit下载中.

两者都构建良好,Hello World示例在屏幕上正确显示生成的正弦波,但没有声音播放,我听不到任何声音.我已经将音量设置为max并尝试使用其他应用程序,如果他们播放的音频很好,他们就可以.有什么建议吗?

我正在使用Xcode 8.3.3和iOS 10.3.1的iPad Mini 2设备

谢谢

audio ios swift audiokit

5
推荐指数
1
解决办法
729
查看次数

AudioKit - 绘制文件的完整波形

我一直在阅读文档寻找答案.我看到AudioKit可以在录制或播放时实时绘制波形,但我想知道你是否可以加载文件并完全绘制波形,这样我就可以看到整个文件的波形而无需回放.

任何帮助将不胜感激.甚至只是指向我应该查看的对象的指针.

waveform swift audiokit

5
推荐指数
1
解决办法
1990
查看次数

XCode无法识别引用的AudioKit框架

当我创建引用(相对的CocoaPods等)的AudioKit框架之一时,Xcode不会自动完成AudioKit声明,并明确声明一个AudioKit对象(如AKMIDISampler)导致生成错误一个新的XCode项目:"AKMIDISampler"是不可用:找不到此类的Swift声明.

通常,问题在于在XCode中正确输入框架搜索路径.但是,即使我为我的目标和项目设置了框架的相对路径,我仍然得到相同的结果.

这可能是所有第三方框架的问题,但我在这里参考AudioKit,因为我之前在Google的AudioKit支持小组中看到过这个问题.

设置新项目以使用AudioKit以便识别AudioKit并自动完成工作的最佳做​​法是什么?

xcode audiokit

5
推荐指数
1
解决办法
1247
查看次数

为什么AudioKit的AKMicrophoneTracker不能在物理iOS设备上运行?

当我AKMicrophoneTracker在物理设备上使用AudioKit时,频率和幅度始终都是0.但是在游乐场和iOS模拟器中,它完美运行.

这是一个粗略的例子:

class AppDelegate: UIResponder, UIApplicationDelegate {

    let tracker = AKMicrophoneTracker()

    func application(_ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        // start the tracker and show frequency information
        tracker.start()
        Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true, block: { _ in
            print(tracker.frequency)
            print(tracker.amplitude)
        })
    }

}
Run Code Online (Sandbox Code Playgroud)

我重置了物理设备的隐私权限,iOS正确地提示我允许麦克风访问.即使我允许麦克风访问,它仍然无法正常工作.

如何让AKMicrophoneTracker实际读取这些值?

我正在使用AudioKit 4.0.3.使用时,它按预期工作:

  • Mac上的AudioKit游乐场
  • 运行iOS 11.1的模拟器iPhone 7 Plus

使用时不起作用:

  • 运行iOS 11.1.1的物理iPhone 7 Plus(也适用于iOS 11.1)

我最初在AudioKit的GitHub问题跟踪器上发布了这个错误.但是,Aure(项目维护者)鼓励我在这里发帖.

ios swift audiokit

5
推荐指数
2
解决办法
454
查看次数

AudioKit-如何在麦克风上使用频率滤波器?

我正在将AudioKit库与Swift一起用于开发一个简单的iOS应用程序,该应用程序应该能够监听该范围的频率3.000Hz - maybe 6000Hz

因此,我只想跟踪该范围内的麦克风输入频率,并实现此目的,因此我尝试在输入麦克风上应用滤波效果,以避免拾取几种有害噪声的频率。

var mic: AKMicrophone
var silence: AKBooster
var filter: AKHighPassFilter
var tracker: AKFrequencyTracker

public init() {
   mic = AKMicrophone()
   filter = AKHighPassFilter(mic)
   filter.cutoffFrequency = 3000 // just get frequencyies above 3000Hz (highpass)
   filter.resonance = 0
   tracker = AKFrequencyTracker(filter)
   silence = AKBooster(tracker, gain: 0)
}

func start() {
    AKSettings.audioInputEnabled = true
    AudioKit.output = silence
    AudioKit.start()
}

func print() {
    print(tracker.frequency)
}
Run Code Online (Sandbox Code Playgroud)

总结一下:我知道滤波器正在改变某些东西-但是我不能真正为该范围应用频率滤波器, 3.000Hz +因为我还获得了低于3.000Hz (例如2.0000 / 500 …

audio ios swift audiokit

5
推荐指数
0
解决办法
429
查看次数

如何设置Xcode游乐场以稳定的方式使用构建的框架?

自推出以来,AudioKit已经有了游乐场,我们制作了数百个,但是从Xcode 8开始,它们变得难以使用.在平均约4-5个游乐场观看之后,Xcode将停止运行任何游乐场并需要重新启动.

以下是AudioKit的游乐场代码:https: //github.com/AudioKit/AudioKit/tree/master/Playgrounds

以及它们应如何工作的屏幕录制:http: //audiokit.io/playgrounds/

我们基本上使用本博客中描述的设置来在游乐场中使用AudioKit框架:https://m.pardel.net/using-3rd-party-frameworks-in-swift-playgrounds-fd415f6dba10

如果我们在Xcodeproj上使用游乐场,就像我们使用框架文件一样,游乐场同样不稳定.

有没有人知道发生什么事情让Xcode游乐场与框架不稳定,或者对如何改变我们的设置以使游乐场再次稳定有任何建议?

AudioKit游乐场是使AudioKit易于使用的重要组成部分,失去它们给我带来了沉重的负担,所以我很乐意提供赏金(我的第一个,所以请耐心等待).

xcode frameworks swift swift-playground audiokit

5
推荐指数
0
解决办法
275
查看次数

AudioKit 4.3:录制音频,将其渲染为离线,然后播放

我正在尝试录制音频,然后离线保存AudioKit.renderToFile,然后AKPlayer用来播放原始录制的音频文件.

import UIKit
import AudioKit


class ViewController: UIViewController {

private var recordUrl:URL!
private var isRecording:Bool = false

public var player:AKPlayer!
private let format = AVAudioFormat(commonFormat: .pcmFormatFloat64, sampleRate: 44100, channels: 2, interleaved: true)!

private var amplitudeTracker:AKAmplitudeTracker!
private var boostedMic:AKBooster!
private var mic:AKMicrophone!
private var micMixer:AKMixer!
private var silence:AKBooster!
public var recorder: AKNodeRecorder!

@IBOutlet weak var recordButton: UIButton!

override func viewDidLoad() {
    super.viewDidLoad()
    //self.recordUrl = Bundle.main.url(forResource: "sound", withExtension: "caf")
    //self.startAudioPlayback(url: self.recordUrl!)
    self.recordUrl = self.urlForDocument("record.caf")
}

override func didReceiveMemoryWarning() …
Run Code Online (Sandbox Code Playgroud)

ios swift audiokit

5
推荐指数
1
解决办法
1145
查看次数

AVAudioSessionInterruption的AudioKit处理

接到电话或刚打完电话后,启用了后台播放的AudioKit应用程序将永久静音,我不确定如何处理。重新启动声音输出的唯一方法是杀死并重新启动应用程序。其他中断(例如启用和使用Siri)可以毫无障碍地进行,并且在活动期间,应用的声音会回落。

通常,一个应用可以注册自己以接收通知(例如NSNotification.Name.AVAudioSessionInterruption)来检测AVAudioSession中断,但是一个人如何检索AVSession通常传递到通知中的对象?

NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.sessionInterrupted(_:)),
                                               name: NSNotification.Name.AVAudioSessionInterruption,
                                               object: MISSING_AK_AVAUDIOSESSION_REF)
Run Code Online (Sandbox Code Playgroud)

此外,如果能够成功实现音频中断通知,那么AudioKit会发生什么?它不被设计为“重新启动”或被搁置。任何帮助将非常感激。

iphone interruption ios avaudiosession audiokit

5
推荐指数
1
解决办法
325
查看次数

AKMIDICallbackInstrument实现问题

更新到AudioKit的最新版本后,我将几个AKCallbackInstrument实例更改为新的AKMIDICallbackInstrument类,该类现在将前者合并为旧行为。但是,这样做时,我遇到了这个奇怪的错误。也许我想念的Swift细微差别?

let callback = AKMIDICallbackInstrument() { status, note, velocity in
    if status == .noteOn {  //errors out
       // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

状态.noteOn错误进行比较,结果是:“表达式类型'Bool'是模棱两可的,没有更多上下文。”。这是有道理的,因为AKMIDICallbackInstrument不再返回AKMIDIStatus状态,而是直接返回MIDIByte(UInt8)。使用直接MIDI命令数字即可。

let callback = AKMIDICallbackInstrument() { status, note, velocity in
    if status == 0x90 {
       // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,我们有一个问题和潜在的解决方案。我只是不确定这是否可行,AKMIDICallbackInstrument尚未发布到文档中。

midi xcode swift audiokit

5
推荐指数
1
解决办法
149
查看次数