2013-02-15 46 views
6

मुझे पिच को प्रभावित किए बिना अंतर गति पर एमपी 3 फ़ाइल चलाने में सक्षम होना चाहिए (या तेज होने के बाद पिच बदलना), इसके अलावा, इस संक्रमण को जितना संभव हो उतना सहज होना चाहिए।पिच बदलने के बिना एंड्रॉइड में रीयल-टाइम में संगीत को कैसे गति देना है?

स्पष्ट रूप से ऐसे ऐप्स हैं जो ऐसा करते हैं, इसलिए यह संभव है, लेकिन MediaPlayer एपीआई के साथ ऐसा संभव नहीं है, और SoundPool एपीआई केवल पिच और दर दोनों को बदल सकता है (जब तक कि मुझे कुछ याद नहीं आ रहा हो)।

यह कैसे प्राप्त करें इस पर कोई विचार है? कोई भी एपीआई/तृतीय पक्ष पुस्तकालय जो मदद कर सकता है?

धन्यवाद।

+1

[इस प्रश्न] (http://stackoverflow.com/q/11260043/752320) का जिक्र करने का प्रयास करें। – Geobits

+0

क्या आपको यह हासिल करने का कोई तरीका मिला है? –

+0

हमने एक तृतीय पक्ष लाइब्रेरी का उपयोग करके, स्ट्रीम में लिखना और ऑडियोट्रैक का उपयोग करके इसे पढ़ना समाप्त कर दिया है। – Gal

उत्तर

1

Time Scale Modification नामक एक सामान्य तकनीक है जो यह कर सकती है। यहां एक उपकरण उपलब्ध है जिसका मैंने मूल्यांकन नहीं किया है: http://sourceforge.net/projects/mffmtimescale/

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