ইনপুট অডিও নমুনা প্রস্তুত করতে একটি রিং বাফার এবং কিছু ইউটিলিটি ফাংশন সংজ্ঞায়িত করে।
এটি ইনপুট অডিও ডেটা রাখার জন্য একটি রিং বাফার বজায় রাখে। ক্লায়েন্টরা `লোড` পদ্ধতির মাধ্যমে ইনপুট অডিও ডেটা ফিড করতে পারে এবং `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);এ সাধারণ ব্যবহার
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 | getFormat () |
টেনসরবাফার | 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 । |
---|---|
নমুনা গণনা | মডেলের মধ্যে খাওয়ানোর নমুনার সংখ্যা |
সর্বজনীন 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 এ অডিও নমুনা ইনপুট করুন। মাল্টি-চ্যানেল ইনপুটের জন্য, অ্যারেটি ইন্টারলিভ করা হয়। |
---|