কিভাবে ffmpeg সঙ্গে একটি সাইন ওয়েভ জেনারেট?


13

আমি এফএফপিপিগের সাথে একটি সাইন (সিনোসয়েড) তরঙ্গ সহ একটি অডিও ফাইল তৈরি করতে চাই। আমি জানি একটি sineফিল্টার আছে তবে এটি যতদূর যায়।

আমি চেষ্টা করেছিলাম:

fmpeg -filter "sine=48:1:5" -c:a pcms16le test

PCM S16LE ফর্ম্যাটে 48kHz এ 5 সেকেন্ড অডিও তৈরি করতে, তবে আমি নিম্নলিখিত ত্রুটি বার্তাটি পেয়েছি:

আউটপুট ফাইল # 0 এ কোনও স্ট্রিম থাকে না

এবং testফাইল খালি।


এছাড়াও আপনি সহ একটি ফাইল তৈরি ছাড়া একটি সাইন প্লে করতে পারেন ffplay: stackoverflow.com/questions/5109038/linux-sinus-audio-generator/...
সিরো Santilli冠状病毒审查六四事件法轮功

উত্তর:


23

5 সেকেন্ড সময়কালের জন্য 1000 হার্জেড সিগন্যাল তৈরি করতে এটি ব্যবহার করুন:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" test.wav

আপনি যোগ করতে পারেন -c:a pcm_s16le:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -c:a pcm_s16le test.wav    

স্যাম্পলিংয়ের হারটি 48 কেএইচজেডে সেট করতে:

ffmpeg -f lavfi -i "sine=frequency=1000:sample_rate=48000:duration=5" -c:a pcm_s16le test.wav

2
উদাহরণস্বরূপ যোগ করে আপনি প্রশস্ততা সেট করতে পারেন: -af "volume=-18dB"(-18 ডিবিএফএসের জন্য)।
mivk

6

এটি নেক্রো-ইনগিংয়ের জন্য ক্ষমা চাইছেন, তবে ভবিষ্যতে কেউ যদি এই সন্ধানে আসে তবে আপনি যদি স্টেরিওতে এটি করতে চান, আপনি নিম্নলিখিতটি করতেন:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 output.wav

আপনি এর -filter_complexসাথে ব্যবহার করতে পারেন amerge:

ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -filter_complex "[0:a][0:a]amerge=inputs=2[aout]" -map "[aout]" output.wav
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.