ऑडियो फ्रीक्वेंसी कैसे बदलें?


12

मैं एक ऑडियो फ़ाइल की आवृत्ति को बदलना चाहता हूं। अर्थ: पूरी फ़ाइल को ध्वनि (कहना) एक सप्तक उच्च या निम्न होना चाहिए। यह कैसे करना है? का उपयोग करते हुए ffmpegया अन्य कमांड लाइन खुला स्रोत उपकरण बेहतर होगा।

जवाबों:


14

Ffmpeg के साथ:

ffmpeg -i <input> -af asetrate=44100*0.5,aresample=44100 <output>

यहां, 0.5 पिच कारक है। या अधिक विवरण के लिए अन्य उत्तर देखें।


यदि आपको GUI की आवश्यकता है , तो ऑडेसिटी का उपयोग करें , यह एक मुफ़्त, खुला स्रोत है, प्लेटफ़ॉर्म ऑडियो संपादन उपकरण है।

विशेषताएं: टेंपो, या इसके विपरीत बदल के बिना पिच बदलें।


एक विकल्प के रूप में, sox का प्रयास करें । ऐसा कुछ:

sox <infile> <outfile> pitch <shift>

जहां पिच को पॉजिटिव या नेगेटिव 'सेंट' के रूप में दिया गया है (यानी एक सेमीटोन के 100 वें भाग)। एक ऑक्टेव के 12 सेमीटोन हैं, इसलिए इसका मतलब 1200। एक पैरामीटर के रूप में होगा ।


भयानक ... sox अभी मुझे क्या चाहिए!
tanon

क्या ffmpeg का उपयोग करने की विधि ऑडियो की अवधि को बदल देती है?
मर्ग्लोम

@ मर्ग्लूम नहीं, यह नहीं होना चाहिए।
slhck

उपयोग करने के बाद ffmpeg -i man.wav -af asetrate=48000*0.75,aresample=48000 man_pitch_down.wavमैं ffmpeg -iमूल wav Duration: 00:00:01.95, bitrate: 3080 kb/sऔर संशोधित wav द्वारा देखता हूं Duration: 00:00:02.60, bitrate: 1536 kb/s। जैसा कि मैं समझता हूं कि Durationसेकंड में लंबाई है।
मर्ग्लोम

@mrgloom कृपया एक नया प्रश्न पोस्ट करें और पूर्ण कमांड लाइन आउटपुट शामिल करें।
slhck

9

इस प्रकार पहले से इनपुट ऑडियो दर ज्ञात करें:

ffmpeg -i input.mp4

इनपुट ऑडियो दर 44,100 हर्ट्ज मानकर, यह कमांड काम करेगा:

ffmpeg -i input.mp4 -af asetrate=44100*3/4,atempo=4/3 output.mp4

3/4 का कारक अधिकांश महिला और "पतला" (चिपमंक) आवाज़ों को पुरुष और "वसा" आवाज़ में बदल देगा। विपरीत के लिए 4/3 का उपयोग करें:

ffmpeg -i input.mp4 -af atempo=3/4,asetrate=44100*4/3 output.mp4

संकेत गिरावट को रोकने के लिए उलटा फिल्टर क्रम नोटिस। जब भी संभव हो, दोषरहित ऑपरेशन हानिपूर्ण ऑपरेशन से पहले आना चाहिए। मुझे 100% यकीन नहीं है कि क्या मैं यहाँ गलतफहमी FFmpeg फ़िल्टर से कुछ गलती नहीं कर रहा हूँ।

FFmpeg फ़िल्टर में कुछ वीडियो फिल्टर में × × के अनुरूप, इनपुट ऑडियो रेट के लिए asetrateएक वैरिएबल होना चाहिए , लेकिन मैं प्रलेखन में इसका कोई उल्लेख नहीं पा सका।iriwih

2 से अधिक कारकों (जैसे 4/1 या 1/4) के लिए, आपको कई atempoफ़िल्टर (1/4 = 1/2 * 1/2 या 4/1 = 2/1 * 2/1) का उपयोग करना होगा:

ffmpeg -i input.mp4 -af asetrate=44100*4,atempo=1/2,atempo=1/2 output.mp4

मुझे नहीं पता कि "पतली" पुरुष आवाज और "मोटी" महिला आवाज कैसे प्राप्त करें।

इसके बजाय -af, आप लिख सकते हैं -filter:audioया -filter:a

संदर्भ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.