আরএমএস সহ একটি ট্র্যাকের উচ্চতা অর্জন করা


15

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

আমি কি কেবল এক সেকেন্ডের জন্য (অডিও [0] - অডিও [44099], অডিও [44099] - অডিও [88199] ইত্যাদি ..) নমুনা করব এবং সেই মানগুলির আরএমএস গণনা করব? সুতরাং, উদাহরণস্বরূপ, আমি কি এটি করব:

আরএমএস=শ্রুতি[0]2+ +শ্রুতি[1]2+ +শ্রুতি[2]2শ্রুতি[44099]244100

প্রতি সেকেন্ডের জন্য?


1
উপরের অভিব্যক্তিটিতে একটি অনুপস্থিত বন্ধনী রয়েছে - আমি এটি নিজে যুক্ত করব তবে সম্পাদনাগুলিতে দৃশ্যত কমপক্ষে characters টি অক্ষর হওয়া দরকার ...
পল আর

3
@ পলআর - আপনি <!-- html comment -->বিরল ক্ষেত্রে চরিত্রের বিধিনিষেধকে ঘিরে কাজ করতে একটি যুক্ত করতে পারেন যে অন্যথায় নিখুঁত পোস্টে একটি ছোট কিন্তু খুব গুরুত্বপূর্ণ ত্রুটি রয়েছে। এই প্রয়োজনটি খুব কমই ঘটে: সাধারণত উন্নতির 6 টিরও বেশি অক্ষর থাকে। উদাহরণস্বরূপ, যখন বন্ধনীগুলি অনুপস্থিত থাকে তখন সাধারণত টেক্স \sqrt{}এন্ড \frac{}{}কনস্ট্রাক্টস ব্যবহার করা ভাল ।
কেভিন ভার্মির

1
@ কেভিন: টিপটির জন্য ধন্যবাদ - আমি ভবিষ্যতে আপনার এইচটিএমএল মন্তব্য পরামর্শ ব্যবহার করব।
পল আর

@ পলআর - এটি পূর্বে আলোচনা করা হয়েছে: এই সীমাবদ্ধতা ইচ্ছাকৃত, অসম্পূর্ণ বা অর্থহীন সম্পাদনাগুলি রোধ করার জন্য ডিজাইন করা হয়েছে ( এখানে একটি প্রতিরক্ষা দেখুন ), তবে এর বিরোধী রয়েছে ( এখানে আলোচনা দেখুন )।
কেভিন ভার্মির

4
মনে রাখবেন যে আরএমএস একাই আপনাকে উচ্চতা বলে না। চূড়ান্তভাবে কম বা উচ্চ ফ্রিকোয়েন্সি একই আরএমএস মানের 3 kHz এর চেয়ে বেশি ভলিউমে কম শোনায়। একটি এ-ওজন ফিল্টার আপনাকে আরও সঠিক অনুমান দেবে। gist.github.com/148112
এন্ডোলিথ

উত্তর:


12

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

সমান জোরে জোড়

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


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

@gman ধারণাটি হ'ল একটি ফিল্টার দিয়ে অডিওকে প্রস্রোস করা এবং তারপরে প্রশ্নটি (আরএমএস গণনা) হিসাবে ফলাফলটি ব্যবহার করা। আপনি কী বলতে চাইছেন তা আমি 100% নিশ্চিত নই। আপনি কীভাবে ফিল্টারিং বা সম্ভবত ফিল্টার ডিজাইন করবেন তা নিশ্চিত নন?
নায়ারেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.