音频单元从麦克风捕获声音,添加混响,然后发送到扬声器
Posted
技术标签:
【中文标题】音频单元从麦克风捕获声音,添加混响,然后发送到扬声器【英文标题】:Audio Unit to capture sound from mic, add reverb ,then send to speaker 【发布时间】:2013-03-06 13:54:29 【问题描述】:很抱歉再次打扰。
我使用音频图形处理方法播放mic-in并为扬声器的声音添加效果。 当我使用 AUGraph_1 时: RIO_input->Converter-> AUiPodE->RIO_output,它工作正常,我可以听到声音播放。
但是当我使用 AUGraph_2 时:RIO_input->Converter-> AUReverb2->RIO_output,尝试添加一些混响,出问题了,完全没有声音。
这是使用CAShow打印的日志:
AUGraph_1>>> 节点1:'auou''rioc''appl',实例0x816f920 O I
节点 2:'aufc' 'conv' 'appl',实例 0x81713e0 O I
节点 3:'aufx''ipeq''appl',实例 0x8171740 O I
连接:
节点 1 总线 1 => 节点 2 总线 0 [ 2 ch, 0 Hz, 'lpcm' (0x0000000C) 16 位小端有符号整数]
节点 2 总线 0 => 节点 3 总线 0 [ 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24 位小端有符号整数,去交错]
节点 3 总线 0 => 节点 1 总线 0 [ 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24 位小端有符号整数,去交错]
AUGraph_2>>>>
节点1:'auou''rioc''appl',实例0x8151420 O
节点 2: 'aufc' 'conv' 'appl',实例 0x7539df0 O
节点 3:'aufx' 'rvb2' 'appl',实例 0x7539210 O
连接:
节点 1 总线 1 => 节点 2 总线 0 [ 2 ch, 0 Hz, 'lpcm' (0x0000000C) 16 位小端有符号整数]
节点 2 总线 0 => 节点 3 总线 0 [ 2 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
节点 3 总线 0 => 节点 1 总线 0 [ 2 ch, 0 Hz, 'lpcm' (0x0000000C) 16 位小端有符号整数]
有什么问题吗?
请帮助我,任何线索将不胜感激。
最好的
【问题讨论】:
【参考方案1】:我做了同样的练习,但使用了混合器单元而不是转换器,如下所示
AudioUnitGraph 0x13D000: 会员节点: 节点1:'auou''rioc''appl',实例0x7ac9100 O 节点 2:'aumx''mcmx''appl',实例 0x7acdee0 O 节点 3:'aufx''rvb2''appl',实例 0x7acf150 O 连接: 节点 1 总线 1 => 节点 2 总线 1 [ 1 ch,44100 Hz,'lpcm' (0x00000C2C) 8.24 位小端符号整数,去交错] 节点 2 总线 0 => 节点 3 总线 0 [ 2 ch,44100 Hz,'lpcm' (0x00000029) 32 位小端浮点,去交错] 节点 3 总线 0 => 节点 1 总线 0 [2 ch, 0 Hz, 'lpcm' (0x0000000C) 16 位小端有符号整数]
我简化了来自 Audiograph http://zerokidz.com/audiograph/Home.html 的代码来执行此操作,因为它有很好的注释并解释了有关各种 ASBD 格式的问题。
【讨论】:
以上是关于音频单元从麦克风捕获声音,添加混响,然后发送到扬声器的主要内容,如果未能解决你的问题,请参考以下文章