एक और चीज जो मुझे हाल ही में समझने की जरूरत थी, वह थी अपने असेंबली.एआई ट्रांस्रिप्शन इंजन को एक ऐसे फ्रंटएंड से जोड़ना जो तेज आवाज में था।
पहला कदम इको कैंसिलेशन सक्षम होने पर माइक्रोफ़ोन तक पहुंच का अनुरोध करना है। यह सुविधा अधिकांश आधुनिक ब्राउज़रों में बनाई गई है और आपके स्पीकर से फीडबैक को कम करने में मदद करती है।
async function getMicrophoneStream() { const constraints = { audio: { echoCancellation: true, noiseSuppression: true, autoGainControl: true } }; try { const stream = await navigator.mediaDevices.getUserMedia(constraints); return stream; } catch (err) { console.error('Error accessing the microphone', err); return null; } }
इसके बाद, हम ऑडियो स्ट्रीम को संसाधित करने के लिए वेब ऑडियो एपीआई सेट करते हैं। इसमें एक AudioContext बनाना और DynamicsCompressorNode सहित विभिन्न नोड्स को जोड़ना शामिल है।
async function setupAudioProcessing(stream) { const audioContext = new AudioContext(); const source = audioContext.createMediaStreamSource(stream); // Create a DynamicsCompressorNode for additional processing const compressor = audioContext.createDynamicsCompressor(); compressor.threshold.setValueAtTime(-50, audioContext.currentTime); // Example settings compressor.knee.setValueAtTime(40, audioContext.currentTime); compressor.ratio.setValueAtTime(12, audioContext.currentTime); compressor.attack.setValueAtTime(0, audioContext.currentTime); compressor.release.setValueAtTime(0.25, audioContext.currentTime); // Connect nodes source.connect(compressor); compressor.connect(audioContext.destination); return { audioContext, source, compressor }; }
आखिरकार, हम वाक् पहचान करने के लिए अपने ऑडियो प्रोसेसिंग सेटअप को वेब स्पीच एपीआई के साथ एकीकृत करते हैं।
async function startSpeechRecognition() { const stream = await getMicrophoneStream(); if (!stream) return; const { audioContext, source, compressor } = await setupAudioProcessing(stream); const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)(); recognition.continuous = true; recognition.interimResults = true; recognition.onresult = (event) => { for (let i = event.resultIndex; i { console.error('Speech recognition error', event.error); }; recognition.start(); // Handle audio context resume if needed if (audioContext.state === 'suspended') { audioContext.resume(); } return recognition; } // Start the speech recognition process startSpeechRecognition();
उम्मीद है आपको यह उपयोगी लगा होगा।
हैप्पी कोडिंग!
टिम.
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3