একটি অডিওক্লিপ কত জোরে তা নির্ধারণ করছে


10

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

এখানে চিত্র বর্ণনা লিখুন

আপনি দেখতে পাচ্ছেন, প্রশস্ততা ক্লিপ থেকে ক্লিপ থেকে একেবারে আলাদা হয়, পরবর্তীকালে এমন স্তর তৈরি করে যা সম্পূর্ণরূপে তুচ্ছ বা প্রায় অসম্ভব। আমি এই "জোরেতা" নির্ধারণের জন্য একটি উপায় খুঁজতে চাই যাতে গানটি থেকে ডেটা পাওয়ার পরে আমি এটিকে স্বরযুক্ত করতে বা গুণক দিয়ে এটিকে আরও প্রশস্ত করতে পারি। এছাড়াও, গান না খেলে এই ডেটা আহরণের কোনও উপায় আছে কি?

উত্তর:


9

এটি করার একটি ম্যানুয়াল উপায় হ'ল অডিওক্লিপ ব্যবহার করুন an অ্যারে নমুনা ডেটা পেতে গেটডাটা । তারপরে ডেটাটি লুপ করুন এবং অডিও ক্লিপটির "জোরে জোড়" পেতে রুট মিন স্কয়ারটি সন্ধান করুন।

এছাড়াও আপনি তারপর পুরো অ্যারের আকার পরিবর্তন যাতে সর্বোচ্চ মান 1.0f এবং এটি ফিরে সঙ্গে audioclip লিখতে পারেন AudioClip.SetData । এটিকে নরমালাইজিং অডিও বলা হয় এবং এটি নমুনাগুলিকে সর্বোচ্চ ভলিউমের সর্বাধিক পয়েন্ট দেয়। মনে রাখবেন যে এটি যদি আপনার অডিও ক্লিপগুলি খুব কম ভলিউম হয় তবে খুব উচ্চ শিখর রয়েছে account এর জন্য আরও উন্নত কৌশল রয়েছে (নীচে উল্লিখিত)।

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


দুর্দান্ত উত্তর, আরও বিস্তারিতভাবে এই সমস্ত দেখতে হবে। ধন্যবাদ!
মালি 16

5
সর্বাধিক মান সর্বদা সেরা বিকল্প নয় (যেমন আপনি বলেছিলেন)। খুব খুব সংক্ষিপ্ত জোরে স্পাইকস (এই ক্লিকগুলির মতো শব্দগুলি) অবিচ্ছিন্ন শব্দের মতো তত জোরে মনে হয় না। আপনি যদি অনুভূত উচ্চতা চান তবে আপনার সমস্ত মানকে বর্গাকার করতে হবে, এটি গড় গড়ে এবং তারপরে বর্গমূল নেওয়া উচিত। এইভাবে এটি করা সাধারণকরণ যা করে তাই আশা করি এর জন্য একটি Unক্য তৈরি হয়েছে।
জিজামন

2
জোড়তা শব্দ শক্তির সাথে সম্পর্কিত, এবং এটি নির্ধারণের উপায়টি যেমন @ জিজ্যামন ইঙ্গিত করে, মূল-বর্গ-স্কোয়ার (আরএমএস) গণনা করে। dsp.stackexchange.com/questions/2951/loudness-of-pcm-stream
জ্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.