TensorAudio

herkese açık sınıf TensorAudio

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

Giriş ses verilerini saklamak için bir Zil Arabelleği tutar. Müşteriler, "load" yöntemleriyle giriş ses verilerini besleyebilir ve "getTensorBuffer" yöntemiyle birleştirilmiş ses örneklerine erişebilir.

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

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 Sınıflar

sınıf TensorAudio.TensorAudioFormat Gelen ses örneklerinin biçimini, yani kanal sayısını ve örnek hızını açıklayan birkaç sabit değeri sarmalar. 

Herkese Açık Yöntemler

statik TensorAudio
create(AudioFormat biçimi, int sampleCounts)
Boyutu sampleCounts * format.getChannelCount() olan bir halka arabelleği içeren bir TensorAudio örneği oluşturur.
statik TensorAudio
create(TensorAudio.TensorAudioFormat biçimi, int sampleCounts)
Boyutu sampleCounts * format.getChannels() olan bir halka arabelleği içeren bir AudioRecord örneği oluşturur.
TensorAudio.TensorAudioFormat
TensorBuffer
getTensorBuffer()
AudioFormat.ENCODING_PCM_FLOAT içindeki tüm mevcut ses örneklerini içeren bir kayan noktalı TensorBuffer döndürür, yani
void
load(short[] src)
Giriş ses örneklerini (src) ENCODING_PCM_FLOAT biçimine dönüştürür, ardından halka arabelleğinde depolar.
void
load(float[] src, int offsetInFloat, int sizeInFloat)
Giriş ses örneklerini src halka arabelleğinde saklar.
void
load(short[] src, intoffInShort, int sizeInShort)
Giriş ses örneklerini (src) ENCODING_PCM_FLOAT biçimine dönüştürür, ardından halka arabelleğinde depolar.
int
load(Ses Kaydı kaydı)
En son verileri AudioRecord kaynağından hiçbir şekilde engellemeyecek şekilde yükler.
void
load(float[] src)
Giriş ses örneklerini src halka arabelleğinde saklar.

Devralınan Yöntemler

Herkese Açık Yöntemler

herkese açık static TensorAudio oluştur (AudioFormat biçimi, int sampleCounts)

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

Parametreler
biçim TFLite modelinin gerektirdiği AudioFormat Kanal sayısını ve örnek hızını tanımlar.
sampleCounts modele aktarılacak örnek sayısı

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

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

Parametreler
biçim ses verilerinin beklenen TensorAudio.TensorAudioFormat kadarı bu sınıfa yüklendi.
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 mevcut ses örneklerini içeren (yani değerler [-1, 1] aralığında olan) bir hareketli TensorBuffer döndürür.

herkese açık void load (short[] src)

Giriş ses örneklerini (src) ENCODING_PCM_FLOAT biçimine dönüştürür, ardından halka arabelleğinde depolar.

Parametreler
src AudioFormat.ENCODING_PCM_16BIT dilinde ses örnekleri girin. Çok kanallı giriş için diziye boşluk eklenir.

herkese açık void load (float[] src, int OffInFloat, int sizeInFloat)

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

Parametreler
src AudioFormat.ENCODING_PCM_FLOAT dilinde ses örnekleri girin. Çok kanallı giriş için diziye boşluk eklenir.
offsetInFloat src dizisindeki başlangıç konumu
sizeInFloat kopyalanacak kayan değerlerin sayısı
Dekoratif yastıklar
IllegalArgumentException uyumsuz ses biçimi veya yanlış giriş boyutu nedeniyle

herkese açık void load (short[] src, intoffInShort, int sizeInShort)

Giriş ses örneklerini (src) ENCODING_PCM_FLOAT biçimine dönüştürür, ardından halka arabelleğinde depolar.

Parametreler
src AudioFormat.ENCODING_PCM_16BIT dilinde ses örnekleri girin. Çok kanallı giriş için diziye boşluk eklenir.
offsetInShort src dizisindeki başlangıç konumu
sizeInShort kopyalanacak kısa değerlerin sayısı
Dekoratif yastıklar
IllegalArgumentException kaynak dizi kopyalanamıyorsa

herkese açık int load (AudioRecord kaydı)

En son verileri AudioRecord kaynağından hiçbir şekilde engellemeyecek şekilde yükler. Yalnızca ENCODING_PCM_16BIT ve ENCODING_PCM_FLOAT desteklenir.

Parametreler
plak AudioRecord örneği
İlerlemeler
  • boyutu 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.
Dekoratif yastıklar
IllegalArgumentException desteklenmeyen ses kodlama biçimi için
IllegalStateException AudioRecord'tan okuma başarısız olduysa

herkese açık void load (float[] src)

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

Parametreler
src AudioFormat.ENCODING_PCM_FLOAT dilinde ses örnekleri girin. Çok kanallı giriş için diziye boşluk eklenir.