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