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 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.
|
---|