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