问题标签 [audiounit]

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 回答
186 浏览

core-audio - 带有 AudioRenderCallback 和 AudioUnitRenderFlag 的复音

我正在了解核心音频/音频单元,所以如果这不言而喻,请原谅我。

如果我想允许五个声音,我需要混音器上的 5 个总线和至少 5 个缓冲区,如果我想要 5 个不同的声音。我已经找到了一种通过检查时间和使用开始时间来安排笔记的基本方法。我认为我应该使用 ioActionFlags 来指示何时呈现静音,但我不太明白如何。

我问是因为,有 2 辆公共汽车,当一辆安静一段时间但另一辆在播放时,我会嗡嗡作响。

0 投票
2 回答
1123 浏览

macos - 音频单元主机需要做什么才能使用非 Apple 音频单元?

我正在编写一个需要托管音频单元的 Objective-C++ 框架。如果我尝试使用 Apple 的默认设备(如 DLS Synth 和各种效果器),一切都可以正常工作。但是,我的应用程序似乎无法找到任何第三方音频单元(在 /Library/Audio/Plug-Ins/Components 中)。

例如,下面的代码片段...

...工作得很好。但是,如果我改为tInstrumentDesc使用'aumu', 'NiMa', '-Ni-'(Native Instruments 的 Massive Synth 的描述)进行初始化,那么AUGraphOpen()将返回OSStatus错误badComponentType并且 AUGraph 将无法打开。这适用于我所有的第三方音频单元。

下面的代码,从 Audacity 源代码修改而来,稍微阐明了这个问题。它循环遍历特定类型的所有可用音频单元并打印出它们的名称。

运行此代码后,唯一的输出是Apple: DLSMusicDevice(即符合上述描述的音频单元'aumu', 'dls ', 'appl')。

这似乎不是单位本身的问题,因为 Apple 的auval工具列出了我的第三方单位(他们也验证了)。

我尝试使用 运行我的测试应用程序sudo,而我正在处理的自定义框架位于 /Library/Frameworks 中。

0 投票
1 回答
1568 浏览

iphone - 在 iOS 上渲染非常高频的声音

我正在尝试使用 AudioUnit 为 iPhone 项目渲染一系列高频声音(大约 8-20KHz),但是 12KHz 以上的所有声音都严重失真和/或完全错误的音调。我已经将波形渲染为图像,并意识到,因为 iPhone 的硬件采样率为 44,100Hz,所以应该归咎于混叠(我的 22KHz 正弦波更像是 100Hz 正弦波)。

有什么解决办法吗?我在商店里看到了许多“狗哨”应用程序,但我猜它们不太可能是“真实的”。更改 AudioStreamBasicDescription 的采样率似乎并没有太大帮助,但也许我做错了。

0 投票
2 回答
951 浏览

ios - iOS - AudioUnit 应用程序的 AudioSession 类别

我正在为 iOS 开发流式音频播放器应用程序。目前我正在尝试使用AudioQueueAudioUnit进行播放。

两者在正常情况下都能正常工作。但是当应用程序进入睡眠模式时,我遇到了 AudioUnit 版本的问题。

当应用程序进入睡眠模式时,应用程序的AudioUnit版本停止播放。在睡眠模式下播放应用程序的AudioQueue版本时没有任何问题。

我为这两种情况设置了“kAudioSessionCategory_MediaPlayback”会话类别。我假设这个会话类别即使在睡眠模式下也应该继续播放。

我不确定我在这里缺少什么。

我想在我的应用程序中添加平移/效果功能,所以我正在尝试使用 AudioUnit。

非常感谢任何帮助。

0 投票
0 回答
436 浏览

iphone - How can we remove Noise from audio that comes out of Remote IO?

I am using Remote IO to capture voice real time and playback through headphone. When I test it the device(iPhone or iPad), I always hear a continuous noise in the background .

How can we remove these noise from the audio? Can we use Voice Processing IO to cancel the noise and make the audio with out noises?

0 投票
1 回答
736 浏览

objective-c - core audio callback, inTimeStamp at the beginning or end of recording

In core audio, when the recordingCallback is called:

does inTimeStamp reference the time when the audio began to be received or the time when the audio was finished being received.

was it

X if X is equal to the time when recording began

or

X + the buffer length

thank you,

nonono

0 投票
1 回答
489 浏览

hosting - 如何保存和恢复音频单元作为音频单元主机的状态

我正在编写一个托管苹果系统提供的音频单元的应用程序。我想在用户拨入后保存音频单元的参数状态,并在用户再次加载音频单元时恢复它们。

我无法从主机那里找到这样做。我已经看到 AU 应该有 SaveState() 和 RestoreState() 方法,但是如何访问它们呢?

0 投票
1 回答
1570 浏览

iphone - 在 iphone 上播放 pcm 数据

我需要在 iphone 上实时播放线性 pcm 数据。

我通过 RTSP 获得了LIVE数据流,我目前可以从 iphone 读取它,将其保存到文件中,在支持 pcm 的桌面音频播放器上播放,因此我认为传输还可以。

现在我被卡住了,我已经完全了!不知道如何处理包含数据的 NSData 对象。

我做了一些研究,最终得到了 AudioUnits,但我无法将我的 NSdata 分配给音频缓冲区,我不知道如何分配。

就我而言,我分配了回调:

并具有“makeSound”功能:

我的方法大体上是错误的吗?

我需要知道/学习/实施什么?我是一个完整的音频新手,所以我的建议是,我不需要多个缓冲区,因为当我从 rtsp 获得新的声音包时,旧的声音包就结束了,因为它是一个实时流(我基于我的录音,这只是附加了没有查找表示时间戳的字节,因为无论如何我都没有收到)

干杯

0 投票
3 回答
2616 浏览

iphone - 设备中的 iPhone AudioUnitRender 错误 -50

我正在开发一个使用 AudioUnitRender 的项目,它在模拟器中运行良好,但在设备中出现 -50 错误。

如果有人遇到过类似的问题,请给我一些解决方案。

有关样本大小和框架的数据...

提前致谢..

0 投票
1 回答
1203 浏览

audio - 实时 MIDI 输入和音频同步

我已经构建了一个项目的独立应用程序版本,到目前为止它只是一个 VST/audiounit。我通过rtaudio提供音频支持。

我想使用rtmidi添加 MIDI 支持,但我不清楚如何同步音频和 MIDI 部分。

在 VST/audiounit 领域,我习惯于 MIDI 事件,这些事件有一个时间戳,表示它们在样本中从音频块开始的偏移量。

rtmidi 提供了自上一个事件以来的增量时间(以秒为单位),但我不确定我应该如何获取这些事件以及如何计算出与音频线程中当前样本相关的时间。

插件主机如何做到这一点?

我可以理解事件如何在回放时准确采样,但尚不清楚在使用实时输入时它们如何准确采样。

rtaudio 给了我一个回调函数。我将以较小的块大小(32 个样本)运行。我想我会将一个指向 rtmidi 实例的指针作为回调的 userdata 部分传递,然后调用 midiin->getMessage( &message ); 在音频回调中,但我不确定这是否是线程敏感的。

非常感谢你能给我的任何提示