TensorAudio

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

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

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

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

Kotlin

   val tensor = TensorAudio.create(format, modelInputLength)
   tensor.load(newData)
   interpreter.run(tensor.getTensorBuffer(), outputBuffer);
 
এ সাধারণ ব্যবহার

AudioRecord

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

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

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

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

স্ট্যাটিক টেনসরঅডিও
তৈরি করুন (অডিও ফরম্যাট বিন্যাস, int স্যাম্পল কাউন্ট)
একটি রিং বাফারের সাথে একটি TensorAudio উদাহরণ তৈরি করে যার আকার হল sampleCounts * format.getChannelCount()
স্ট্যাটিক টেনসরঅডিও
তৈরি করুন ( TensorAudio.TensorAudioFormat বিন্যাস, int samplecounts)
একটি রিং বাফারের সাথে একটি AudioRecord উদাহরণ তৈরি করে যার আকার হল sampleCounts * format.getChannels()
TensorAudio.TensorAudioFormat
টেনসরবাফার
getTensorBuffer ()
AudioFormat.ENCODING_PCM_FLOAT অর্থাত্ সমস্ত উপলব্ধ অডিও নমুনা ধারণ করে একটি ফ্লোট TensorBuffer প্রদান করে
অকার্যকর
লোড (সংক্ষিপ্ত [] 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 সংরক্ষণ করে।

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

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

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

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

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

পাবলিক স্ট্যাটিক TensorAudio তৈরি করুন ( TensorAudio.TensorAudioFormat ফরম্যাট, int samplecounts)

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

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

সর্বজনীন TensorAudio.TensorAudioFormat getFormat ()

সর্বজনীন TensorBuffer getTensorBuffer ()

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

সর্বজনীন অকার্যকর লোড (সংক্ষিপ্ত [] 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 এ অডিও নমুনা ইনপুট করুন। মাল্টি-চ্যানেল ইনপুটের জন্য, অ্যারেটি ইন্টারলিভ করা হয়।