TensorAudio

पब्लिक क्लास TensorAudio

इनपुट ऑडियो के सैंपल तैयार करने के लिए, रिंग बफ़र और कुछ यूटिलिटी फ़ंक्शन के बारे में बताता है.

यह रिंग बफ़र को बनाए रखता है ऑडियो डेटा इनपुट करें. क्लाइंट `लोड` तरीकों का इस्तेमाल करके, ऑडियो डेटा फ़ीड कर सकते हैं. साथ ही, `getTensorBuffer` तरीके से एग्रीगेट किए गए ऑडियो सैंपल.

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

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(ऑडियो फ़ॉर्मैट फ़ॉर्मैट, int sampleCounts)
यह रिंग बफ़र के साथ TensorAudio इंस्टेंस बनाता है, जिसका साइज़ sampleCounts * है format.getChannelCount().
स्टैटिक TensorAudio
create(TensorAudio.TensorAudioFormat फ़ॉर्मैट, int sampleCounts)
रिंग बफ़र के साथ AudioRecord इंस्टेंस बनाता है, जिसका साइज़ sampleCounts * format.getChannels() है.
TensorAudio.TensorAudioFormat
TensorBuffer
getTensorBuffer()
AudioFormat.ENCODING_PCM_FLOAT में मौजूद सभी ऑडियो सैंपल को होल्ड करके वाला फ़्लोट TensorBuffer लौटाता है
अमान्य
load(short[] src)
यह इनपुट ऑडियो के सैंपल src को ENCODING_PCM_FLOAT में बदलता है. इसके बाद, इसे रिंग में सेव करता है बफ़र.
अमान्य
load(float[] src, intsettingInFloat, intsizeInFloat)
इनपुट ऑडियो के सैंपल src को रिंग बफ़र में सेव करता है.
अमान्य
load(short[] src, int ऑफ़सेटInShort, intsizeInShort)
यह इनपुट ऑडियो के सैंपल src को ENCODING_PCM_FLOAT में बदलता है. इसके बाद, इसे रिंग में सेव करता है बफ़र.
int
load(AudioRecord रिकॉर्ड)
ब्लॉक न करने वाले तरीके से, AudioRecord से नया डेटा लोड करता है.
अमान्य
load(float[] src)
इनपुट ऑडियो के सैंपल src को रिंग बफ़र में सेव करता है.

इनहेरिट किए गए तरीके

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

सार्वजनिक स्टैटिक TensorAudio बनाएं (ऑडियो फ़ॉर्मैट फ़ॉर्मैट, int sampleCounts)

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

पैरामीटर
फ़ॉर्मैट TFLite मॉडल के लिए ज़रूरी AudioFormat. यह चैनलों की संख्या और सैंपल रेट.
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] की रेंज में होती हैं.

सार्वजनिक अमान्य लोड करें (छोटा[] सोर्स)

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

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

सार्वजनिक अमान्य लोड करें (float[] src, int ऑफ़सेटInFloat, intsizeInFloat)

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

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

सार्वजनिक अमान्य लोड करें (short[] src, int ऑफ़सेटInShort, intsizeInShort)

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

पैरामीटर
स्रोत AudioFormat.ENCODING_PCM_16BIT में ऑडियो के सैंपल डालें. इसके लिए मल्टी-चैनल इनपुट, अरे इंटरलीव किया हुआ है.
offsetInShort src अरे में शुरुआती स्थिति
sizeInShort कॉपी की जाने वाली छोटी वैल्यू की संख्या
थ्रो
IllegalArgumentException अगर सोर्स कलेक्शन को कॉपी नहीं किया जा सकता

सार्वजनिक आईएनटी लोड करें (ऑडियो रिकॉर्ड रिकॉर्ड)

ब्लॉक न करने वाले तरीके से, AudioRecord से नया डेटा लोड करता है. सिर्फ़ ENCODING_PCM_16BIT और ENCODING_PCM_FLOAT का समर्थन करता है.

पैरामीटर
रिकॉर्ड AudioRecord का एक इंस्टेंस
रिटर्न
  • कैप्चर किए गए ऑडियो की संख्या जिनका साइज़ channelCount * sampleCount है. अगर आपने AudioRecord में कोई नया डेटा नहीं था या कोई गड़बड़ी हुई, इसलिए इस तरीके से वैल्यू 0 मिलेगी.
थ्रो
IllegalArgumentException काम न करने वाले ऑडियो एन्कोडिंग फ़ॉर्मैट के लिए
IllegalStateException अगर AudioRecord से पढ़ना विफल रहा हो

सार्वजनिक अमान्य लोड करें (फ़्लोट[] src)

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

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