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 audioData = AudioData.create(format, modelInputLength) audioData.load(newData).
AudioRecord
ile başka bir örnek kullanım
val audioData = AudioData.create(format, modelInputLength) Timer().scheduleAtFixedRate(delay, period) { audioData.load(audioRecord) }
İç İçe Yerleştirilmiş Sınıflar
sınıf | AudioData.AudioDataFormat | Gelen ses örneklerinin biçimini, yani ses öğelerinin sayısını ve ve örnek hızı. |
Herkese Açık Yöntemler
statik AudioData |
create(AudioData.AudioDataFormat biçimi, int sampleCounts)
Halka arabelleğine sahip olan ve boyutu
sampleCounts * format.getNumOfChannels() olan bir AudioRecord örneği oluşturur. |
statik AudioData | |
float[] |
getBuffer()
AudioFormat.ENCODING_PCM_FLOAT içindeki tüm mevcut ses örneklerini içeren kayan diziyi döndürür (ör. |
int | |
AudioData.AudioDataFormat | |
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 headerInfloat, 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 ş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 AudioData oluşturma (AudioData.AudioDataFormat biçimi, int sampleCounts)
Halka arabelleğine sahip olan ve boyutu sampleCounts
* format.getNumOfChannels()
olan bir AudioRecord
örneği oluşturur.
Parametreler
format | bu sınıfa yüklenen ve beklenen AudioData.AudioDataFormat ses verisi. |
---|---|
sampleCounts | örnek sayısını görebilirsiniz. |
herkese açık statik AudioData oluşturma (Ses Biçimi biçimi, int sampleCounts)
Halka arabelleğine sahip, boyutu sampleCounts
olan bir AudioData
ö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 float[] 'nı inceleyin. getBuffer ()
AudioFormat.ENCODING_PCM_FLOAT
içindeki tüm kullanılabilir ses örneklerini içeren bir kayan dizi döndürür örneğin, değerler [-1, 1] aralığındadır.
herkese açık tamsayı 'nı inceleyin. getBufferLength ()
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 ş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.
|
---|