2011-02-08 23 views
6

में वॉयस वाव की तुलना करें मैं एक ऐप विकसित कर रहा हूं और अगर वे मेल खाते हैं या नहीं, तो मुझे 2 आवाजों की तुलना करने के लिए कुछ तरीका चाहिए, मुझे पता है कि वॉयस रिकग्नाइज़र ऐसा करने का एक तरीका है लेकिन चूंकि (मुझे लगता है) इसे पहले स्ट्रिंग में आवाज का अनुवाद करने की आवश्यकता है, यह भाषण पहचानकर्ता द्वारा समर्थित लैंग के अलावा अन्य भाषा के लिए इतना उपयुक्त नहीं होगा .... कोई विचार? पुराने दिन के फोन की तरह ही, वॉयस टैग जहां यह ध्वनि के साथ ध्वनि इनपुट की तुलना करता है, जो इसेएंड्रॉइड या वॉयस टैग (वॉयस कमांड) एपीआई

+0

क्या आप यह पहचानने की कोशिश कर रहे हैं कि दोनों रिकॉर्डिंग एक ही वक्ता (आवाज प्रमाणीकरण या स्पीकर पहचान) थे या आप यह निर्धारित करने की कोशिश कर रहे हैं कि वही शब्द बोले गए थे? आप क्या मेल खाते हैं स्पीकर की पहचान या उन्होंने जो शब्दों की बात की थी? –

+0

हाय। आप इसे कैसे हल करते हैं? –

उत्तर

5

अपेक्षाकृत ऐसा करने का आसान तरीका एफएफटी (फास्ट फूरियर ट्रांसफॉर्म) का उपयोग करना है) मूल WAV फ़ाइल के समय-डोमेन डेटा को आवृत्ति-डोमेन डेटा में परिवर्तित करने के लिए (जिसमें आपके रूपांतरित सरणी में प्रत्येक मान किसी विशेष आवृत्ति बैंड की सापेक्ष परिमाण/तीव्रता का प्रतिनिधित्व करता है)।

एक ही व्यक्ति दो बार एक ही शब्द बोलती हैं, जिसके परिणामस्वरूप समय-डोमेन डेटा फिर भी अभी भी बहुत अलग संख्यानुसार दो WAV फ़ाइलों में होगा। डब्ल्यूएवी फाइलों को फ्रीक्वेंसी डोमेन में परिवर्तित करना (दोनों के लिए एफएफटी विंडो के समान आकार का उपयोग करना, भले ही दोनों फाइलें थोड़ी अलग लंबाई के हों) आवृत्ति सरणी उत्पन्न करती हैं जो मूल WAV फ़ाइलों की तुलना में एक-दूसरे के समान होती हैं।

दुर्भाग्यवश, मैं विशेष रूप से एंड्रॉइड के लिए कोई भी एफएफटी पुस्तकालय नहीं ढूंढ पा रहा हूं।

Signal processing library in Java?

+0

धन्यवाद, लेकिन मैं वास्तव में हैरान हूं, क्यों मेरा पुराना मोटो फोन यह कर सकता है और यह नया बेवकूफ एंड्रॉइड नहीं कर सकता, ओमजी मैं सिर्फ अपनी आवाज रिकॉर्ड करना चाहता हूं और फिर इसे कहूंगा और यह पता चलेगा कि यह मूल के पास है या नहीं! मैं इस जटिल चीज को नहीं करना चाहता, मेरा मतलब है कि अगर वे बिल्कुल वही समस्या नहीं होंगे, लेकिन यह तय करने के लिए कई एल्गोरिदम हैं कि यह मूल के पास है या नहीं, मैं पहिया को फिर से नहीं लेना चाहता! – rami

+0

हाँ, ऐसा लगता है कि एंड्रॉइड में बेक भाषण मान्यता सामग्री आपके काम की तरह काम नहीं करती है। मुझे लगता है कि निर्माताओं वास्तव में इस बात से दूर जा रहे हैं कि आपके मोटो ने भाषण मान्यता कैसे की, क्योंकि वह पुराना तरीका आपकी विशेष आवाज को पहचानने के लिए आपके फोन को "प्रशिक्षण" पर निर्भर था। यह वही है जो आप चाहते हैं, निश्चित रूप से, लेकिन इसे गंभीर कमजोरी माना जाता था और संभवत: ऐसा कोई भी क्यों नहीं करता है। – MusiGenesis

+0

MusiGenesis सही है। आवाज पहचान करने का पुराना तरीका यह था कि फोन में सभी लाइब्रेरी और प्रोसेसिंग सॉफ्टवेयर डिवाइस पर थे। Androids Google को एक स्ट्रीम खोलते हैं और आप वास्तव में Google सर्वर पर बात कर रहे हैं, न कि आपके फोन पर। सर्वर तब वापस फोन पर व्याख्या भेजते हैं। यह अधिक सटीक है, और अधिक सुविधाओं का समर्थन करता है, और इस तरह फोन पर अंतरिक्ष बचाता है। लेकिन, आप जो करने की कोशिश कर रहे हैं उसके लिए यह हानिकारक है, जो दुर्भाग्यपूर्ण है। :( – Brandon

1

एक विचार उनके spectograms में आवाज की समानता तुलना कर रहा है: यहाँ एक सवाल कुछ जावा आधारित पुस्तकालयों का संदर्भ देता है है। स्पेक्ट्रोग्राम में विशेषताएं मजबूत हैं और शोर का प्रतिरोध करती हैं जो दो आवाज़ का विश्लेषण करने के लिए एक अच्छा संदर्भ है। यदि आप इस दृष्टिकोण को लेते हैं तो आपको पहले आवाज़ों की विशेषताओं को पता लगाना चाहिए और आपको दो स्पेक्ट्रोग्रामों में सुविधाओं की तुलना करने की आवश्यकता के बारे में जानने की आवश्यकता है, यह पैटर्न पहचान को संदर्भित करता है।

यह API http://code.google.com/p/musicg-sound-api/ जावा में लिखा है और एंड्रॉयड में इस्तेमाल किया जा सकता है। यह तरंग स्पेक्ट्रोग्राम को कैप्चर करता है।