TensorAudio

genel sınıf TensorAudio

Giriş ses örneklerini hazırlamak için bir halka arabelleği ve bazı yardımcı işlevler tanımlar.

Giriş ses verilerini tutmak için bir Zil Arabelleği içerir. İstemciler giriş ses verilerini 'load' yöntemleri aracılığıyla besleyebilir ve birleştirilmiş ses örneklerine 'getTensorBuffer' yöntemi aracılığıyla erişebilir.

Bu sınıfın yalnızca Float ( AudioFormat.ENCODING_PCM_16BIT içinde) veya Kısa ( AudioFormat.ENCODING_PCM_FLOAT içinde) giriş sesini işleyebileceğini unutmayın. Dahili olarak tüm ses örneklerini PCM Float kodlamasına dönüştürür ve saklar.

Kotlin

   val tensor = TensorAudio.create(format, modelInputLength)
   tensor.load(newData)
   interpreter.run(tensor.getTensorBuffer(), outputBuffer);
 
tipik kullanım

AudioRecord

   val tensor = TensorAudio.create(format, modelInputLength)
   Timer().scheduleAtFixedRate(delay, period) {
     tensor.load(audioRecord)
     interpreter.run(tensor.getTensorBuffer(), outputBuffer)
   }
 
ile başka bir örnek kullanım

İç İçe Sınıflar

sınıf TensorAudio.TensorAudioFormat Gelen ses örneklerinin formatını, yani kanal sayısını ve örnek hızını açıklayan birkaç sabiti sarar.

Genel Yöntemler

Statik TensorAudio
oluştur (AudioFormat formatı, int sampleCounts)
Boyutu sampleCounts * format.getChannelCount() olan bir halka arabelleğine sahip bir TensorAudio örneği oluşturur.
Statik TensorAudio
oluştur ( TensorAudio.TensorAudioFormat formatı, int sampleCounts)
Boyutu sampleCounts * format.getChannels() olan bir halka arabelleğine sahip bir AudioRecord örneği oluşturur.
TensorAudio.TensorAudioFormat
Tensör Tamponu
getTensorBuffer ()
AudioFormat.ENCODING_PCM_FLOAT mevcut tüm ses örneklerini tutan kayan bir TensorBuffer döndürür.ENCODING_PCM_FLOAT yani
geçersiz
yük (kısa[] kaynak)
Giriş ses örnekleri src ENCODING_PCM_FLOAT'a dönüştürür, ardından halka arabelleğinde saklar.
geçersiz
yük (float[] src, int offsetInFloat, int sizeInFloat)
Giriş ses örnekleri src halka arabelleğinde saklar.
geçersiz
yük (short[] src, int offsetInShort, int sizeInShort)
Giriş ses örnekleri src ENCODING_PCM_FLOAT'a dönüştürür, ardından halka arabelleğinde saklar.
int
yükleme (AudioRecord kaydı)
AudioRecord en son verileri engelleyici olmayan bir şekilde yükler.
geçersiz
yük (float[] kaynak)
Giriş ses örnekleri src halka arabelleğinde saklar.

Kalıtsal Yöntemler

Genel Yöntemler

genel statik TensorAudio oluşturma (AudioFormat formatı, int sampleCounts)

Boyutu sampleCounts * format.getChannelCount() olan bir halka arabelleğine sahip bir TensorAudio örneği oluşturur.

Parametreler
biçim TFLite modelinin gerektirdiği AudioFormat . Kanal sayısını ve örnekleme hızını tanımlar.
örnekSayılar modele beslenecek örnek sayısı

public static TensorAudio create ( TensorAudio.TensorAudioFormat formatı, int sampleCounts)

Boyutu sampleCounts * format.getChannels() olan bir halka arabelleğine sahip bir AudioRecord örneği oluşturur.

Parametreler
biçim bu sınıfa yüklenen ses verilerinin beklenen TensorAudio.TensorAudioFormat .
örnekSayılar modele beslenecek örnek sayısı

herkese açık TensorAudio.TensorAudioFormat getFormat ()

genel TensorBuffer getTensorBuffer ()

AudioFormat.ENCODING_PCM_FLOAT içindeki mevcut tüm ses örneklerini tutan kayan bir TensorBuffer döndürür; yani değerler [-1, 1] aralığındadır.

genel geçersiz yük (kısa[] kaynak)

Giriş ses örnekleri src ENCODING_PCM_FLOAT'a dönüştürür, ardından halka arabelleğinde saklar.

Parametreler
kaynak AudioFormat.ENCODING_PCM_16BIT dosyasına ses örnekleri girin. Çok kanallı giriş için dizi serpiştirilmiştir.

genel geçersiz yük (float[] src, int offsetInFloat, int sizeInFloat)

Giriş ses örnekleri src halka arabelleğinde saklar.

Parametreler
kaynak AudioFormat.ENCODING_PCM_FLOAT dosyasına ses örnekleri girin. Çok kanallı giriş için dizi serpiştirilmiştir.
offsetInFloat src dizisindeki başlangıç ​​konumu
sizeInFloat kopyalanacak kayan değer değerlerinin sayısı
Atar
YasadışıTartışmaİstisna uyumsuz ses formatı veya yanlış giriş boyutu için

genel geçersiz yük (short[] src, int offsetInShort, int sizeInShort)

Giriş ses örnekleri src ENCODING_PCM_FLOAT'a dönüştürür, ardından halka arabelleğinde saklar.

Parametreler
kaynak AudioFormat.ENCODING_PCM_16BIT dosyasına ses örnekleri girin. Çok kanallı giriş için dizi serpiştirilmiştir.
offsetInShort src dizisindeki başlangıç ​​konumu
sizeInShort kopyalanacak kısa değerlerin sayısı
Atar
YasadışıTartışmaİstisna kaynak dizi kopyalanamıyorsa

genel int yükü (AudioRecord kaydı)

AudioRecord en son verileri engelleyici olmayan bir şekilde yükler. Yalnızca ENCODING_PCM_16BIT ve ENCODING_PCM_FLOAT'ı destekler.

Parametreler
kayıt AudioRecord bir örneği
İadeler
  • channelCount * sampleCount olan yakalanan ses değerlerinin sayısı. AudioRecord'da yeni veri yoksa veya bir hata oluştuysa bu yöntem 0 değerini döndürür.
Atar
YasadışıTartışmaİstisna desteklenmeyen ses kodlama formatı için
Yasadışı Durum İstisnası AudioRecord'dan okuma başarısız olursa

genel geçersiz yük (float[] src)

Giriş ses örnekleri src halka arabelleğinde saklar.

Parametreler
kaynak AudioFormat.ENCODING_PCM_FLOAT dosyasına ses örnekleri girin. Çok kanallı giriş için dizi serpiştirilmiştir.