2009-09-09 15 views
5

मैं एक क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन लिखना चाहता हूं जो वास्तविक समय में माइक्रोफ़ोन डेटा को संसाधित और प्ले कर सकता है। अवधारणा के सबूत के रूप में कल्पना करें एक चैट रूम जहां लोग एक-दूसरे से बात कर सकते हैं और अपनी आवाजों पर फ़िल्टर लागू कर सकते हैं। ओपनएएल इस के लिए उपयुक्त है? यदि नहीं, तो क्या कोई विकल्प प्रदान कर सकता है? इसके अतिरिक्त, अगर कोई मुझे माइक्रोफोन से पढ़ता है और आउटपुट को वापस थूकता है तो एक साधारण "हैलो वर्ल्ड" प्रोग्राम प्रदान या लिंक कर सकता है, तो यह शानदार होगा।माइक्रोफोन से ओपनल रीयल टाइम ऑडियो प्रोसेसिंग

धन्यवाद!

+0

मुझे इसमें भी रूचि है। बहुत बुरा कोई जवाब नहीं दिया है = / – CptAJ

उत्तर

-1

ऐप्पल के दो नमूने (या अधिक) हैं जो ऐसा करते हैं। ऑरियो टच देखें और बोलें। ऑरियो टच माइक्रो इनपुट ले सकता है और इसे वापस चला सकता है और स्पीक यहां इनपुट ले सकता है और इसे रिकॉर्ड कर सकता है, और आप इसे वापस खेलने के लिए इसे आसानी से संशोधित कर सकते हैं।

2

ओपनएएल एपीआई के अनुसार तकनीकी रूप से सक्षम है, लेकिन आईओएस के लिए ऐप्पल के कार्यान्वयन में ऑडियो कैप्चर फीचर्स शामिल नहीं हैं।

आईओएस पर, आपको रिकॉर्ड करने के लिए ऑडियो कतार या ऑडियो इकाइयों का उपयोग करने की आवश्यकता होगी। रीयलटाइम प्रभावों को लागू करने के लिए, ऑडियो यूनिट्स जाने का तरीका है, हालांकि ऑडियो कतारों की तुलना में अधिक जटिल है।

3

ओपनल इस उद्देश्य के लिए बहुत अच्छा नहीं हो सकता है। मैं एसडीएल (शायद एसडीएल_Mixer के साथ) या पोर्टऑडियो का उपयोग करने की सिफारिश करेंगे। दोनों क्रॉस-प्लेटफॉर्म हैं और दोनों उपयोग करने में काफी आसान हैं।

इस उद्देश्य के लिए ओपनएएल का उपयोग करने के लिए आपको यह देखने के लिए मतदान करना होगा कि एक छिपे हुए परिपत्र बफर में कितने नमूने जमा हुए हैं। जब आप तय करते हैं कि आप तैयार हैं तो आप उन्हें बाहर ले जाते हैं। फिर आप अपना फ़िल्टर लागू करते हैं। फिर आप फ़िल्टर किए गए डेटा को बफर में संलग्न करते हैं। फिर आप बफर को एक स्रोत पर कतारबद्ध करते हैं और स्रोत को खेलने के लिए कहते हैं (जब तक यह पहले से ही खेल नहीं रहा हो)। ओपनल की ताकत, मेरी राय में, 3 डी प्रभाव लागू करने के लिए है। यह रीयल-टाइम फ़िल्टरिंग पर उतना ही अच्छा नहीं है, हालांकि मुझे उम्मीद है कि आप इसे काम कर सकते हैं यदि आप आउटपुट पर थोड़ी अधिक अंतराल स्वीकार करने के इच्छुक हैं। मैं फ़िल्टरिंग के लिए बफर-ऑब्जेक्ट मॉडल पर कॉलबैक मॉडल पसंद करता हूं।


संपादित करें: OpenAL: How to create simple "Microphone Echo" programm? एक टिप्पणी बताते हैं, जहां एक प्रसंस्करण रखा: मैं कुछ कोड है कि कम से वास्तव में इस पर क्या करना होगा तैनात।

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