TensorAudio

herkese açık ders TensorAudio

Halka arabelleği ve giriş ses örneklerini hazırlamak için bazı yardımcı program işlevleri tanımlar.

Kapsama alanında bir Daire Arabelleği Ses verilerini girin. Müşteriler, giriş ses verilerini "yükleme" yöntemleri aracılığıyla iletebilir ve "getTensorBuffer" yöntemiyle toplanan ses örnekleri

Bu sınıfın yalnızca Kayan öğe (AudioFormat.ENCODING_PCM_16BIT) veya Shorts (AudioFormat.ENCODING_PCM_FLOAT dilinde) giriş sesini işleyebildiğini unutmayın. Dahili olarak tüm sesleri dönüştürür ve depolar örnekler.

Kotlin'de tipik kullanım

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

AudioRecord ile başka bir örnek kullanım

   val tensor = TensorAudio.create(format, modelInputLength)
   Timer().scheduleAtFixedRate(delay, period) {
     tensor.load(audioRecord)
     interpreter.run(tensor.getTensorBuffer(), outputBuffer)
   }
 

İç İçe Yerleştirilmiş Sınıflar

sınıf TensorAudio.TensorAudioFormat Gelen ses örneklerinin biçimini, yani ses öğelerinin sayısını ve ve örnek hızı.

Herkese Açık Yöntemler

statik TensorAudio
create(AudioFormat biçimi, int sampleCounts)
Halka arabelleğine sahip, boyutu sampleCounts olan bir TensorAudio örneği oluşturur * format.getChannelCount().
statik TensorAudio
create(TensorAudio.TensorAudioFormat biçimi, int sampleCounts)
Halka arabelleğine sahip olan ve boyutu sampleCounts * format.getChannels() olan bir AudioRecord örneği oluşturur.
TensorAudio.TensorAudioFormat
TensorBuffer
getTensorBuffer()
AudioFormat.ENCODING_PCM_FLOAT öğesindeki mevcut tüm ses örneklerini içeren bir kayan reklam TensorBuffer döndürür (ör.
geçersiz
load(kısa[] src)
Giriş ses örneklerini src ENCODING_PCM_FLOAT biçimine dönüştürür ve ardından halkada depolar arabellek.
geçersiz
load(float[] src, int değiştirenInfloat, int sizeInfloat)
Giriş ses örneklerini src zil arabelleğinde depolar.
geçersiz
load(short[] src, int değiştirenInShort, int sizeInShort)
Giriş ses örneklerini src ENCODING_PCM_FLOAT biçimine dönüştürür ve ardından halkada depolar arabellek.
int
load(Ses Kaydı kaydı)
AudioRecord cihazındaki son verileri engellemeyecek bir şekilde yükler.
geçersiz
load(float[] src)
Giriş ses örneklerini src zil arabelleğinde depolar.

Devralınan Yöntemler

Herkese Açık Yöntemler

herkese açık statik TensorAudio oluşturma (Ses Biçimi biçimi, int sampleCounts)

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

Parametreler
format TFLite modelinin gerektirdiği AudioFormat. Projenin kanal sayısı ve örnek hızı.
sampleCounts modele aktarılacak örnek sayısı

herkese açık statik TensorAudio oluşturma (TensorAudio.TensorAudioFormat biçimi, int sampleCounts)

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

Parametreler
format bu sınıfa yüklenen ve beklenen TensorAudio.TensorAudioFormat ses verisi.
sampleCounts modele aktarılacak örnek sayısı

herkese açık TensorAudio.TensorAudioFormat getFormat ()

herkese açık TensorBuffer getTensorBuffer ()

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

herkese açık geçersiz 'nı inceleyin. yükleyin (kısa[] src)

Giriş ses örneklerini src ENCODING_PCM_FLOAT biçimine dönüştürür ve ardından halkada depolar arabellek.

Parametreler
kyn AudioFormat.ENCODING_PCM_16BIT dilindeki giriş ses örnekleri. Örneğin, çok kanallı giriş varsa diziye boşluk eklenir.

herkese açık geçersiz 'nı inceleyin. yükleyin (float[] src, int değiştirenInfloat, int sizeInfloat)

Giriş ses örneklerini src zil arabelleğinde depolar.

Parametreler
kyn AudioFormat.ENCODING_PCM_FLOAT dilindeki giriş ses örnekleri. Örneğin, çok kanallı giriş varsa diziye boşluk eklenir.
offsetInFloat src dizisindeki başlangıç konumu
sizeInFloat kopyalanacak kayan noktalı değerlerin sayısı
Fırlatma
IllegalArgumentException uyumsuz ses biçimi veya yanlış giriş boyutu nedeniyle

herkese açık geçersiz 'nı inceleyin. yükleyin (short[] src, int reachInShort, int sizeInShort)

Giriş ses örneklerini src ENCODING_PCM_FLOAT biçimine dönüştürür ve ardından halkada depolar arabellek.

Parametreler
kyn AudioFormat.ENCODING_PCM_16BIT dilindeki giriş ses örnekleri. Örneğin, çok kanallı giriş varsa diziye boşluk eklenir.
offsetInShort src dizisindeki başlangıç konumu
sizeInShort kopyalanacak kısa değerlerin sayısı
Fırlatma
IllegalArgumentException kaynak dizi kopyalanamıyorsa

herkese açık tamsayı 'nı inceleyin. yükleyin (Ses Kaydı kaydı)

AudioRecord cihazındaki son verileri engellemeyecek bir şekilde yükler. Yalnızca ENCODING_PCM_16BIT ve ENCODING_PCM_FLOAT destekleniyor.

Parametreler
kayıt AudioRecord örneği
İadeler
  • boyutu channelCount * sampleCount olan yakalanmış ses değerlerinin sayısı. Eğer Ses Kaydında yeni veri yoksa veya bir hata oluştuysa bu yöntem 0 değerini döndürür.
Fırlatma
IllegalArgumentException desteklenmeyen ses kodlama biçimi için
IllegalStateException AudioRecord'dan okuma başarısız olursa

herkese açık geçersiz 'nı inceleyin. yükleyin (kayan[] src)

Giriş ses örneklerini src zil arabelleğinde depolar.

Parametreler
kyn AudioFormat.ENCODING_PCM_FLOAT dilindeki giriş ses örnekleri. Örneğin, çok kanallı giriş varsa diziye boşluk eklenir.