AudioData

পাবলিক ক্লাস অডিও ডেটা

ইনপুট অডিও নমুনা প্রস্তুত করতে একটি রিং বাফার এবং কিছু ইউটিলিটি ফাংশন সংজ্ঞায়িত করে।

এটি ইনপুট অডিও ডেটা রাখার জন্য একটি রিং বাফার বজায় রাখে। ক্লায়েন্টরা `লোড` পদ্ধতির মাধ্যমে ইনপুট অডিও ডেটা ফিড করতে পারে এবং `getTensorBuffer` পদ্ধতির মাধ্যমে সমষ্টিগত অডিও নমুনাগুলি অ্যাক্সেস করতে পারে।

মনে রাখবেন যে এই ক্লাসটি শুধুমাত্র ফ্লোটে ইনপুট অডিও পরিচালনা করতে পারে ( AudioFormat.ENCODING_PCM_16BIT এ) বা ছোট ( AudioFormat.ENCODING_PCM_FLOAT এ)। অভ্যন্তরীণভাবে এটি PCM ফ্লোট এনকোডিং-এ সমস্ত অডিও নমুনা রূপান্তরিত করে এবং সঞ্চয় করে।

Kotlin

   val audioData = AudioData.create(format, modelInputLength)
   audioData.load(newData)
 
এ সাধারণ ব্যবহার

AudioRecord

   val audioData = AudioData.create(format, modelInputLength)
   Timer().scheduleAtFixedRate(delay, period) {
     audioData.load(audioRecord)
   }
 
এর সাথে আরেকটি নমুনা ব্যবহার

নেস্টেড ক্লাস

ক্লাস AudioData.AudioDataFormat আগত অডিও নমুনার বিন্যাস বর্ণনা করে কয়েকটি ধ্রুবক মোড়ানো, যথা চ্যানেলের সংখ্যা এবং নমুনা হার।

পাবলিক পদ্ধতি

স্ট্যাটিক অডিও ডেটা
তৈরি করুন ( AudioData.AudioDataFormat ফরম্যাট, int samplecounts)
একটি রিং বাফারের সাথে একটি AudioRecord উদাহরণ তৈরি করে যার আকার হল sampleCounts * format.getNumOfChannels()
স্ট্যাটিক অডিও ডেটা
তৈরি করুন (অডিও ফরম্যাট বিন্যাস, int স্যাম্পল কাউন্ট)
একটি রিং বাফারের সাথে একটি AudioData উদাহরণ তৈরি করে যার আকার হল sampleCounts * format.getChannelCount()
ভাসা[]
getBuffer ()
AudioFormat.ENCODING_PCM_FLOAT অর্থাৎ সমস্ত উপলব্ধ অডিও নমুনা ধারণ করে একটি ফ্লোট অ্যারে প্রদান করে
int
AudioData.AudioDataFormat
অকার্যকর
লোড (সংক্ষিপ্ত [] src)
ইনপুট অডিও নমুনা src কে ENCODING_PCM_FLOAT এ রূপান্তর করে, তারপর রিং বাফারে সংরক্ষণ করে।
অকার্যকর
লোড (float[] src, int offsetInFloat, int sizeInFloat)
রিং বাফারে ইনপুট অডিও নমুনা src সংরক্ষণ করে।
অকার্যকর
লোড (ছোট[] src, int offsetInShort, int sizeInShort)
ইনপুট অডিও নমুনা src কে ENCODING_PCM_FLOAT এ রূপান্তর করে, তারপর রিং বাফারে সংরক্ষণ করে।
int
লোড (অডিও রেকর্ড রেকর্ড)
একটি নন-ব্লকিং উপায়ে AudioRecord থেকে সর্বশেষ ডেটা লোড করে।
অকার্যকর
লোড (ফ্লোট[] src)
রিং বাফারে ইনপুট অডিও নমুনা src সংরক্ষণ করে।

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

পাবলিক পদ্ধতি

পাবলিক স্ট্যাটিক অডিওডেটা তৈরি ( AudioData.AudioDataFormat ফরম্যাট, int samplecounts)

একটি রিং বাফারের সাথে একটি AudioRecord উদাহরণ তৈরি করে যার আকার হল sampleCounts * format.getNumOfChannels()

