2009-03-20 15 views
6

मैं एक बुनियादी भाषण पहचान सॉफ्टवेयर लिखना चाहता हूं जो भाषण में पाठ को परिवर्तित कर सकता है। मैं जानना चाहता था कि कौन सी भाषा ऐसे सॉफ्टवेयर लिखने के लिए सबसे उपयुक्त है। जावा इस नौकरी के लिए उपयुक्त है?स्पीच रिकग्निशन सॉफ़्टवेयर लिखने के लिए किस भाषा का उपयोग करना है?

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

धन्यवाद, दीपक

उत्तर

2

जावा इसे करने के लिए एक अंतरफलक के लिए अनुकूल हो सकता है, लेकिन भाषण मान्यता गंभीरता से कच्चे घुरघुराना की आवश्यकता है। मैं वास्तविक पहचान इंजन के लिए सी जैसे संकलित क्लोज-टू-द-मेटल भाषा का चयन करूँगा।

यह कुछ भी नहीं है, जिस तरह से हल्के ढंग से किया जाना चाहिए। शुरू करने से पहले भी सीखने के लिए आपको बहुत सी सिद्धांतों की आवश्यकता होगी। स्वयं, यदि संभव हो तो मैं मौजूदा इंजनों में से एक को लाइसेंस दूंगा, और इसके चारों ओर एक सभ्य उत्पाद बनाने पर ध्यान केंद्रित करूंगा।

ऐसा लगता है कि आपका उद्देश्य उत्पाद बनाना है। यदि आप बस प्रयोग करना चाहते हैं, तो हर तरह से अपना खुद का लिखें। यह मजेदार होगा (एक बिंदु तक :-)।

+0

@Pax आपके उत्तर में आपके विरोधाभासी प्रतिक्रिया पर टिप्पणी करने के लिए स्वतंत्र महसूस करें। – MarkusQ

+0

इस विचार से सहमत है कि मौजूदा इंजन को लाइसेंस देना शायद अधिक उत्पादक है। लेकिन आप जानते हैं कि आजकल, जावा भी प्रभावी रूप से एक मूल रूप से "संकलित" भाषा है, है ना? किसी भी मामले में, लोगों ने पहले पाइथन में इंजन लिखे हैं ... –

+0

@paxdiablo, इस उत्तर के लिए धन्यवाद। मुझे पता है कि मैं 6 साल बाद जवाब दे रहा हूं, लेकिन ... मैं एक एपीआई मारकर अपने आवेदन में भाषण-से-पाठ सॉफ़्टवेयर को एकीकृत करना चाहता हूं, लेकिन विदेशी भाषाओं के लिए कोई अंतराल नहीं है। मैंने इसके बारे में यहां पोस्ट किया है: http://stackoverflow.com/questions/32937367/speech-to-text-api-for-foreign-भाषाएं। क्या आप मदद कर सकते हैं? – Growler

0

मुझे लगता है कि जावा एक अच्छा विकल्प हो सकता है, यह सब इस बात पर निर्भर करता है कि आप इनपुट कैसे प्राप्त करेंगे। जावा में ध्वनि के लिए कुछ अच्छी लाइब्रेरी हैं।

भाषा समस्या नहीं होगी क्योंकि यह पैटर्न को पहचानने का विषय होगा। यदि जावा वह भाषा है जिसे आप सबसे ज्यादा परिचित हैं, तो मैं इसका इस्तेमाल करूंगा।

1

ए पैक्स ने लगभग हर चीज से सहमत हैं, इसलिए मैं विरोधाभासी होने जा रहा हूं और विपरीत के लिए बहस कर रहा हूं। पारंपरिक ज्ञान यह है कि भाषण मान्यता "गंभीर रूप से कच्ची गड़बड़ी की आवश्यकता होती है" और ऐसा इसलिए हो सकता है क्योंकि यह सच है।

लेकिन यह भी हो सकता है कि हर कोई मानता है कि इस तरह यह हमेशा किया जाता है। इस तथ्य से बहस करते हुए कि मानव मस्तिष्क भाषण पहचानने के लिए बड़ी मात्रा में ब्रूट फोर्स डेटा मंथन नहीं करता है, मैं सुझाव दूंगा कि नौकरी अधिक अधिक कुशलता से करने के लिए चालाक सुविधा निष्कर्षण एल्गोरिदम मौजूद हैं।

