ব্যাকগ্রাউন্ড শব্দের হ্রাস এবং ffmpeg ব্যবহার করে একটি অডিও ক্লিপ থেকে বক্তৃতাটি অনুকূলিত করুন


30

আমি বক্তৃতা স্বীকৃতির জন্য একটি ভিডিও ফাইল থেকে অডিও ক্লিপগুলি বের করি। এই ভিডিওগুলি মোবাইল / অন্যান্য হস্তনির্মিত ডিভাইস থেকে আসে এবং তাই প্রচুর শব্দ হয়। আমি অডিওর পটভূমির শব্দটি হ্রাস করতে চাই যাতে আমার স্পিচ সনাক্তকরণ ইঞ্জিনে যে বক্তৃতাটি স্পষ্ট হয় তা স্পষ্ট হয়। আমি এই সমস্ত জিনিস করতে ffmpeg ব্যবহার করছি, কিন্তু শব্দ কমানোর পর্যায়ে আটকে আছি।

এখন পর্যন্ত আমি নিম্নলিখিত ফিল্টারগুলি চেষ্টা করেছি:

ffmpeg-20140324-git-63dbba6-win64-static\bin>ffmpeg -i i nput.wav -filter_complex "highpass=f=400,lowpass=f=1800" out2.wav

ffmpeg -i i nput.wav -af "equalizer=f=1000:width_type=h:width=900:g=-10" output.wav

ffmpeg -i i nput.wav -af "bandreject=f=1200:width_type=h:width=900:g=-10" output.wav

তবে ফলাফল খুব হতাশাব্যঞ্জক। আমার যুক্তিটি হ'ল যেহেতু বক্তৃতাটি 300-3000 এইচজেডের সীমার মধ্যে আসে আমি কোনও পটভূমির শব্দকে দমন করতে অন্য সমস্ত ফ্রিকোয়েন্সি ফিল্টার করতে পারি। আমি কী মিস করছি?

এছাড়াও, আমি Weiner ফিল্টার বক্তব্য উন্নত বৈশিষ্ট্য জন্য ব্যবহার করা যেতে পারে দেখলেন সম্পর্কে পড়তে এই কিন্তু নিশ্চিত এটি কিভাবে ব্যবহার করতে নই।

উত্তর:


35

আপনি যদি শ্রবণযোগ্য বক্তৃতাটি বিচ্ছিন্ন করতে চান তবে একটি হাইপাস ফিল্টার সহ লোপাস ফিল্টারটি একত্রিত করার চেষ্টা করুন। ব্যবহারযোগ্য অডিওর জন্য আমি লক্ষ্য করেছি যে 200hz ফিল্টার আউট করা এবং তারপরে 3000hz এবং তার বেশি ফিল্টার আউট ব্যবহারযোগ্য ভয়েস অডিও রাখার জন্য বেশ ভাল কাজ করে।

ffmpeg -i <input_file> -af "highpass=f=200, lowpass=f=3000" <output_file>

এই উদাহরণে নিম্নতর ফ্রিকোয়েন্সিগুলি কাটতে প্রথমে উচ্চ পাস ফিল্টার যুক্ত করুন এবং তারপরে উচ্চতর ফ্রিকোয়েন্সিগুলি কাটতে লো পাস ফিল্টারটি ব্যবহার করুন। প্রয়োজনে আপনি কাট ফ্রিকোয়েন্সি রেঞ্জের মধ্যে উচ্চ ডিবি ফ্রিকোয়েন্সিগুলি পরিষ্কার করতে একাধিকবার এর মাধ্যমে আপনার ফাইলটি চালাতে পারেন।


দুঃখিত, তবে মনে হচ্ছে এটি আমার পক্ষে কোনও শব্দমাত্রা হ্রাস করতে পারে না।
অঙ্গদ

এটি নিম্ন স্তরের পটভূমির শব্দকে কমাতে খুব ভাল কাজ করে (ভক্ত, গুঞ্জন ইত্যাদি) তবে অডিও মানের সাথে কিছুটা আপস করতে পারে, যদিও পরে অন্যান্য ফিল্টার প্রয়োগ করে কিছুটা প্রশমিত করা যায়।
আয়ান কলিন্স

3
আমার ক্ষেত্রে আসল অডিওটি খুব খারাপ ছিল, পটভূমিতে কিছু জল পড়ার কারণে ভয়েসটি শুনতে প্রায় অসম্ভব হয়ে পড়েছিল। আমি নিম্নলিখিত ব্যবহার। এটি দুর্দান্ত মানের নয়, তবে আসলটির চেয়ে 1000 গুণ ভাল। -af "highpass=f=200, lowpass=f=1000"
এরিক

