AudioData

כיתה ציבורית AudioData

מגדיר מאגר נתונים זמני לצלצול ופונקציות עזר נוספות להכנת דגימות האודיו של הקלט.

הוא שומר על חוצץ צלצול כדי לשמור על טמפרטורה קבועה של קלט נתוני אודיו. לקוחות יכולים להזין נתוני אודיו קלט באמצעות שיטות 'טעינה' ולגשת אל דוגמאות אודיו מצטברות באמצעות המתודה 'getTensorBuffer'.

חשוב לשים לב שהסיווג הזה יכול לטפל רק בקלט אודיו בציפה (ב-AudioFormat.ENCODING_PCM_16BIT) או ב-Shorts (ב-AudioFormat.ENCODING_PCM_FLOAT). באופן פנימי הוא ממיר ומאחסן את כל האודיו דגימות בקידוד PCM Float (קידוד 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
create(פורמט AudioFormat, int sampleCounts)
יצירת מכונה של AudioData עם מאגר נתונים זמני של צלצול שהגודל שלו הוא sampleCounts * format.getChannelCount().
float[]
getBuffer()
מחזירה מערך צף שמכיל את כל דגימות האודיו הזמינות ב-AudioFormat.ENCODING_PCM_FLOAT, כלומר.
int
AudioData.AudioDataFormat
ריק
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 במאגר הנתונים הזמני.

שיטות שעברו בירושה

שיטות ציבוריות

ציבורי סטטי AudioData יצירה (פורמט AudioData.AudioDataFormat, int sampleCounts)

יוצרת מכונה של AudioRecord עם מאגר נתונים זמני של טבעות בגודל sampleCounts * format.getNumOfChannels().

פרמטרים
פורמט AudioData.AudioDataFormat של נתוני האודיו הצפויים נטענים בכיתה הזו.
sampleCounts את מספר הדגימות.

ציבורי סטטי AudioData יצירה (פורמט AudioFormat, int sampleCounts)

יצירת מכונה של AudioData עם מאגר נתונים זמני של צלצול שהגודל שלו הוא sampleCounts * format.getChannelCount().

פרמטרים
פורמט AudioFormat שנדרש על ידי מודל TFLite. הוא מגדיר מספר הערוצים וקצב הדגימה.
sampleCounts מספר הדגימות שצריך להזין במודל

ציבורי float[] getBuffer ()

מחזירה מערך צף שמכיל את כל דגימות האודיו הזמינות ב-AudioFormat.ENCODING_PCM_FLOAT. כלומר, הערכים הם בטווח של [-1, 1].

ציבורי INT getBufferLength ()

ציבורי AudioData.AudioDataFormat getFormat ()

ציבורי ריק לטעינה (קצר[] 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. עבור בקלט מרובה-ערוצים, המערך הוא משולב.