问题标签 [audiokit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1081 浏览

ios - 在 AudioKit 中过滤音频

我需要做什么:

  • 录制音频文件;
  • 因为它是从 iPhone/iPad 麦克风录制的,所以它可能很安静,所以我需要对其进行过滤以使其更响亮;
  • 保存过滤记录;

我是音频编程的新手,但据我所知,我需要“全通”过滤器(如果没有,请纠正我)。

对于这个任务,我找到了两个库:NovocaineAudioKit,但 Novocaine 是用 C 语言编写的,所以很难用 swift 实现它,我决定使用 AudioKit,但我没有在那里找到“All Pass”过滤器。

有人知道如何在 AudioKit 中实现它并保存过滤后的文件吗?谢谢!

0 投票
1 回答
563 浏览

ios - AudioKit:我可以在不调用 AudioKit.stop() 的情况下禁用 AKMicrophone 吗?

我有一个具有两个功能的应用程序。AKMetronome当应用程序不在前台时,一个播放并允许后台播放。另一个是使用 的调谐器功能AKMicrophone,仅在应用程序处于前台时才需要处于活动状态。这些功能可以同时使用(调谐器激活时节拍器灯闪烁)。

当我按下主页按钮时,节拍器继续播放(如预期的那样)。但调谐器的活动麦克风也会在所有其他应用程序中导致设备顶部出现亮红色的“录音”风格栏。但是,当应用程序未打开时,我不需要调谐器来运行。

如何禁用AKMicrophone节点以使该栏不显示,同时保持AKMetronome节点播放不中断?

我尝试了以下方法,但均未成功:

  • 调用AudioKit.stop()应用程序委托applicationWillResignActive()方法。这摆脱了录音栏,但停止了节拍器。
  • 期间调用节点stop()。这不会删除录音栏。AKMicrophoneapplicationWillResignActive()
  • 期间在节点上调用stop()和。这也不会删除录音栏。disconnectOutput()AKMicrophoneapplicationWillResignActive()

我怀疑我可能需要杀死整个引擎(即AudioKit.stop()),从链中删除麦克风节点,然后重建并重新启动引擎,所有这些都在applicationWillResignActive方法内。但这会打断 的节奏AKMetronome,所以我希望它不会变成那样。

0 投票
0 回答
114 浏览

ios - AudioKit AKSampler 发出奇怪的反馈噪音

我在我的应用程序中使用 AudioKit AKSampler 来播放钢琴声音,它在我的手机(iPhone 5)上运行良好,但是当我在其他手机(iPhone8、iPhone6)上检查时,采样器会发出奇怪的反馈声音和奇怪的噪音的背景。

这是你熟悉的东西吗?是操作系统版本号还是设备?有什么帮助吗?

0 投票
1 回答
106 浏览

audiokit - 在 AudioKit 中实现 Goertzel 过滤器的方法?

我不相信 AudioKit (4.0+) 有一个 Goertzel 过滤器,但我认为我可以从 AKFrequencyTracker 开始并创建一个。

此 AKGoertzelTracker 类将使用一个或多个要检测的所需频率和所需最小幅度的数组进行初始化,然后一个方法(例如,frequencyDetected)将返回当前通过使用 Goertzel 算法检测到的频率的子集。 .

我可以在 SO 上找到 Goertzel 过滤器的各种实现,但我不确定将它放在 AudioKit 框架中的哪个位置。任何方向或帮助将不胜感激。谢谢!

0 投票
1 回答
513 浏览

ios - 使用 audiokit 在 AKsequencer 中创建额外 MIDI 轨道的问题

我一直在尝试解决一个神秘的正弦波问题,但收效甚微。我在这里开始一个新问题,因为我想我已经深入研究了这个问题的细节。

在设置 AKSequencer 并为其提供 MIDI 文件时,我看到了一些奇怪的结果。

对于一首 4 轨歌曲(具有相应的 4 轨 MIDI 文件,持续时间与歌曲的所有词干匹配),我看到音序器实际上是用 5 轨生成的。什么是额外的轨道?

另外,我在控制台中遇到错误:

[seq] 1026: Invalid beat range

我相信当轨道是空的时会发生这种情况。

所以这看起来像是我神秘正弦波的罪魁祸首。

关于如何解决这个问题的任何想法?这让我有点发疯...

谢谢!

0 投票
1 回答
328 浏览

ios - AudioKit - 无法让 AKClipRecorder 工作

我正在尝试实现录制某些东西(麦克风或振荡器或任何其他输入)的能力,我需要它在录制完成后立即执行回调方面尽可能准确,所以我认为 ClipRecorder 可以在这里帮助我. 这段代码进入一个简单的视图控制器的viewDidLoad函数,代码执行到最后,但剪辑记录器的回调从未执行。

你能告诉我我做错了什么吗?我对 AudioKit 很陌生,所以这可能是我对事物的误解。这是代码:

打印日志 1,2,不打印“录制的剪辑”。

非常感谢!

0 投票
1 回答
291 浏览

audiokit - AudioKit 游乐场 AudioKitUI 视图未显示

刚刚下载了 AudioKitPlaygrounds-4.0.3 并构建了它。我的音频很好,但操场上没有显示任何 UI 视图。例如混合节点,音频播放完美,但我在右窗格中看不到任何 AudioKitUI 视图。尝试清理并再次构建仍然没有 ui 元素。我相信我应该看到他们。我确定我错过了一些东西,因此我将不胜感激帮助或指向清除此问题的文档。使用 Xcode 9.1 Mac OS X 10.12.6。谢谢克里斯

0 投票
1 回答
499 浏览

c++ - AudioKit 的 AKNodeOutputPlot 如何提取数据?

我对 AudioKit 框架非常陌生,我一直在尝试更多地了解它的 DSP 方面。在翻找源代码时,我意识到 AKNodeOutputPlot 不会像其他人那样从节点中提取数据。

在 AKAmplitudeTracker 的 DSP 代码中,计算每个通道的 RMS 值,并将结果短暂写入输出缓冲区,但在 for 循环结束时,通过将输出设置为原始输入,基本上绕过了节点:

这是有道理的,因为将 RMS 值输出到设备扬声器听起来很糟糕,但是当此节点用作 AKNodeOutputPlot 对象的输入时,会绘制 RMS 值。

输入和有效值图

我假设 leftAmplitude 和 rightAmplitude 变量在某处被引用,但即使它们被归零,情节也很好。我有兴趣在不影响输出的情况下对信号做一些工作,所以我很高兴有人可以帮助我弄清楚 AKPlot 是如何获取这些数据的。

干杯

0 投票
1 回答
971 浏览

ios - 使用带有 audiokit 的 SF2 soundfont 库将 MIDI 文件转换为音频文件

是否可以使用 iOS 的“audiokit”和现有的声音字体库 (SF2) 将 MIDI 文件转换为音频文件(例如 MP3)?感谢所有的答案。

0 投票
2 回答
827 浏览

ios - 使用 AudioKit 播放多采样乐器,控制 ADSR 包络

我正在尝试使用 AudioKit演奏几个.wav样本的乐器。

到目前为止我已经尝试过:

  1. 使用AKSampler(与底层AVAudioUnitSampler)——它工作得很好,但我不知道如何在这里控制 ADSR 信封——调用stop将立即停止音符。
  2. 另一种方法是使用AKSamplePlayer每个样本并播放它,手动设置rate以播放正确的音符。我可以(可能?)然后连接AKAmplitudeEnvelope到每个示例播放器。但是如果我想同时演奏同一个样本的 5 个音符,我需要 5 个 的实例AKSamplePlayer,这似乎是在浪费资源。

我还试图找到一种方法将原始音频样本推送到 AudioKit 输出缓冲区,自己进行混合和样本插值(可能是在 C 中?)。但是没有找到怎么做:(

使用 AudioKit 制作多采样乐器的正确方法是什么?我觉得这一定是一个相当简单的任务。