TensorAudio

ชั้นเรียนสาธารณะ TensorAudio

กำหนดบัฟเฟอร์ริงและฟังก์ชันยูทิลิตีบางอย่างเพื่อเตรียมตัวอย่างเสียงอินพุต

โดยจะรักษาบัฟเฟอร์ริงเพื่อระงับ อินพุตข้อมูลเสียง ลูกค้าสามารถป้อนข้อมูลเสียงอินพุตผ่านเมธอด "load" และเข้าถึง รวมตัวอย่างเสียงผ่านเมธอด "getTensorBuffer"

โปรดทราบว่าคลาสนี้สามารถจัดการเสียงอินพุตได้เฉพาะใน Float (ใน AudioFormat.ENCODING_PCM_16BIT) หรือ Shorts (ใน AudioFormat.ENCODING_PCM_FLOAT) เท่านั้น อุปกรณ์จะแปลงและจัดเก็บเสียงทั้งหมดไว้ภายใน ตัวอย่างในการเข้ารหัส PCM Float

การใช้งานทั่วไปใน Kotlin

   val tensor = TensorAudio.create(format, modelInputLength)
   tensor.load(newData)
   interpreter.run(tensor.getTensorBuffer(), outputBuffer);
 

ตัวอย่างการใช้ AudioRecord อีกแบบหนึ่ง

   val tensor = TensorAudio.create(format, modelInputLength)
   Timer().scheduleAtFixedRate(delay, period) {
     tensor.load(audioRecord)
     interpreter.run(tensor.getTensorBuffer(), outputBuffer)
   }
 

ชั้นเรียนที่ซ้อนกัน

คลาส TensorAudio.TensorAudioFormat ตัดค่าคงที่บางส่วนที่อธิบายรูปแบบของตัวอย่างเสียงที่เข้ามาใหม่ ได้แก่ และอัตราการสุ่มตัวอย่าง

วิธีการสาธารณะ

คงที่ TensorAudio
create(รูปแบบ AudioFormat, int sampleCounts)
สร้างอินสแตนซ์ TensorAudio ที่มีบัฟเฟอร์ริงซึ่งมีขนาด sampleCounts * format.getChannelCount()
คงที่ TensorAudio
create(รูปแบบ TensorAudio.TensorAudioFormat, int sampleCounts)
สร้างอินสแตนซ์ AudioRecord ที่มีบัฟเฟอร์ริงที่มีขนาด sampleCounts * format.getChannels()
TensorAudio.TensorAudioFormat
TensorBuffer
getTensorBuffer()
แสดงผล TensorBuffer แบบลอยที่มีตัวอย่างเสียงทั้งหมดที่มีใน AudioFormat.ENCODING_PCM_FLOAT เช่น
เป็นโมฆะ
load(short[] src)
แปลงตัวอย่างเสียงอินพุต src เป็น ENCODING_PCM_FLOAT แล้วจัดเก็บไว้ในริง กันชน
เป็นโมฆะ
load(Float[] src, intรวบรวมInFloat, int sizeInFloat)
จัดเก็บตัวอย่างเสียงอินพุต src ในบัฟเฟอร์ริง
เป็นโมฆะ
load(short[] src, int offInShort, int sizeInShort)
แปลงตัวอย่างเสียงอินพุต src เป็น ENCODING_PCM_FLOAT แล้วจัดเก็บไว้ในริง กันชน
int
load(บันทึก AudioRecord)
โหลดข้อมูลล่าสุดจาก AudioRecord ในแบบที่ไม่บล็อก
เป็นโมฆะ
load(Float[] src)
จัดเก็บตัวอย่างเสียงอินพุต src ในบัฟเฟอร์ริง

เมธอดที่รับมา

วิธีการสาธารณะ

สาธารณะ คงที่ TensorAudio สร้าง (รูปแบบ AudioFormat, int sampleCount)

สร้างอินสแตนซ์ TensorAudio ที่มีบัฟเฟอร์ริงซึ่งมีขนาด sampleCounts * format.getChannelCount()

พารามิเตอร์
รูปแบบ AudioFormat ที่โมเดล TFLite กำหนด ช่วยกำหนด จำนวนช่องและอัตราการสุ่มตัวอย่าง
sampleCounts จำนวนตัวอย่างที่จะป้อนลงในโมเดล

