TensorAudio

सार्वजनिक वर्ग TensorAudio

इनपुट ऑडियो नमूने तैयार करने के लिए रिंग बफ़र और कुछ उपयोगिता फ़ंक्शन को परिभाषित करता है।

यह इनपुट ऑडियो डेटा रखने के लिए एक रिंग बफर बनाए रखता है। ग्राहक `लोड` विधियों के माध्यम से इनपुट ऑडियो डेटा फ़ीड कर सकते हैं और `getTensorBuffer` विधि के माध्यम से एकत्रित ऑडियो नमूनों तक पहुंच सकते हैं।

ध्यान दें कि यह क्लास केवल फ़्लोट ( AudioFormat.ENCODING_PCM_16BIT में) या शॉर्ट ( AudioFormat.ENCODING_PCM_FLOAT में) में इनपुट ऑडियो को संभाल सकता है। आंतरिक रूप से यह सभी ऑडियो नमूनों को पीसीएम फ्लोट एन्कोडिंग में परिवर्तित और संग्रहीत करता है।

कोटलिन

   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 इंस्टेंस बनाता है जिसका आकार sampleCounts * format.getChannelCount() है।
स्थिर टेंसरऑडियो
बनाएं ( TensorAudio.TensorAudioFormat प्रारूप, int नमूना गणना)
रिंग बफ़र के साथ एक AudioRecord इंस्टेंस बनाता है जिसका आकार sampleCounts * format.getChannels() है।
TensorAudio.TensorAudioFormat
टेंसरबफ़र
getTensorBuffer ()
AudioFormat.ENCODING_PCM_FLOAT यानी सभी उपलब्ध ऑडियो नमूनों को पकड़कर एक फ्लोट TensorBuffer लौटाता है
खालीपन
लोड (लघु[] स्रोत)
इनपुट ऑडियो सैंपल src ENCODING_PCM_FLOAT में परिवर्तित करता है, फिर इसे रिंग बफ़र में संग्रहीत करता है।
खालीपन
लोड (फ्लोट[] src, int offsetInFloat, int sizeInFloat)
रिंग बफ़र में इनपुट ऑडियो नमूने src संग्रहीत करता है।
खालीपन
लोड (छोटा[] src, int offsetInShort, int sizeInShort)
इनपुट ऑडियो सैंपल src ENCODING_PCM_FLOAT में परिवर्तित करता है, फिर इसे रिंग बफ़र में संग्रहीत करता है।
int यहाँ
लोड (ऑडियोरिकॉर्ड रिकॉर्ड)
AudioRecord से नवीनतम डेटा को गैर-अवरुद्ध तरीके से लोड करता है।
खालीपन
लोड (फ्लोट[] स्रोत)
रिंग बफ़र में इनपुट ऑडियो नमूने src संग्रहीत करता है।

विरासत में मिली विधियाँ

सार्वजनिक तरीके

सार्वजनिक स्थैतिक TensorAudio बनाएँ (ऑडियोफ़ॉर्मेट प्रारूप, int नमूना गणना)

रिंग बफ़र के साथ एक TensorAudio इंस्टेंस बनाता है जिसका आकार sampleCounts * format.getChannelCount() है।

पैरामीटर
प्रारूप TFLite मॉडल के लिए आवश्यक AudioFormat । यह चैनलों की संख्या और नमूना दर को परिभाषित करता है।
नमूनागणना मॉडल में डाले जाने वाले नमूनों की संख्या

सार्वजनिक स्थैतिक TensorAudio बनाएँ ( TensorAudio.TensorAudioFormat प्रारूप, int नमूना गणना)

रिंग बफ़र के साथ एक AudioRecord इंस्टेंस बनाता है जिसका आकार sampleCounts * format.getChannels() है।

पैरामीटर
प्रारूप इस वर्ग में लोड किए गए ऑडियो डेटा का अपेक्षित TensorAudio.TensorAudioFormat
नमूनागणना मॉडल में डाले जाने वाले नमूनों की संख्या

