מגדיר מאגר נתונים זמני לצלצול ופונקציות עזר נוספות להכנת דגימות האודיו של הקלט.
הוא שומר על חוצץ צלצול כדי לשמור על יציבות של קלט נתוני אודיו. לקוחות יכולים להזין נתוני אודיו קלט באמצעות שיטות 'טעינה' ולגשת אל דוגמאות אודיו מצטברות באמצעות המתודה 'getTensorBuffer'.
חשוב לשים לב שהסיווג הזה יכול לטפל רק בקלט אודיו בציפה (ב-AudioFormat.ENCODING_PCM_16BIT
) או ב-Shorts (ב-AudioFormat.ENCODING_PCM_FLOAT
). באופן פנימי הוא ממיר ומאחסן את כל האודיו
דגימות בקידוד PCM Float (קידוד 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 |
create(פורמט AudioFormat, int sampleCounts)
יצירת מכונה של
TensorAudio עם מאגר נתונים זמני של צלצול שהגודל שלו הוא sampleCounts *
format.getChannelCount() . |
סטטי TensorAudio |
create(TensorAudio.TensorAudioFormat, int sampleCounts)
|
TensorAudio.TensorAudioFormat | |
TensorBuffer |
getTensorBuffer()
הפונקציה מחזירה ערך
TensorBuffer מסוג מספר ממשי (float) עם כל דגימות האודיו הזמינות ב-AudioFormat.ENCODING_PCM_FLOAT , כלומר. |
ריק |
load(short[] src)
הפונקציה ממירה את דגימות האודיו
src ל-ENCODING_PCM_FLOAT, ולאחר מכן שומרת אותן בטבעת
מאגר נתונים זמני. |
ריק |
load(float[] src, int offsetInFloat, int sizeInFloat)
שמירת דגימות האודיו
src במאגר הנתונים הזמני. |
ריק |
load(short[] src, int offsetInShort, int sizeInShort)
הפונקציה ממירה את דגימות האודיו
src ל-ENCODING_PCM_FLOAT, ולאחר מכן שומרת אותן בטבעת
מאגר נתונים זמני. |
int |
load(הקלטת אודיו)
טוענת את הנתונים האחרונים מה-
AudioRecord ללא חסימה. |
ריק |
load(float[] src)
שמירת דגימות האודיו
src במאגר הנתונים הזמני. |
שיטות שעברו בירושה
שיטות ציבוריות
ציבורי סטטי TensorAudio יצירה (פורמט AudioFormat, int sampleCounts)
יצירת מכונה של TensorAudio
עם מאגר נתונים זמני של צלצול שהגודל שלו הוא sampleCounts
*
format.getChannelCount()
.
פרמטרים
פורמט | AudioFormat שנדרש על ידי מודל TFLite. הוא מגדיר
מספר הערוצים וקצב הדגימה. |
---|---|
sampleCounts | מספר הדגימות שצריך להזין במודל |
ציבורי סטטי TensorAudio יצירה (פורמט TensorAudio.TensorAudioFormat, int sampleCounts)
יוצרת מכונה של AudioRecord
עם מאגר נתונים זמני של טבעות בגודל sampleCounts
* format.getChannels()
.
פרמטרים
פורמט | TensorAudio.TensorAudioFormat של נתוני האודיו הצפויים נטענים בכיתה הזו. |
---|---|
sampleCounts | מספר הדגימות שצריך להזין במודל |
ציבורי TensorBuffer getTensorBuffer ()
הפונקציה מחזירה ערך TensorBuffer
מסוג מספר ממשי (float) עם כל דגימות האודיו הזמינות ב-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 . עבור
בקלט מרובה-ערוצים, המערך הוא משולב. |
---|---|
offsetInFloat | המיקום ההתחלתי במערך src |
sizeInFloat | מספר הערכים הצפים להעתקה |
קליעות
IllegalArgumentException | בגלל פורמט אודיו לא תואם או גודל קלט שגוי |
---|
ציבורי ריק לטעינה (short[] src, int offsetInShort, int sizeInShort)
הפונקציה ממירה את דגימות האודיו src
ל-ENCODING_PCM_FLOAT, ולאחר מכן שומרת אותן בטבעת
מאגר נתונים זמני.
פרמטרים
src | קלט דגימות אודיו ב-AudioFormat.ENCODING_PCM_16BIT . עבור
בקלט מרובה-ערוצים, המערך הוא משולב. |
---|---|
offsetInShort | המיקום ההתחלתי במערך src |
sizeInShort | מספר הערכים הקצרים שיועתקו |
קליעות
IllegalArgumentException | אם לא ניתן להעתיק את מערך המקור |
---|
ציבורי INT לטעינה (הקלטת אודיו)
טוענת את הנתונים האחרונים מה-AudioRecord
ללא חסימה. רק
תמיכה ב-ENCODING_PCM_16BIT וב-ENCODING_PCM_FLOAT.
פרמטרים
רשומה | מופע של AudioRecord |
---|
החזרות
- מספר ערכי האודיו שתועדו שהגודל שלהם הוא
channelCount * sampleCount
. אם המיקום לא היו נתונים חדשים ב-AudioRecord או שאירעה שגיאה, השיטה הזו תחזיר את הערך 0.
קליעות
IllegalArgumentException | עבור פורמט קידוד אודיו שאינו נתמך |
---|---|
IllegalStateException | אם הקריאה מ-AudioRecord נכשלה |
ציבורי ריק לטעינה (float[] src)
שמירת דגימות האודיו src
במאגר הנתונים הזמני.
פרמטרים
src | קלט דגימות אודיו ב-AudioFormat.ENCODING_PCM_FLOAT . עבור
בקלט מרובה-ערוצים, המערך הוא משולב.
|
---|