AudioData

herkese açık ders AudioData

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
create(AudioFormat biçimi, int sampleCounts)
Halka arabelleğine sahip, boyutu sampleCounts olan bir AudioData örneği oluşturur * format.getChannelCount().
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 AudioData.AudioDataFormat getFormat ()

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.