使用AudioKit将麦克风输入的声音实时转换为音符

时间:2018-03-06 21:47:11

标签: ios iphone swift audiokit

我正在尝试将来自麦克风输入的声音实时转换为音符。 我正在使用我在AudioKit Microphone Analysis上找到的示例中的代码。这是工作。但是我有几个问题:

在下面添加了简单的代码。

//init
let mic = AKMicrophone()
tracker = AKFrequencyTracker(mic, hopSize: 64.0, peakCount: 1050.0)
silence = AKBooster(tracker, gain: 0)

//viewDidAppear()
AudioKit.output = silence
AudioKit.start() 

我的应用只适用于人声(如卡拉OK),频率范围为65.4064 (C2) to 1046.5 (C6)。我不确定hopSizepeakCount以及它们应该具有的适当值。然而,"麦克风分析"上面的示例使用KFrequencyTracker init方法,minimumFrequencymaximumFrequency作为参数,这在lib的最后一个版本中是不存在的。

因此,我使用tracker.frequency来确定我的应用中的注释。

问题是:

  1. 使用AudioKit完成任务的最合适方法是什么?我的代码是否正确?
  2. 我的环境:

    1. IOS应用程序(iPhone,iPad)
    2. IOS 11.2
    3. Swift 4
    4. AudioKit~> 4.0
    5. 非常感谢提前。

1 个答案:

答案 0 :(得分:1)

有关使用AudioKit的实时麦克风演唱检测应用程序的示例,请参阅本教程: https://audiokitpro.com/build-a-singing-tutor-app-with-audiokit/

enter image description here

swifting.io的优秀人员已经制作了一个完整的示例应用程序和教程博客文章,以演示如何建立一个唱歌导师。此代码类似于卡拉OK应用程序中可能使用的代码。祝你好运!