কীভাবে অডিও ফ্রিকোয়েন্সি পরিবর্তন করবেন?


12

আমি একটি অডিও ফাইলের ফ্রিকোয়েন্সি পরিবর্তন করতে চাই। অর্থ: পুরো ফাইলটি একটি অক্টেভ উচ্চ বা নিম্নের শোনা উচিত (বলুন)। এটা কিভাবে করতে হবে? ffmpegঅন্যান্য কমান্ড লাইন ওপেন সোর্স সরঞ্জাম ব্যবহার করা বাঞ্ছনীয়।

উত্তর:


14

Ffmpeg সহ:

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

এখানে, 0.5 হল পিচ ফ্যাক্টর। অথবা আরও তথ্যের জন্য অন্য উত্তরটি দেখুন।


আপনার যদি জিইউআই দরকার হয় তবে অড্যাসিটি ব্যবহার করুন এটি একটি ফ্রি, ওপেন সোর্স, ক্রস প্ল্যাটফর্ম অডিও সম্পাদনা সরঞ্জাম।

বৈশিষ্ট্য: টেম্পো পরিবর্তন না করে বা তদ্বিপরীত পরিবর্তন করুন the


বিকল্প হিসাবে, sox চেষ্টা করুন । এরকম কিছু:

sox <infile> <outfile> pitch <shift>

যেখানে ইতিবাচক বা নেতিবাচক 'সেন্ট' (অর্থাত্ সেমিটনের 100 তম) হিসাবে পিচটিকে শিফট দেয়। অষ্টভরে 12 টি সেমিটোন রয়েছে, সুতরাং এর অর্থ হবে - 1200পরামিতি হিসাবে।


অসাধারণ ... sox আমার প্রয়োজন ঠিক তাই!
ট্যানন

Ffmpeg ব্যবহার পদ্ধতি অডিওর সময়কাল পরিবর্তন করে?
mrgloom

@ এমআরগ্লুম না, এটি করা উচিত নয়।

ব্যবহারের পরে ffmpeg -i man.wav -af asetrate=48000*0.75,aresample=48000 man_pitch_down.wavআমি ffmpeg -iআসল ওয়াভ Duration: 00:00:01.95, bitrate: 3080 kb/sএবং পরিবর্তিত ওয়াভ দ্বারা দেখছি Duration: 00:00:02.60, bitrate: 1536 kb/s। আমি Durationযেমন বুঝতে পারি সেকেন্ডে দৈর্ঘ্য।
mrgloom

@ মিগ্রলুম দয়া করে একটি নতুন প্রশ্ন পোস্ট করুন এবং সম্পূর্ণ কমান্ড লাইন আউটপুট অন্তর্ভুক্ত করুন।

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 ফিল্টার asetrateনামক একটি পরিবর্তনশীল থাকা উচিত irসাথে তুলনা মধ্যে, ইনপুট অডিও হার iw× ihকিছু ভিডিও ফিল্টারের, কিন্তু আমি ডকুমেন্টেশন এটা কোন উল্লেখ খুঁজে পাইনি।

২ এর চেয়ে বড় ফ্যাক্টরের জন্য (যেমন 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

তথ্যসূত্র

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.