2009-08-07 10 views
13

पर ध्वनि प्रभाव के लिए सबसे अच्छा प्रारूप क्या है Iphone या iToouch पर छोटे (2-3 सेकंड) ऑडियो ध्वनि प्रभावों को संग्रहीत करने और चलाने के लिए अनुशंसित ऑडियो प्रारूप क्या है?आईफोन

iPhone ऑडियो SDK दस्तावेज़ इंगित करता है कि iPhone कई प्रारूपों में ऑडियो का समर्थन करता है - लेकिन वहाँ प्रत्येक के लिए कमियां हैं:

  • एमपी 3: यह एक अत्यधिक संकुचित है, लेकिन यह भी उच्च गुणवत्ता वाले एन्कोडिंग प्रारूप कि संगीत और बोले आवाज की समृद्धि को बरकरार रखता है। हालांकि, आईफोन पर एक समय में केवल एक एमपी 3 स्ट्रीम खेला जा सकता है क्योंकि इसे हार्डवेयर डिकोडर के उपयोग की आवश्यकता होती है। इसमें एमपी 3 को ध्वनि प्रभाव के प्रारूप के रूप में शामिल नहीं किया गया है, क्योंकि वे पृष्ठभूमि संगीत और/या किसी भी उपयोगकर्ता संगीत को बाधित करेंगे।
  • डब्ल्यूएवी: आईफोन केवल डब्ल्यूएवी फाइलों का समर्थन करता है अगर वे पीसीएम हैं - एनकोडेड हैं और किसी भी संपीड़न कोडेक की आवश्यकता नहीं है। जबकि डब्ल्यूएवी कई अलग-अलग नमूना दरों और बिट-गहराई का समर्थन करता है, इसके परिणामस्वरूप बहुत बड़ी फाइलें होती हैं (180-सेकेंड/सेकेंड 16-बिट/44.1kHz/स्टीरियो ऑडियो)। जब आपके पास तेजी से खेलने के लिए कई प्रभाव पड़ते हैं तो बड़ा आकार निषिद्ध हो जाता है।
  • एआईएफएफ: डब्ल्यूएवी फाइलों के समान समस्याएं हैं - यह स्पष्ट नहीं है कि कोई संपीड़न कोडेक्स समर्थित हैं। माना जाता है कि ऐप्पल लॉसलेस संपीड़न समर्थित है - लेकिन मुझे कोई संपीड़न नहीं मिल रहा है जो इस संपीड़न का उपयोग करने में एआईएफएफ उत्पन्न कर सकता है।
  • कस्टम: आप किसी भी स्रोत से अपना स्वयं का ऑडियो चलाने के लिए आईफोन निम्न-स्तरीय एपीआई का उपयोग कर सकते हैं। लेकिन यह एक खेल में एक साधारण ध्वनि प्रभाव खेलने के लिए overkill की तरह लगता है। मैं निश्चित रूप से इसके लिए अपनी खुद की ऑडियो परत और एन्कोडर/डिकोडर लिखना नहीं चाहता हूं।

किसी भी सिफारिश की सराहना की जाएगी ... यह उपयोगी होगा अगर कोई ऑडियो प्रोसेसिंग के लिए एक उचित मूल्य वाले टूल की सिफारिश कर सकता है जो अनुशंसित प्रारूप उत्पन्न कर सकता है। धन्यवाद।

उत्तर

10

आप IMA4 संपीड़ित फ़ाइलों का उपयोग कर सकते हैं, जो WAV फ़ाइलों से 1: 4 संपीड़न प्रदान करते हैं और हार्डवेयर द्वारा डिकंप्रेस्ड होते हैं (आप उन्हें AVAudioPlayer के साथ लोड कर सकते हैं)।

एमपी 3 के लिए, आप केवल उस प्रारूप में एक फ़ाइल को एक साथ चला सकते हैं, यही कारण है कि ध्वनि प्रभावों के लिए इसकी अनुशंसा नहीं की जाती है जहां आप एक ही समय में एक से अधिक हो सकते हैं।

मैं OpenAL साथ IMA4 फ़ाइलों का उपयोग कर रहा है, इसलिए मैं उन्हें मैन्युअल रूप से decompressing रहा हूँ this post के आधार पर एक कोड के साथ।

+1

डेबी डाउनर नहीं होना चाहिए, लेकिन एक ही समय में कई एमपी 3 खेलना बहुत आसान है। बस AVAudio प्लेयर के एक से अधिक उदाहरण का उपयोग करें। –

+1

कम से कम जब मैंने यह उत्तर पोस्ट किया, तो यह मामला नहीं था। 'AVAudioPlayer' ने केवल एक ही एमपी 3 फ़ाइल को एक बार में चलाने की अनुमति दी, जबकि एक माध्यमिक खेला महत्वपूर्ण देरी दिखाएगा, और बूंदें। मुझे लगता है कि यह अभी भी मामला है, इसके अलावा गेम के लिए, जहां ध्वनि शुरू होने पर आपको सटीक नियंत्रण की आवश्यकता होती है। – pgb