सार्वजनिक TensorAudio.TensorAudioFormat getFormat ()

सार्वजनिक TensorBuffer getTensorBuffer ()

AudioFormat.ENCODING_PCM_FLOAT में सभी उपलब्ध ऑडियो नमूनों को पकड़कर एक फ्लोट TensorBuffer लौटाता है यानी मान [-1, 1] की सीमा में हैं।

सार्वजनिक शून्य भार (लघु[] स्रोत)

इनपुट ऑडियो सैंपल src ENCODING_PCM_FLOAT में परिवर्तित करता है, फिर इसे रिंग बफ़र में संग्रहीत करता है।

पैरामीटर
स्रोत AudioFormat.ENCODING_PCM_16BIT में ऑडियो नमूने इनपुट करें। मल्टी-चैनल इनपुट के लिए, सरणी को इंटरलीव किया गया है।

सार्वजनिक शून्य लोड (फ्लोट[] src, int offsetInFloat, int sizeInFloat)

रिंग बफ़र में इनपुट ऑडियो नमूने src संग्रहीत करता है।

पैरामीटर
स्रोत AudioFormat.ENCODING_PCM_FLOAT में ऑडियो नमूने इनपुट करें। मल्टी-चैनल इनपुट के लिए, सरणी को इंटरलीव किया गया है।
ऑफसेटइनफ्लोट src सरणी में प्रारंभिक स्थिति
आकारइनफ़्लोट कॉपी किए जाने वाले फ़्लोट मानों की संख्या
फेंकता
अवैध तर्क अपवाद असंगत ऑडियो प्रारूप या गलत इनपुट आकार के लिए

सार्वजनिक शून्य लोड (छोटा[] src, int offsetInShort, int sizeInShort)

इनपुट ऑडियो सैंपल src ENCODING_PCM_FLOAT में परिवर्तित करता है, फिर इसे रिंग बफ़र में संग्रहीत करता है।

पैरामीटर
स्रोत AudioFormat.ENCODING_PCM_16BIT में ऑडियो नमूने इनपुट करें। मल्टी-चैनल इनपुट के लिए, सरणी को इंटरलीव किया गया है।
ऑफसेटइनशॉर्ट स्रोत सरणी में प्रारंभिक स्थिति
आकार छोटा कॉपी किए जाने वाले छोटे मानों की संख्या
फेंकता
अवैध तर्क अपवाद यदि स्रोत सरणी की प्रतिलिपि नहीं बनाई जा सकती है

सार्वजनिक पूर्णांक लोड (ऑडियोरिकॉर्ड रिकॉर्ड)

AudioRecord से नवीनतम डेटा को गैर-अवरुद्ध तरीके से लोड करता है। केवल ENCODING_PCM_16BIT और ENCODING_PCM_FLOAT का समर्थन करता है।

पैरामीटर
अभिलेख AudioRecord का एक उदाहरण
रिटर्न
  • कैप्चर किए गए ऑडियो मानों की संख्या जिसका आकार channelCount * sampleCount है। यदि AudioRecord में कोई नया डेटा नहीं था या कोई त्रुटि हुई, तो यह विधि 0 लौटा देगी।
फेंकता
अवैध तर्क अपवाद असमर्थित ऑडियो एन्कोडिंग प्रारूप के लिए
IllegalStateException यदि AudioRecord से पढ़ना विफल रहा

सार्वजनिक शून्य लोड (फ्लोट[] स्रोत)

रिंग बफ़र में इनपुट ऑडियो नमूने src संग्रहीत करता है।

पैरामीटर
स्रोत AudioFormat.ENCODING_PCM_FLOAT में ऑडियो नमूने इनपुट करें। मल्टी-चैनल इनपुट के लिए, सरणी को इंटरलीव किया गया है।