TensorAudio

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

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

הוא שומר על מאגר טבעת כדי להחזיק נתוני שמע קלט. לקוחות יכולים להזין נתוני אודיו קלט באמצעות שיטות 'טעינה' ולגשת לדגימות האודיו המצטברות באמצעות שיטת '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 עם מאגר טבעת שגודלו הוא sampleCounts * format.getChannelCount() .
סטטי TensorAudio
ליצור (פורמט TensorAudio.TensorAudioFormat , int sampleCounts)
יוצר מופע AudioRecord עם מאגר טבעת שגודלו הוא sampleCounts * format.getChannels() .
TensorAudio.TensorAudioFormat
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 של נתוני אודיו שנטענו במחלקה זו.
ספירות מדגם מספר הדגימות שיש להזין למודל

public TensorAudio.TensorAudioFormat getFormat ()

הציבור 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 . עבור קלט רב-ערוצי, המערך משולב.