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
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 | getFormat () |
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ı |
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. |
---|