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