สาธารณะ คงที่ TensorAudio สร้าง (รูปแบบ TensorAudio.TensorAudioFormat, int sampleCounts)

สร้างอินสแตนซ์ AudioRecord ที่มีบัฟเฟอร์ริงที่มีขนาด sampleCounts * format.getChannels()

พารามิเตอร์
รูปแบบ TensorAudio.TensorAudioFormat ที่คาดไว้ของข้อมูลเสียงที่โหลดลงในคลาสนี้
sampleCounts จำนวนตัวอย่างที่จะป้อนลงในโมเดล

สาธารณะ TensorAudio.TensorAudioFormat getFormat ()

สาธารณะ TensorBuffer getTensorBuffer ()

แสดงผล TensorBuffer แบบลอยที่มีตัวอย่างเสียงที่มีอยู่ทั้งหมดใน AudioFormat.ENCODING_PCM_FLOAT เช่น ค่าอยู่ในช่วง [-1, 1]

สาธารณะ เป็นโมฆะ โหลด (short[] src)

แปลงตัวอย่างเสียงอินพุต src เป็น ENCODING_PCM_FLOAT แล้วจัดเก็บไว้ในริง กันชน

พารามิเตอร์
src ตัวอย่างเสียงที่ป้อนใน AudioFormat.ENCODING_PCM_16BIT สำหรับ อาร์เรย์เป็นแบบแทรกสลับ

สาธารณะ เป็นโมฆะ โหลด (Float [] src, int overrideInFloat, int sizeInFloat)

จัดเก็บตัวอย่างเสียงอินพุต src ในบัฟเฟอร์ริง

พารามิเตอร์
src ตัวอย่างเสียงที่ป้อนใน AudioFormat.ENCODING_PCM_FLOAT สำหรับ อาร์เรย์เป็นแบบแทรกสลับ
offsetInFloat ตำแหน่งเริ่มต้นในอาร์เรย์ src
sizeInFloat จำนวนค่าทศนิยมที่จะคัดลอก
การขว้าง
IllegalArgumentException สำหรับรูปแบบเสียงที่ใช้ร่วมกันไม่ได้หรือขนาดอินพุตไม่ถูกต้อง

สาธารณะ เป็นโมฆะ โหลด (short[] src, intแบ่งปันInShort, int sizeInShort)

แปลงตัวอย่างเสียงอินพุต src เป็น ENCODING_PCM_FLOAT แล้วจัดเก็บไว้ในริง กันชน

พารามิเตอร์
src ตัวอย่างเสียงที่ป้อนใน AudioFormat.ENCODING_PCM_16BIT สำหรับ อาร์เรย์เป็นแบบแทรกสลับ
offsetInShort ตำแหน่งเริ่มต้นในอาร์เรย์ src
sizeInShort จำนวนค่าแบบสั้นที่จะคัดลอก
การขว้าง
IllegalArgumentException หากคัดลอกอาร์เรย์แหล่งที่มาไม่ได้

สาธารณะ Int โหลด (บันทึก AudioRecord)

โหลดข้อมูลล่าสุดจาก AudioRecord ในแบบที่ไม่บล็อก เฉพาะ รองรับ ENCODING_PCM_16BIT และ ENCODING_PCM_FLOAT

พารามิเตอร์
บันทึก อินสแตนซ์ของ AudioRecord
การคืนสินค้า
  • จำนวนค่าเสียงที่บันทึกซึ่งมีขนาด channelCount * sampleCount ถ้า ไม่มีข้อมูลใหม่ใน AudioRecord หรือเกิดข้อผิดพลาดขึ้น วิธีนี้จะแสดงค่าเป็น 0
การขว้าง
IllegalArgumentException สำหรับรูปแบบการเข้ารหัสเสียงที่ไม่รองรับ
IllegalStateException หากอ่านจาก AudioRecord ไม่สำเร็จ

สาธารณะ เป็นโมฆะ โหลด (Float[] src)

จัดเก็บตัวอย่างเสียงอินพุต src ในบัฟเฟอร์ริง

พารามิเตอร์
src ตัวอย่างเสียงที่ป้อนใน AudioFormat.ENCODING_PCM_FLOAT สำหรับ อาร์เรย์เป็นแบบแทรกสลับ