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