מגדיר מאגר טבעת ופונקציות שימושיות מסוימות כדי להכין את דגימות האודיו לקלט.
היא כוללת מאגר חיצים כדי לאחסן נתוני קלט של אודיו. לקוחות יכולים להזין נתוני קלט אודיו באמצעות שיטות 'טעינה' ולגשת לדגימות האודיו המצטברות באמצעות השיטה '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 resetInFloat, int sizeInFloat)
שמירת דגימות האודיו של הקלט
src במאגר הצלצולים הזמני. |
void |
load(short[] src, int resetInShort, int sizeInShort)
ממירה את דגימות האודיו המשמשות בקלט
src ל-ENCODING_PCM_FLOAT, ואז מאחסנת אותן במאגר הנתונים הזמני. |
int |
load(הקלטת אודיו)
טוען את הנתונים האחרונים מ-
AudioRecord בדרך ללא חסימה. |
void |
load(float[] src)
שמירת דגימות האודיו של הקלט
src במאגר הצלצולים הזמני. |
שיטות שעברו בירושה
שיטות ציבוריות
ציבורי סטטי AudioData יצירה (AudioData.AudioDataFormat, int sampleCounts)
יצירת מכונה של AudioRecord
עם מאגר נתונים זמני של טבעות שהגודל שלו הוא sampleCounts
* format.getNumOfChannels()
.
פרמטרים
פורמט | AudioData.AudioDataFormat של נתוני האודיו הצפויים שנטענים בכיתה הזו. |
---|---|
sampleCounts | את מספר הדגימות. |
ציבורי סטטי AudioData יצירה (פורמט AudioFormat, int sampleCounts)
יצירת מכונה של AudioData
עם מאגר נתונים זמני של טבעות שהגודל שלו הוא sampleCounts
* format.getChannelCount()
.
פרמטרים
פורמט | AudioFormat שנדרש על ידי מודל TFLite. הוא מגדיר
את מספר הערוצים ואת קצב הדגימה. |
---|---|
sampleCounts | את מספר הדגימות שצריך להזין למודל |
Public מספר ממשי (float) [] getBuffer ()
מחזירה מערך צף שמכיל את כל דגימות האודיו הזמינות ב-AudioFormat.ENCODING_PCM_FLOAT
, כלומר הערכים נמצאים בטווח של [-1, 1].
public int getBufferLength ()
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 . בקלט מרובה-ערוצים, המערך משולב.
|
---|