यदि ऐसा है, और यदि आप ऐसे एल्गोरिदम को ढूंढना चाहते हैं, तो उच्च स्तर की भाषा कार्य के लिए बेहतर हो सकती है। जो भी आप दक्षता में खो देते हैं, आप एल्गोरिदमिक अभिव्यक्ति में और अधिक बना देंगे।

उसने कहा, वह शायद सही है।

+0

मैं आपके द्वारा बताए गए किसी भी चीज़ से असहमत नहीं हूं, मार्कसक्यू। लेकिन मस्तिष्क बड़े पैमाने पर समांतरता के साथ अपनी गड़बड़ी प्राप्त करता है - हम जेआरई में 100 बिलियन धागे पैदा करने की कोशिश कर सकते हैं, लेकिन मुझे यकीन नहीं है कि यह कितना अच्छा होगा (हाँ, मुझे पता है कि यह reductio विज्ञापन absurdum :-) है। मैं आपकी विवाद से सहमत हूं कि हमें कोशिश करनी चाहिए। – paxdiablo

+0

@ पैक्स यह एक दिलचस्प सवाल है। भाषण मान्यता करने के लिए हम निश्चित रूप से न्यूरॉन्स के 10^11 धागे का उपयोग नहीं करते हैं; 10^11 न्यूरॉन्स में से हम शायद 10^2/सेकंड की संक्रमण दर पर भाषण मान्यता के लिए 10^9 के क्रम पर उपयोग करते हैं; मेरा क्वाडकोर डेस्कटॉप आसानी से 10x हिट करता है ... – MarkusQ

+0

मैं असहमत हूं। स्वचालित भाषण मान्यता क्षेत्र में - सर्वोत्तम दृष्टिकोण बहुत चालाक नहीं होते हैं और प्रशिक्षण डेटा और गणना की बड़ी मात्रा पर निर्भर करते हैं। यह इस तरह के लोगों की वजह से नहीं है, लेकिन परिणाम बेहतर हैं। लेकिन हम जेब में मूर कानून के रास्ते पर हैं :-) – Jiri

3

मैं पैक्स से सहमत हूं कि यह संभावित रूप से एक बड़ी परियोजना है, और सबसे व्यावहारिक समाधान शायद मौजूदा इंजन को लाइसेंस देना है।

यदि आप जो करना चाहते हैं उसका दायरा केवल कुछ पूर्व ज्ञात संभावित शब्दों के बीच को अलग करता है, तो यह एक महत्वपूर्ण छोटी परियोजना है, लेकिन अभी भी काफी है।

लेकिन ... यदि आप तय करते हैं कि वास्तव में वास्तव में वास्तव में आप स्वयं को विकसित करना चाहते हैं, तो मुझे जावा का उपयोग न करने का कोई कारण नहीं दिख रहा है। विचार है कि "सी तेज है" काफी हद तक मिथक है (या पुरानी जानकारी के आधार पर)।

4

मेरे छात्र Sphinx का उपयोग कर रहे हैं। यह जावा में लिखा गया है (सी ++ से एक बंदरगाह मुझे विश्वास है)। यह आपके इच्छित चीज़ों के लिए उपयुक्त नहीं हो सकता है (मुझे लगता है कि आपको अपना खुद का शब्दकोश बनाना होगा) लेकिन जांच करने लायक है।

0

जावा turing complete है इसलिए यह प्रत्येक प्रोग्रामिंग नौकरी को संभाल सकता है। चाहे आप जावा में कुछ करने के लिए चाहते हैं, पूरी तरह से आपके ऊपर है।

0

जावा में लिखे गए शिनक्स फ्रेमवर्क के साथ हमें मध्यम सफलता मिली, लेकिन असली कड़ी मेहनत क्षेत्र में शामिल एल्गोरिदम और गणित को समझने और फिर आपकी विशेष आवश्यकताओं के लिए ठीक ट्यूनिंग इंजन में समझने में निहित है।

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

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