تحدد هذه الدالة المخزن المؤقت للرنين وبعض وظائفها لإعداد عيّنات الصوت المدخلة.
يحتفظ بمخزن رنين مؤقت للاحتفاظ ببيانات الصوت المدخلة. ويمكن للعملاء إرسال البيانات الصوتية التي تم إدخالها من خلال طرق "التحميل" والوصول إلى العيّنات الصوتية المجمّعة باستخدام طريقة "getTensorBuffer".
يُرجى العِلم أنّ هذه الفئة يمكنها فقط التعامل مع إدخال الصوت في تنسيق Float (بالتنسيق AudioFormat.ENCODING_PCM_16BIT
) أو Shorts (باللغة AudioFormat.ENCODING_PCM_FLOAT
)، وهي تُحوّل جميع العيّنات الصوتية وتخزّنها بترميز PCM Float.
الاستخدام المعتاد في 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 |
create(تنسيق AudioData.AudioDataFormat، int sampleCounts)
تنشئ هذه الدالة
AudioRecord مثيلاً مع مخزن رنين احتياطي بحجم sampleCounts * format.getNumOfChannels() . |
ثابت AudioData | |
float[] |
getBuffer()
عرض مصفوفة عائمة تتضمن كل العينات الصوتية المتاحة في
AudioFormat.ENCODING_PCM_FLOAT ، أي |
int | |
AudioData.AudioDataFormat | |
void |
load(short[] src)
لتحويل نماذج الإدخال الصوتية
src إلى ENCODING_PCM_FLOAT، ثم تخزينه في المخزن المؤقت للرنين. |
void |
load(float[] src, int offsetInFloat, int sizeInFloat)
تخزين عيّنات الصوت التي تم إدخالها
src في المخزن المؤقت للرنين |
void |
load(short[] src, int offsetInShort, int sizeInShort)
لتحويل نماذج الإدخال الصوتية
src إلى ENCODING_PCM_FLOAT، ثم تخزينه في المخزن المؤقت للرنين. |
int |
load(تسجيل الصوت)
تعمل هذه السياسة على تحميل أحدث البيانات من
AudioRecord بطريقة لا تؤدي إلى الحظر. |
void |
load(float[] src)
تخزين عيّنات الصوت التي تم إدخالها
src في المخزن المؤقت للرنين |
الطرق المكتسَبة
الطرق العامة
public static AudioData إنشاء (تنسيقAudioData.AudioDataFormat ، int sampleCounts)
تنشئ هذه الدالة AudioRecord
مثيلاً مع مخزن رنين احتياطي بحجم sampleCounts
* format.getNumOfChannels()
.
المَعلمات
التنسيق | القيمة المتوقّعة للسمة AudioData.AudioDataFormat للبيانات الصوتية التي يتم تحميلها في هذه الفئة. |
---|---|
sampleCounts | عدد العينات. |
public static AudioData إنشاء (تنسيق AudioFormat، عدد int sampleCounts)
تنشئ هذه الدالة AudioData
مثيلاً مع مخزن رنين احتياطي بحجم sampleCounts
* format.getChannelCount()
.
المَعلمات
التنسيق | تمثّل هذه السمة AudioFormat الذي يتطلبه نموذج TFLite. وهي تحدّد عدد القنوات ومعدّل العيّنات. |
---|---|
sampleCounts | عدد العينات المراد إدخالها في النموذج |
public float[] getBuffer ()
عرض مصفوفة عائمة تتضمن جميع العينات الصوتية المتاحة في AudioFormat.ENCODING_PCM_FLOAT
، أي أنّ القيم تقع في النطاق [ -1, 1]
public int getBufferLength ()
متاح للجميع إلغاء تحميل (short[] src)
لتحويل نماذج الإدخال الصوتية src
إلى ENCODING_PCM_FLOAT، ثم تخزينه في المخزن المؤقت للرنين.
المَعلمات
src | تم إدخال عيّنات صوتية باللغة AudioFormat.ENCODING_PCM_16BIT . بالنسبة إلى الإدخال المتعدد القنوات، تكون الصفيفة متداخلة.
|
---|
متاح للجميع إلغاء تحميل (float[] src، int offsetInFloat، int sizeInFloat)
تخزين عيّنات الصوت التي تم إدخالها src
في المخزن المؤقت للرنين
المَعلمات
src | تم إدخال عيّنات صوتية باللغة AudioFormat.ENCODING_PCM_FLOAT . بالنسبة إلى الإدخال المتعدد القنوات، تكون الصفيفة متداخلة. |
---|---|
offsetInFloat | موضع البدء في صفيف src |
sizeInFloat | عدد القيم العائمة المراد نسخها |
الرميات
IllegalArgumentException | بسبب عدم توافق تنسيق الصوت أو حجم الإدخال غير الصحيح |
---|
متاح للجميع إلغاء تحميل (short[] src, int offsetInShort, int sizeInShort)
لتحويل نماذج الإدخال الصوتية src
إلى ENCODING_PCM_FLOAT، ثم تخزينه في المخزن المؤقت للرنين.
المَعلمات
src | تم إدخال عيّنات صوتية باللغة AudioFormat.ENCODING_PCM_16BIT . بالنسبة إلى الإدخال المتعدد القنوات، تكون الصفيفة متداخلة. |
---|---|
offsetInShort | موضع البداية في صفيفة src |
sizeInShort | عدد القيم القصيرة المراد نسخها |
الرميات
IllegalArgumentException | إذا تعذر نسخ الصفيفة المصدر |
---|
public int load (SoundRecord (تسجيل الصوت))
تعمل هذه السياسة على تحميل أحدث البيانات من AudioRecord
بطريقة لا تؤدي إلى الحظر. متوافقون فقط مع ENCODING_PCM_16BIT وENCODING_PCM_FLOAT.
المَعلمات
تسجيل | مثيل لـ AudioRecord |
---|
المرتجعات
- عدد القيم الصوتية المسجّلة التي يبلغ حجمها
channelCount * sampleCount
. وإذا لم تكن هناك بيانات جديدة في السجل الصوتي أو حدث خطأ، ستعرض هذه الطريقة القيمة 0.
الرميات
IllegalArgumentException | لتنسيق ترميز الصوت غير المتوافق |
---|---|
IllegalStateException | في حال تعذّر القراءة من AudioRecord |
متاح للجميع إلغاء تحميل (float[] src)
تخزين عيّنات الصوت التي تم إدخالها src
في المخزن المؤقت للرنين
المَعلمات
src | تم إدخال عيّنات صوتية باللغة AudioFormat.ENCODING_PCM_FLOAT . بالنسبة إلى الإدخال المتعدد القنوات، تكون الصفيفة متداخلة.
|
---|