উপরের বা পরিবর্তে আমি ffmpeg থেকে সতর্কতা দিয়ে কিছু ত্রুটি পেয়েছি: [পার্সড_হাইপাস্ট @ @ xx2424780] 52 বার ক্লিপিং। লাভ হ্রাস করুন।
শেভি

6
আপনি আপনার ফিল্টারটির পূর্বরূপ দেখতে পারবেনffplay <input file> -af lowpass=3000,highpass=200
বিজেআরএন

11

শোনার ব্যাকগ্রাউন্ড মোকাবেলায় এফএফপিপেগের এখন 2 টি নেটিভ ফিল্টার রয়েছে:

এছাড়াও, কিছু সময় থেকে, কেউ ladspaএফএফএমপিগের সাথে (শব্দ-সুপারপ্রেসরের সন্ধান করুন) এবং / অথবা lv2(স্পিচ ডিনোইজারের সন্ধান করুন) ফিল্টার ব্যবহার করতে পারেন ।


9

এফএফএমপিএগটিতে শব্দ-কমানোর জন্য কোনও শালীন অডিও ফিল্টার নেই Aud অড্যাসিটির মোটামুটি কার্যকর এনআর ফিল্টার রয়েছে তবে এটি কেবল গোলমালের একটি নমুনা সহ 2-পাস অপারেশন এবং তারপরে ইনপুট ব্যবহার করার জন্য তৈরি করা হয়েছে।

Https://github.com/audacity/audacity/blob/master/src/effects/NoiseReduction.cpp এর শীর্ষে থাকা মন্তব্যগুলি কীভাবে এটি কাজ করে তা ব্যাখ্যা করে। (মূলত: প্রান্তিকের নীচে থাকা প্রতিটি এফএফটি বিনকে দমন করে So সুতরাং এটি কেবল তখনই সংকেত দেয় যখন তারা frequency ফ্রিকোয়েন্সি ব্যান্ডের শোরগোলের চেয়ে বেশি জোরে থাকে problem এটি সমস্যা সৃষ্টি না করে আশ্চর্যজনক কাজ করতে পারে It's এটি ব্যান্ড-পাস ফিল্টারের মতো যা গ্রহণ করে সংকেতটিতে: যেহেতু শব্দের শক্তি পুরো স্পেকট্রামে ছড়িয়ে পড়েছে, কেবলমাত্র কয়েকটি সংকীর্ণ ব্যান্ডের মাধ্যমে দেওয়া মোট গোলমালের শক্তি অনেকটা কমিয়ে দেবে।

আরও দেখুন অডিও শব্দ দূষণ কমানোর: কিভাবে স্পর্ধা অন্যান্য অপশন তুলনা করে? এটি কীভাবে কাজ করে তার আরও বিশদের জন্য এবং এই থ্রোহোল্ডিং এফএফটি বিন বা অন্য কোনও উপায়ে সাধারণ বাণিজ্যিক শব্দ-হ্রাস ফিল্টারগুলির ভিত্তি।

এফএফএমপিগে ফিল্টারটি পোর্টিং করা কিছুটা বিশ্রী হবে। সম্ভবত এটি 2-পাস ফিল্টারের পরিবর্তে 2 ইনপুট সহ ফিল্টার হিসাবে কার্যকর করা সবচেয়ে ভাল কাজ করবে। যেহেতু একটি গোলমাল প্রোফাইল পেতে এটি কেবল কয়েক সেকেন্ডের প্রয়োজন, এটি পুরো ফাইলটি পড়ার মতো নয়। এবং আপনি এটি কোনও শব্দের নমুনা হিসাবে পুরো অডিও স্ট্রিমটি খাওয়াবেন না। প্রতিটি এফএফটি বিনের জন্য থ্রেশহোল্ডগুলি সেট করতে এটি জাস্ট আওয়াজের একটি নমুনা দেখতে হবে।

হ্যাঁ, 2 পাসের পরিবর্তে 2 য় ইনপুটটি বোঝা যাবে। তবে এটি বেশিরভাগ ffmpeg ফিল্টারগুলির তুলনায় এটি ব্যবহার করতে অনেক কম সহজ করে তোলে। আপনার স্ট্রিম বিভাজন / সময়সীমার এক্সট্র্যাক্ট সহ একগুচ্ছ ভুডো দরকার। এবং অবশ্যই আপনার ম্যানুয়াল হস্তক্ষেপের প্রয়োজন, যদি না আপনার পৃথক কোনও ফাইলে শব্দের নমুনা থাকে যা একাধিক ইনপুট ফাইলের জন্য উপযুক্ত। (একই মাইক / সেটআপের একটি শোনার নমুনা সেই সেটআপ থেকে সমস্ত ক্লিপের জন্য ভাল হওয়া উচিত))

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