2012-10-18 12 views
5

मैं CoreAudio का उपयोग करके MIDI synth का निर्माण कर रहा हूं। वर्तमान में, मेरे पास निम्न ऑडियो ग्राफ़ है:कोरऑडियो ऑडियो ग्राफ में कस्टम ऑडियो प्रभाव - कॉलबैक

Sampler -> Reverb -> IO 

मुझे ग्राफ़ के साथ-साथ reverb पर कोरस प्रभाव जोड़ने की आवश्यकता है। समस्या यह है कि आईफोन पर कोरस प्रभाव नहीं है। इस के आसपास पाने के लिए मैं अपने कोरस प्रभाव को लागू करने की योजना बना रहा हूं। ऐसा करने के लिए मुझे ऑडियो स्ट्रीम तक पहुंच की आवश्यकता है।

प्रश्न यह है: ऑडियो ग्राफ़ के बीच में ऑडियो स्ट्रीम तक पहुंच प्राप्त करने का सबसे अच्छा तरीका क्या है।

Sampler -> Reverb -> [Custom processing] -> IOUnit 

क्या कोई तरीका है कि मैं AudioUnitAddRenderNotify कॉलबैक जैसे कुछ का उपयोग कर ऑडियो स्ट्रीम को बदल सकता हूं? या मैं इस तरह ऑडियो ग्राफ को तोड़ने के लिए है:

Sampler -> Reverb -> [AudioUnitAddRenderNotify callback] -> buffer -> [RenderCallback] -> IOUnit 

किसी भी सलाह की सराहना की जाएगी।

उत्तर

2

सबसे अच्छा तरीका है कि रेंडर को अपने रिवरब नोड के एयू में कॉलबैक (AudioUnitAddRenderNotify) सूचित करें और kAudioUnitRenderAction_PostRender कॉल में ऑडियो को संसाधित करें। मैंने एक प्रयोग किया और इसे तब तक काम करने के लिए मिला जब तक ऑग्राफ खुला होने के बाद कॉलबैक जोड़ा गया था, और प्रीरेंडर कॉल में कोई प्रोसेसिंग नहीं की गई थी।

+0

यह काम किया। यह पता चला है कि आप रेंडर अधिसूचना का उपयोग कर फ्लाई पर ऑडियो जानकारी को संशोधित कर सकते हैं। –

संबंधित मुद्दे