পরামিতি
বিন্যাস এই ক্লাসে লোড করা অডিও ডেটার প্রত্যাশিত AudioData.AudioDataFormat
নমুনা গণনা নমুনার সংখ্যা।

পাবলিক স্ট্যাটিক অডিওডেটা তৈরি করুন (অডিও ফরম্যাট ফরম্যাট, int স্যাম্পল কাউন্ট)

একটি রিং বাফারের সাথে একটি AudioData উদাহরণ তৈরি করে যার আকার হল sampleCounts * format.getChannelCount()

পরামিতি
বিন্যাস TFLite মডেলের জন্য প্রয়োজনীয় AudioFormat । এটি চ্যানেলের সংখ্যা এবং নমুনা হার সংজ্ঞায়িত করে।
নমুনা গণনা মডেলের মধ্যে খাওয়ানোর নমুনার সংখ্যা

পাবলিক ফ্লোট[] getBuffer ()

AudioFormat.ENCODING_PCM_FLOAT এ সমস্ত উপলব্ধ অডিও নমুনা ধারণ করে একটি ফ্লোট অ্যারে প্রদান করে।

পাবলিক int getBufferLength ()

সর্বজনীন AudioData.AudioDataFormat getFormat ()

সর্বজনীন অকার্যকর লোড (সংক্ষিপ্ত [] src)

ইনপুট অডিও নমুনা src কে ENCODING_PCM_FLOAT এ রূপান্তর করে, তারপর রিং বাফারে সংরক্ষণ করে।

পরামিতি
src AudioFormat.ENCODING_PCM_16BIT এ অডিও নমুনা ইনপুট করুন। মাল্টি-চ্যানেল ইনপুটের জন্য, অ্যারেটি ইন্টারলিভ করা হয়।

সর্বজনীন অকার্যকর লোড (float[] src, int offsetInFloat, int sizeInFloat)

রিং বাফারে ইনপুট অডিও নমুনা src সংরক্ষণ করে।

পরামিতি
src AudioFormat.ENCODING_PCM_FLOAT এ অডিও নমুনা ইনপুট করুন। মাল্টি-চ্যানেল ইনপুটের জন্য, অ্যারেটি ইন্টারলিভ করা হয়।
offsetInFloat src অ্যারেতে শুরুর অবস্থান
সাইজইনফ্লোট কপি করা ফ্লোট মান সংখ্যা
নিক্ষেপ করে
অবৈধ আর্গুমেন্ট ব্যতিক্রম অসঙ্গত অডিও বিন্যাস বা ভুল ইনপুট আকারের জন্য

সর্বজনীন অকার্যকর লোড (সংক্ষিপ্ত [] src, int offsetInShort, int sizeInShort)

ইনপুট অডিও নমুনা src কে ENCODING_PCM_FLOAT এ রূপান্তর করে, তারপর রিং বাফারে সংরক্ষণ করে।

পরামিতি
src AudioFormat.ENCODING_PCM_16BIT এ অডিও নমুনা ইনপুট করুন। মাল্টি-চ্যানেল ইনপুটের জন্য, অ্যারেটি ইন্টারলিভ করা হয়।
offsetInShort src অ্যারেতে শুরুর অবস্থান
সাইজ ইনশর্ট কপি করা ছোট মান সংখ্যা
নিক্ষেপ করে
অবৈধ আর্গুমেন্ট ব্যতিক্রম যদি উৎস অ্যারে অনুলিপি করা যাবে না

পাবলিক int লোড (অডিও রেকর্ড রেকর্ড)

একটি নন-ব্লকিং উপায়ে AudioRecord থেকে সর্বশেষ ডেটা লোড করে। শুধুমাত্র ENCODING_PCM_16BIT এবং ENCODING_PCM_FLOAT সমর্থন করে৷

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

পাবলিক ভয়েড লোড (ফ্লোট[] src)

রিং বাফারে ইনপুট অডিও নমুনা src সংরক্ষণ করে।

পরামিতি
src AudioFormat.ENCODING_PCM_FLOAT এ অডিও নমুনা ইনপুট করুন। মাল্টি-চ্যানেল ইনপুটের জন্য, অ্যারেটি ইন্টারলিভ করা হয়।