يحدد المخزن المؤقت للحلقة وبعض الوظائف المساعدة لإعداد عينات الصوت المدخلة.
يحتفظ بمخزن مؤقت للحلقة للاحتفاظ بالبيانات الصوتية المدخلة. يمكن للعملاء تغذية البيانات الصوتية المدخلة عبر طرق "التحميل" والوصول إلى عينات الصوت المجمعة عبر طريقة "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 | إنشاء (تنسيق TensorAudio.TensorAudioFormat ، عدد العينات int) |
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 المتوقع للبيانات الصوتية التي تم تحميلها في هذه الفئة. |
---|---|
عدد العينات | عدد العينات التي سيتم إدخالها في النموذج |
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 . بالنسبة للإدخال متعدد القنوات، يتم تشذير المصفوفة. |
---|