TensorAudio

الطبقة العامة TensorAudio

يحدد المخزن المؤقت للحلقة وبعض الوظائف المساعدة لإعداد عينات الصوت المدخلة.

يحتفظ بمخزن مؤقت للحلقة للاحتفاظ بالبيانات الصوتية المدخلة. يمكن للعملاء تغذية البيانات الصوتية المدخلة عبر طرق "التحميل" والوصول إلى عينات الصوت المجمعة عبر طريقة "getTensorBuffer".

لاحظ أن هذه الفئة يمكنها فقط التعامل مع إدخال الصوت في Float (في AudioFormat.ENCODING_PCM_16BIT ) أو قصير (في AudioFormat.ENCODING_PCM_FLOAT ). داخليًا يقوم بتحويل وتخزين كافة العينات الصوتية بتشفير PCM Float.

الاستخدام النموذجي في 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 يلتف حول بعض الثوابت التي تصف تنسيق العينات الصوتية الواردة، وهي عدد القنوات ومعدل العينة.

الأساليب العامة

ثابت TensorAudio
إنشاء (تنسيق تنسيق الصوت، عدد العينات int)
ينشئ مثيل TensorAudio بمخزن مؤقت حلقي حجمه هو sampleCounts * format.getChannelCount() .
ثابت TensorAudio
إنشاء (تنسيق TensorAudio.TensorAudioFormat ، عدد العينات int)
ينشئ مثيل AudioRecord بمخزن مؤقت حلقي حجمه هو sampleCounts * format.getChannels() .
TensorAudio.TensorAudioFormat
TensorBuffer
الحصول على TensorBuffer ()
تقوم بإرجاع TensorBuffer العائم الذي يحتوي على جميع عينات الصوت المتاحة بتنسيق AudioFormat.ENCODING_PCM_FLOAT ، أي
فارغ
تحميل (قصير [] src)
يحول عينات الصوت المدخلة src إلى ENCODING_PCM_FLOAT، ثم يخزنها في المخزن المؤقت الحلقي.
فارغ
التحميل (float[] src، int offsetInFloat، int sizeInFloat)
يقوم بتخزين عينات الصوت المدخلة src في المخزن المؤقت للحلقة.
فارغ
التحميل (short[] src، int offsetInShort، int sizeInShort)
يحول عينات الصوت المدخلة src إلى ENCODING_PCM_FLOAT، ثم يخزنها في المخزن المؤقت الحلقي.
كثافة العمليات
تحميل (سجل الصوت)
يقوم بتحميل أحدث البيانات من AudioRecord بطريقة غير محظورة.
فارغ
تحميل (تعويم [] src)
يقوم بتخزين عينات الصوت المدخلة src في المخزن المؤقت للحلقة.

الطرق الموروثة

الأساليب العامة

إنشاء TensorAudio ثابت عام (تنسيق تنسيق الصوت، عدد العينات int)

ينشئ مثيل TensorAudio بمخزن مؤقت حلقي حجمه هو sampleCounts * format.getChannelCount() .

حدود
شكل AudioFormat الذي يتطلبه طراز TFLite. ويحدد عدد القنوات ومعدل العينة.
عدد العينات عدد العينات التي سيتم إدخالها في النموذج

إنشاء TensorAudio ثابت عام (تنسيق TensorAudio.TensorAudioFormat ، عدد العينات int)

ينشئ مثيل AudioRecord بمخزن مؤقت حلقي حجمه هو sampleCounts * format.getChannels() .

حدود
شكل TensorAudio.TensorAudioFormat المتوقع للبيانات الصوتية التي تم تحميلها في هذه الفئة.
عدد العينات عدد العينات التي سيتم إدخالها في النموذج

TensorAudio.TensorAudioFormat العام getFormat ()

TensorBuffer العام getTensorBuffer ()

تقوم بإرجاع TensorBuffer العائم الذي يحتوي على جميع عينات الصوت المتاحة في AudioFormat.ENCODING_PCM_FLOAT ، أي أن القيم تقع في نطاق [-1، 1].

تحميل الفراغ العام (قصير [] src)

يحول عينات الصوت المدخلة src إلى ENCODING_PCM_FLOAT، ثم يخزنها في المخزن المؤقت الحلقي.

حدود
src إدخال عينات الصوت في AudioFormat.ENCODING_PCM_16BIT . بالنسبة للإدخال متعدد القنوات، يتم تشذير المصفوفة.

تحميل الفراغ العام (float[] src، int offsetInFloat، int sizeInFloat)

يقوم بتخزين عينات الصوت المدخلة src في المخزن المؤقت للحلقة.

حدود
src إدخال عينات الصوت في AudioFormat.ENCODING_PCM_FLOAT . بالنسبة للإدخال متعدد القنوات، يتم تشذير المصفوفة.
offInFloat موضع البداية في مصفوفة src
sizeInFloat عدد القيم العائمة المراد نسخها
رميات
غير الشرعيين استثناء حجة لتنسيق الصوت غير المتوافق أو حجم الإدخال غير الصحيح

تحميل الفراغ العام (short[] src، int offsetInShort، int sizeInShort)

يحول عينات الصوت المدخلة src إلى ENCODING_PCM_FLOAT، ثم يخزنها في المخزن المؤقت الحلقي.

حدود
src إدخال عينات الصوت في AudioFormat.ENCODING_PCM_16BIT . بالنسبة للإدخال متعدد القنوات، يتم تشذير المصفوفة.
OffsetInShort موضع البداية في مصفوفة src
sizeInShort عدد القيم القصيرة المراد نسخها
رميات
غير الشرعيين استثناء حجة إذا كان لا يمكن نسخ المصفوفة المصدر

تحميل int العام (سجل AudioRecord)

يقوم بتحميل أحدث البيانات من AudioRecord بطريقة غير محظورة. يدعم فقط ENCODING_PCM_16BIT وENCODING_PCM_FLOAT.

حدود
سِجِلّ مثال على AudioRecord
عائدات
  • عدد القيم الصوتية الملتقطة وحجمها هو channelCount * sampleCount . إذا لم تكن هناك بيانات جديدة في AudioRecord أو حدث خطأ، فسترجع هذه الطريقة 0.
رميات
غير الشرعيين استثناء حجة لتنسيق ترميز الصوت غير المدعوم
استثناء الدولة غير القانوني إذا فشلت القراءة من AudioRecord

تحميل الفراغ العام (float[] src)

يقوم بتخزين عينات الصوت المدخلة src في المخزن المؤقت للحلقة.

حدود
src إدخال عينات الصوت في AudioFormat.ENCODING_PCM_FLOAT . بالنسبة للإدخال متعدد القنوات، يتم تشذير المصفوفة.