2011-04-05 12 views
5

सबसे पहले मैं यह बताना चाहता हूं कि मेरा प्रश्न आवाज पहचान की "क्लासिक" परिभाषा के बारे में प्रति नहीं है।मैं आईओएस पर दो आवाज नमूने की तुलना कैसे करूं?

क्या हम क्या करने की कोशिश कर रहे हैं, कुछ अलग है के अर्थ में:

  1. उपयोगकर्ता अपने आदेश रिकॉर्ड
  2. बाद में, जब उपयोगकर्ता पूर्व दर्ज आदेश बात करेंगे, विशेष प्रकार की गतिविधि हो जाएगा।

उदाहरण के लिए, मैंने अपनी माँ को फोन करने के लिए वॉयस कमांड रिकॉर्ड किया है, इसलिए मैं उसे क्लिक करता हूं और "माँ" कहता हूं। फिर जब मैं प्रोग्राम का उपयोग करता हूं और "माँ" कहता हूं, तो यह स्वचालित रूप से उसे कॉल करेगा।

मैं एक सहेजे गए कमांड नमूने में बोले गए कमांड की तुलना कैसे करूं?

संपादित करें: हमें किसी भी "टेक्स्ट-टू-स्पीच" क्षमताओं की आवश्यकता नहीं है, केवल ध्वनि संकेतों की तुलना करें। स्पष्ट रूप से हम कुछ प्रकार के ऑफ-द-शेल्फ उत्पाद या ढांचे की तलाश में हैं।

+2

आपका प्रश्न क्या है? – titaniumdecoy

+1

जैसा मैंने कहा, मैंने जो पूछा है उसे हासिल करना संभव है :) –

+0

बस इस मुद्दे को साफ़ करने के लिए, हमें किसी भी प्रकार के "टेक्स्ट टू स्पीच" या किसी भी प्रकार की आवश्यकता नहीं है, हम खोज रहे हैं एक अपेक्षाकृत सरल ढांचा जो 2 ध्वनि संकेतों की तुलना कर सकता है और देख सकता है कि वे "समान" हैं या नहीं। इस तरह गैर अंग्रेजी बोलने वाले लोग भी इस कार्यक्रम का उपयोग कर सकते हैं। –

उत्तर

0

आईओएस अनुप्रयोगों के लिए OpenEars जैसे किसी तृतीय-पक्ष लाइब्रेरी का उपयोग करने का प्रयास करें। आप उपयोगकर्ता को ध्वनि नमूना रिकॉर्ड कर सकते हैं और इसे अनुवादित पाठ के रूप में सहेज सकते हैं, या बस उन्हें पहचान के लिए टेक्स्ट दर्ज कर सकते हैं।

+0

मुझे टेक्स्ट में कहा गया वॉइस कमांड का अनुवाद करने की भी आवश्यकता नहीं है, मैं बस कमान कमांड स्टोर करना चाहता हूं, और बाद में इसकी तुलना करना चाहता हूं। –

+1

नहीं, आपको वास्तव में ध्वनि पहचान की आवश्यकता है। "समानता" के लिए ध्वनियों की तुलना करने से पहले दर्ज नहीं किया गया है, दूसरे रिकॉर्ड किए गए नमूने पहले से भिन्न हो सकते हैं। कार पृष्ठभूमि में ड्राइव करता है? उपयोगकर्ता शब्दों के बीच थोड़ी देर रुकता है? या स्टटर? अपने उपयोगकर्ताओं को क्षमा करें - वे मानव हैं, और एक ही ध्वनि को दो बार उत्पादन करने में सक्षम नहीं हैं। – Dominic

0

मुझे लगता है कि आपको यह निर्धारित करने के लिए cross correlation का कुछ प्रकार करना होगा, यह निर्धारित करने के लिए कि इन दो सिग्नल कितने समान हैं। (मान लीजिए कि यह वही उपयोगकर्ता होगा जो बोल रहा है)। मैं यह जवाब देखने के लिए सिर्फ यह जवाब लिख रहा हूं कि यह मदद करता है, लेकिन मैं किसी और से बेहतर जवाब की प्रतीक्षा करता हूं। मेरा सिग्नल प्रोसेसिंग कौशल शून्य के करीब है।

+0

क्रॉस सहसंबंध ऐसा लगता है कि हमें इस परियोजना के लिए क्या चाहिए, क्योंकि हम चाहते हैं कि यह सार्वभौमिक हो (न केवल अंग्रेजी बोलने वाले ग्राहकों के लिए) –

0

मुझे यकीन नहीं है कि आपका प्रश्न डीएसपी के बारे में है या आईफोन पर इसे कैसे किया जाए। यदि यह उत्तरार्द्ध है तो मैं ऐप्पल द्वारा प्रदान की जाने वाली परियोजना के साथ शुरू करूंगा। इस तरह आपके पास पहले से ही एक फ़ाइल को आवाज रिकॉर्ड करने के लिए इंटरफ़ेस है। यह आपको बहुत परेशानी बचाएगा।

4

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

आईओएस 4.x में, आप एफएफटी के लिए त्वरित ढांचे का उपयोग कर सकते हैं और शायद 2 डी क्रॉस सहसंबंध भी कर सकते हैं।

+1

क्या आपके पास इसके लिए स्रोत कोड है? – va05

संबंधित मुद्दे