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

标签 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) 到 1046.5 (C6)。我不确定 hopSizepeakCount 以及它们应该具有的适当值。但是,上面的“麦克风分析”示例使用了 KFrequencyTracker init 方法,以 minimumFrequencymaximumFrequency 作为参数,这在上一版本中是不存在的图书馆。

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

问题是:

  1. 使用 AudioKit 完成任务最合适的方法是什么?我上面的代码正确吗?

我的环境:

  1. IOS 应用程序(iPhone、iPad)
  2. iOS 11.2
  3. swift 4
  4. AudioKit ~> 4.0

非常感谢。

最佳答案

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

enter image description here

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

关于ios - 使用 AudioKit 将麦克风输入的声音实时转换为音符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49140516/

相关文章:

iPhone设置和阅读状态UISwitch

ios - 在 iOS 中从 HTML 创建 PDF 时出现异常

iphone - 如何以编程方式比较 2 个音频文件?

iOS5 NSFetchedResultsController 没有得到删除更新

iphone - iOS SDK 发布链接并显示缩略图

swift - 为什么 Apple 选择使用嵌套结构类型来替换 'String' 类型参数?

ios - swift:使导航栏从右到左(rtl)同时带有左右项目,例如后退

ios - 在 App 内的 UITextView 中打开链接

ios - 使用单个数组内容在 3 个 UIButton 中随机显示图像

ios - 如何缩放 UILabel 文本以适合标签