jjzjj

audioUnit

全部标签

windows - 创建音频插件 UI 的 "best"方法是什么,它既是音频单元又是适用于 OS X 和 Windows 的 VST?

我正在开发几个音频插件。现在,它们是音频单元。虽然“DSP”代码在大部分实现/端口之间不会改变,但我不确定如何处理GUI。例如,我正在查看Lion中Apple提供的AU。有谁知道他们是如何处理UI的?比如,旋钮和控件只是Cocoa控件的子类吗?他们是使用一些单独的框架还是从头开始对这些旋钮等进行编码?然后,我正在开发的插件也将作为适用于Windows的VST提供。我已经使用通用接口(interface)启动并运行它们。但我想知道我是否应该克服它并使用Steinberg提供的vstgui代码重新创建我的所有界面,或者是否有更实用的方法来使界面跨平台。 最佳答案

c++ - AudioUnit 中的输入缓冲区结构

我编写了一个简单的audiounit,它应该交换立体声源的左右声道。对于使用BASS库的命令行程序,此代码的移植版本在C中运行良好,但我无法让相同的代码在Xcode中为audiounit工作。例如,对于{1,2,3,4,5,6}的缓冲区输入,我希望立体声反转为{2,1,4,3,6,5}。我的代码以这种方式正确地反转了样本,但我听到的只是某种低通滤波,而不是样本的立体声反转。我的输入缓冲区中的前4个值是:0.0001040.0001010.0000800.000113输出是:0.0001010.0001040.0001130.000080我是否误解了输入/输出缓冲区的结构方式?voidF

ios - 在 iOS 中以不同的采样率同时录制和播放

我正在开发一款iOS应用,其中的音频录制和播放应该同时进行,但采样率不同。录音将通过连接的USB音频设备完成,播放通过内置扬声器完成。我正在使用AudioUnits进行录音和播放。AVAudioSession类别设置为AVAudioSessionCategoryPlayAndRecord。问题在于,录音采样率应为96kHz,而播放采样率应为8kHz,并且两者应同时运行。目前,每当我使用AVAudioSessionCategoryPlayAndRecord和setPreferredSampleRate到96kHz时,最终AVAudioSession的sampleRate属性保持在48kH

ios - 使用哪个音频 API 来创建音频效果?

我想录制音频并应用定制的音效过滤器,然后进行播放。音频单元和音频队列服务是我正在寻找的API吗?还是有其他API更适合这个目的?此外,有人告诉我无法在iOS上自定义音频单元,因此只有一些预制效果可用。这是真的吗? 最佳答案 AudioUnits是iOS下构建效果处理最有用的API。iOS5添加了几种新型过滤器和效果单元。您可以在某些音频单元缓冲区回调中添加自己的自定义DSP效果。 关于ios-使用哪个音频API来创建音频效果?,我们在StackOverflow上找到一个类似的问题:

ios - 直接调用音频单元而不是回调 iOS

是否有对音频单元的直接调用,这样我就不必依赖系统回调-输入和渲染回调(我可以用计时器模拟这个)。比如有AudioUnitRender从音频单元中拉取数据,是否有其他API向音频单元推送数据? 最佳答案 虽然我不知道CoreAudioAPI中有特定的类似推送的调用,但您可以通过在单独的C函数中进行DSP处理来轻松完成此操作,该函数接受传入的浮点缓冲区。这样,渲染回调可以在那里完成繁重的工作,如果您需要进行基于推送的处理,您也可以手动调用该函数。 关于ios-直接调用音频单元而不是回调iOS

ios - 当 iPad 重新启动时,使用 RemoteIO AudioUnit 的 iOS 应用程序上没有音频

我有一个奇怪的问题,当我从设备上的XCode构建和运行我开发的iOS应用程序时,它工作正常。但是,在重新启动设备并运行应用程序时,我根本听不到任何音频。如果我随后终止该应用程序并从设备重新启动它,我将再次开始获取音频。我最初认为这是一个中断处理程序问题,但我不确定了。任何帮助将不胜感激!这是我的中断处理程序以防万一。staticvoidMyInterruptionListener(void*inUserData,UInt32inInterruptionState){printf("Interrupted!inInterruptionState=%ld\n",inInterruption

ios - 从 MultiChannelMixer AudioUnit 同步录音和回放

我正在尝试创建一个应用程序来播放从文件中加载的多个示例(类似于iPhoneMultichannelMixer示例应用程序),同时记录用户从麦克风或线路输入的输入并将任何立体声格式的所有内容保存(记录)到文件中.在架构上,我有一个MixerAudioUnit,它接收不同的样本作为输入,混合它们并通过IORemote播放。IORemote麦克风输入正在被另一个回调捕获以进行录音。问题是-我如何记录麦克风输入和从MixerAudioUnit输出总线播放的内容?我能否简单地将我从麦克风获得的信号混合到同一个混音器中,并将混音器连接到IORemote以及其他一些将处理混合信号录音的AudioUn

ios - 连接节点错误 kAudioUnitErr_PropertyNotWriteable 时 AudioToolbox AUGraph 失败

我正在尝试使用混音器和io单元创建音频图。io单元将从麦克风接收音频并将其发送到混音器,混音器会将其与外部声音混合,然后从扬声器播放。我已经创建了如下所示的音频图,并尝试尽可能地遵循指南。但是,当我尝试将混音器节点连接到输出节点时,我不断收到错误-10865(kAudioUnitErr_PropertyNotWriteable)。有人可以为我澄清发生了什么问题吗?如果需要,我将包含更多代码,例如我的回调和私有(private)变量。NSLog(@"Creatingaudiograph");sampleRate=44100.0;//WillcheckresultsOSStatusresu

ios - 在 iOS 上将多个 AudioUnit 与 MTAudioProcessingTap 结合使用

我正在尝试在iOS设备上播放用户iPod库中的音频文件,同时使用AudioUnit应用参数EQ效果。我一直在使用这个示例作为指南:https://developer.apple.com/library/ios/samplecode/AudioTapProcessor/Introduction/Intro.html我有EQ效果器,但我需要添加多个EQ效果器。在我的“进程”回调中,我尝试在多个AudioUnit效果器(所有类型的ParametricEQ)上多次运行AudioUnitRender。status=AudioUnitRender(audioUnit,0,&audioTimeSta

ios - 来自远程 I/O 单元的原始音频数据的测量单位是什么?

我正在使用远程I/O单元录制原始音频数据,如下所示:staticOSStatusperformRender(void*inRefCon,AudioUnitRenderActionFlags*ioActionFlags,constAudioTimeStamp*inTimeStamp,UInt32inBusNumber,UInt32inNumberFrames,AudioBufferList*ioData){OSStatuserr=noErr;if(*callbackStruct.audioChainIsBeingReconstructed==NO){err=AudioUnitRender