2

मैं सीएएफ प्रारूप फाइलों के साथ बहुत अच्छी किस्मत लिया है हालांकि WAV आकार में करीब आता है।

उपकरण के लिए, ऑडैसिटी मुफ्त और उचित रूप से कार्यात्मक है। मैं मुख्य रूप से अमेडियस प्रो (लगभग यूएस $ 40) का उपयोग करता हूं। बहुत सभ्य और सभी आईफोन समर्थित ऑडियो प्रारूप (एमपी 3, एआईएफएफ, WAVE, एएसी, और सीएएफ सहित) उत्पन्न करता है। एक अच्छी सुविधा यह है कि यह AudioUnit और VST प्लग-इन का समर्थन करता है ताकि आप SoundFX जोड़ सकें।

मैं भी (दुष्ट अमीबा द्वारा) विखंडन के बारे में अच्छी बातें सुना है, लेकिन वास्तव में उपयोग नहीं किया है। उनके अन्य ऑडियो उत्पाद बहुत ठोस हैं।

AVAudioPlayer ढांचे छोटे क्लिप खेलने में बहुत अच्छा है, लेकिन आप ध्वनि को प्री-लोड करना चाहते हैं (prepareToPlay पर कॉल करें) और अगर आप स्मृति को छोड़ सकते हैं तो उन्हें चारों ओर रखें।

+0

मैंने सोचा कि सीएएफ सिर्फ एक कंटेनर प्रारूप था, और इसमें एमपी 3, आईएमए 4, एआईएफएफ आदि शामिल हो सकते हैं। क्या मैं गलत हूं? – mahboudz

+0

सीएएफ फाइलों में अन्य प्रकार के फ़ाइल स्वरूपों को भाग के रूप में शामिल किया जा सकता है, लेकिन उनके पास 64-बिट हेडर, मेटाडेटा और ट्रैक लेआउट है। आपको अभी भी कनवर्टर टूल की आवश्यकता है जो अन्य प्रकारों को आयात कर और सीएएफ को लिख सके। यहां spec है: http://devworld.apple.com/documentation/MusicAudio/Reference/CAFSpec/CAF_overview/CAF_overview.html – Ramin

0

केवल प्रारूप मैं काम करने के लिए प्राप्त करने में सक्षम किया गया है सीएएफ है।यह सेब से अधिकांश कोड उदाहरणों में से एक है। यदि आप कम ध्वनि प्रभाव का उपयोग कर रहे हैं तो आकार एक समस्या नहीं होगी।

1

अपने मैक पर afconvert कमांड लाइन उपयोगिता पर एक नज़र डालें। यह विभिन्न ऑडियो प्रारूपों के बीच कई रूपांतरण करता है, और यदि आपके पास बहुत सारी आवाज़ें हैं, तो आप रूपांतरणों को स्क्रिप्ट कर सकते हैं ...

मैं गैरेजबैंड में निर्मित असम्पीडित रैखिक पीसीएम में ध्वनि के साथ ध्वनि टूलबॉक्स और AVAudioPlayer का उपयोग करता हूं।

SoundToolbox एक छोटी छोटी "बोईंग" या "क्लिक करें" या अन्य ध्वनियों है कि आप खेलने के लिए गति प्रदान खेलने के लिए अच्छा है और आप को रोकने या उनका वॉल्यूम आदि के साथ खिलवाड़ के बारे में परवाह नहीं है

आप चाहते हैं ध्वनि बजाना बंद करें या यह जान लें कि ध्वनि बजाना है या नहीं, AVAudioToolbox अच्छा है। यदि आप ध्वनि के बाएं और दाएं घटकों पर नियंत्रण के साथ ध्वनि बजाना चाहते हैं, तो ओपनएएल देखें।

यदि आप पहले से नहीं हैं, तो ध्वनि समर्थन पर ऐप्पल के iPhone Application Programming Guide पढ़ें।

यदि आपके ऐप के लिए ध्वनि महत्वपूर्ण है, तो आप बहुत कम काम के लिए उपलब्ध कुछ सुविधाओं का लाभ लेना चाह सकते हैं।

0

मैं माइक्रोसॉफ्ट एडीपीसीएम डब्ल्यूएवी प्रारूप का उपयोग कर रहा हूं जो 3.25: 1 (उच्च गुणवत्ता) से 3.98: 1 (डिफ़ॉल्ट गुणवत्ता) से संपीड़ित है। मैं ध्वनि के आधार पर 32000 या 22050 तक नमूना दर को भी कम करता हूं। स्टीरियो में कुछ फ़ाइलों को सहेजने की कोई आवश्यकता नहीं है - मोनो फ़ाइल के आकार को बहुत अच्छी तरह से कम कर देता है।

पृष्ठभूमि संगीत एमपी 3 के लिए ठीक है।