AudioData

داده های صوتی کلاس عمومی

یک بافر حلقه و برخی از توابع کاربردی را برای آماده سازی نمونه های صوتی ورودی تعریف می کند.

یک بافر حلقه برای نگهداری داده های صوتی ورودی نگهداری می کند. کلاینت‌ها می‌توانند داده‌های صوتی ورودی را از طریق روش‌های «بار» تغذیه کنند و از طریق روش «getTensorBuffer» به نمونه‌های صوتی انبوه دسترسی داشته باشند.

توجه داشته باشید که این کلاس فقط می‌تواند صدای ورودی را در Float (در AudioFormat.ENCODING_PCM_16BIT ) یا Short (در AudioFormat.ENCODING_PCM_FLOAT ) کنترل کند. در داخل، تمام نمونه های صوتی را در رمزگذاری PCM Float تبدیل و ذخیره می کند.

استفاده معمولی در Kotlin

   val audioData = AudioData.create(format, modelInputLength)
   audioData.load(newData)
 

نمونه دیگری از استفاده با AudioRecord

   val audioData = AudioData.create(format, modelInputLength)
   Timer().scheduleAtFixedRate(delay, period) {
     audioData.load(audioRecord)
   }
 

کلاس های تو در تو

کلاس AudioData.AudioDataFormat چند ثابت را در بر می گیرد که فرمت نمونه های صوتی ورودی را توصیف می کند، یعنی تعداد کانال ها و نرخ نمونه.

روش های عمومی

داده های صوتی استاتیک
ایجاد (فرمت AudioData.AudioDataFormat ، int sampleCounts)
یک نمونه AudioRecord با بافر حلقه ایجاد می کند که اندازه آن sampleCounts * format.getNumOfChannels() است.
داده های صوتی استاتیک
ایجاد (فرمت AudioFormat، int sampleCounts)
یک نمونه AudioData با بافر حلقه ایجاد می کند که اندازه آن sampleCounts * format.getChannelCount() است.
شناور[]
getBuffer ()
یک آرایه شناور را برمی‌گرداند که تمام نمونه‌های صوتی موجود را در AudioFormat.ENCODING_PCM_FLOAT نگه می‌دارد.ENCODING_PCM_FLOAT.
بین المللی
AudioData.AudioDataFormat
باطل
بارگذاری (کوتاه[] src)
نمونه های صوتی ورودی src را به ENCODING_PCM_FLOAT تبدیل می کند، سپس آن را در بافر حلقه ذخیره می کند.
باطل
بار (float[] src، int offsetInFloat، int sizeInFloat)
نمونه های صوتی ورودی src در بافر حلقه ذخیره می کند.
باطل
بار (کوتاه[] src، int offsetInShort، int sizeInShort)
نمونه های صوتی ورودی src را به ENCODING_PCM_FLOAT تبدیل می کند، سپس آن را در بافر حلقه ذخیره می کند.
بین المللی
بارگیری (ضبط ضبط صوتی)
آخرین داده ها را از AudioRecord به روشی غیر مسدود بارگیری می کند.
باطل
بار (float[] src)
نمونه های صوتی ورودی src در بافر حلقه ذخیره می کند.

روش های ارثی

روش های عمومی

ایجاد AudioData استاتیک عمومی (فرمت AudioData.AudioDataFormat ، نمونه شمارش داخلی)

یک نمونه AudioRecord با بافر حلقه ایجاد می کند که اندازه آن sampleCounts * format.getNumOfChannels() است.

پارامترها
قالب AudioData.AudioDataFormat مورد انتظار داده های صوتی بارگیری شده در این کلاس.
نمونه شمارش تعداد نمونه ها

ایجاد AudioData استاتیک عمومی (فرمت AudioFormat، int sampleCounts)

یک نمونه AudioData با بافر حلقه ایجاد می کند که اندازه آن sampleCounts * format.getChannelCount() است.

پارامترها
قالب AudioFormat مورد نیاز مدل TFLite. تعداد کانال ها و نرخ نمونه را مشخص می کند.
نمونه شمارش تعداد نمونه هایی که باید به مدل وارد شوند

عمومی float[] getBuffer ()

یک آرایه شناور را برمی‌گرداند که تمام نمونه‌های صوتی موجود را در AudioFormat.ENCODING_PCM_FLOAT نگه می‌دارد.ENCODING_PCM_FLOAT یعنی مقادیر در محدوده [-1، 1] هستند.

عمومی int getBufferLength ()

public AudioData.AudioDataFormat getFormat ()

بار خالی عمومی (کوتاه[] src)

نمونه های صوتی ورودی src را به ENCODING_PCM_FLOAT تبدیل می کند، سپس آن را در بافر حلقه ذخیره می کند.

پارامترها
src نمونه های صوتی را در AudioFormat.ENCODING_PCM_16BIT وارد کنید. برای ورودی چند کاناله، آرایه به هم پیوسته است.

بار خالی عمومی (float[] src، int offsetInFloat، int sizeInFloat)

نمونه های صوتی ورودی src در بافر حلقه ذخیره می کند.

پارامترها
src نمونه های صوتی را در AudioFormat.ENCODING_PCM_FLOAT وارد کنید. برای ورودی چند کاناله، آرایه به هم پیوسته است.
offsetInFloat موقعیت شروع در آرایه src
sizeInFloat تعداد مقادیر شناور که باید کپی شوند
پرتاب می کند
IllegalArgumentException برای فرمت صوتی ناسازگار یا اندازه ورودی نادرست

بار خالی عمومی (short[] src، int offsetInShort، int sizeInShort)

نمونه های صوتی ورودی src را به ENCODING_PCM_FLOAT تبدیل می کند، سپس آن را در بافر حلقه ذخیره می کند.

پارامترها
src نمونه های صوتی را در AudioFormat.ENCODING_PCM_16BIT وارد کنید. برای ورودی چند کاناله، آرایه به هم پیوسته است.
offsetInShort موقعیت شروع در آرایه src
sizeInShort تعداد مقادیر کوتاهی که باید کپی شوند
پرتاب می کند
IllegalArgumentException اگر آرایه منبع قابل کپی نباشد

بارگذاری عمومی (ضبط ضبط صوتی)

آخرین داده ها را از AudioRecord به روشی غیر مسدود بارگیری می کند. فقط از ENCODING_PCM_16BIT و ENCODING_PCM_FLOAT پشتیبانی می کند.

پارامترها
رکورد نمونه ای از AudioRecord
برمی گرداند
  • تعداد مقادیر صوتی ضبط شده که اندازه آنها channelCount * sampleCount است. اگر داده جدیدی در AudioRecord وجود نداشت یا خطایی رخ داد، این روش 0 را برمی گرداند.
پرتاب می کند
IllegalArgumentException برای فرمت کدگذاری صوتی پشتیبانی نشده
IllegalStateException اگر خواندن از AudioRecord ناموفق بود

بار خالی عمومی (float[] src)

نمونه های صوتی ورودی src در بافر حلقه ذخیره می کند.

پارامترها
src نمونه های صوتی را در AudioFormat.ENCODING_PCM_FLOAT وارد کنید. برای ورودی چند کاناله، آرایه به هم پیوسته است.