2011-09-30 21 views
18

क्या कोई भी WAV फ़ाइलों में अंग्रेजी भाषण को स्थानांतरित करने के लिए विश्वसनीय ओपन सोर्स सॉफ़्टवेयर की सिफारिश कर सकता है? मैंने जिन दो मुख्य कार्यक्रमों का शोध किया है वे Sphinx और Julius हैं, लेकिन मैं कभी भी काम करने में सक्षम नहीं हूं, और फाइलों को ट्रांसक्रिप्ट करने के लिए प्रत्येक के साथ प्रलेखन सबसे अच्छा है।ऑडियो फ़ाइलों में भाषण लिखने के लिए ओपन सोर्स सॉफ्टवेयर

मैं 64-बिट उबंटू 10.04 पर विकसित कर रहा हूं, जिनके रेपो में स्फिंक्स 2 और जुलिएस, साथ ही अंग्रेजी के लिए वोक्सफोर्ज के जूलियस ध्वनिक मोडल शामिल हैं। मैं फ़ाइलों को ट्रांसक्रिप्ट करने पर ध्यान केंद्रित कर रहा हूं, बजाय माइक्रो से ध्वनि को सीधे प्रोसेस करने की बजाय, क्योंकि मैंने उबंटू की ध्वनि प्रणाली के साथ काम करने की अपेक्षा की जाने वाली परियोजनाओं को छोड़ दिया है। यह उबंटू के खिलाफ दस्तक नहीं है, क्योंकि मैं ऑडैसिटी का पूरी तरह से अपने माइक के साथ ध्वनि रिकॉर्ड कर सकता हूं, लेकिन न तो सिस्टम मेरे माइक तक पहुंचने में सक्षम लगता है, इसलिए मुझे आशा है कि मैं बस फाइल से पढ़कर बस अपनी कॉन्फ़िगरेशन कर सकता हूं।

मैंने पहली बार उबंटू पैकेज sphinx2-bin से स्फिंक्स 2 की कोशिश की। भले ही नमूना स्फिंक्स 2-डेमो फ़ाइल को ट्रांसक्रिप्ट करने पर काम करना प्रतीत होता है, फिर भी कॉन्फ़िगरेशन पर वर्चुअल रूप से कोई दस्तावेज नहीं है, इसलिए मुझे यकीन नहीं है कि मैं इसे मनमाने ढंग से WAV से पढ़ने के लिए कैसे अनुकूलित करूं। डेमो में उपयोग की जाने वाली ऑडियो फ़ाइल कुछ अनियंत्रित "16k" प्रारूप में है, जिसे अप्रत्यक्ष रूप से 2 कॉन्फ़िगरेशन फ़ाइलों के माध्यम से संदर्भित किया जाता है। स्फिंक्स 2-डेमो को स्पिनक्स 2-बैच चलाने के रूप में वर्णित एक संक्षिप्त अस्पष्टता है, लेकिन स्क्रिप्ट का निरीक्षण करने से पता चलता है कि यह वास्तव में स्फिंक्स 2-निरंतर कॉल कर रहा है। इससे भी बदतर, प्रत्येक स्क्रिप्ट सूची के लिए --help दस्तावेज़ 6 दर्जन विकल्पों के बारे में, और उल्लेख नहीं है कि कौन सा आवश्यक या वैकल्पिक है। कुल मिलाकर, स्फिंक्स दस्तावेज की कमी, और मौजूदा दस्तावेज की खराब गुणवत्ता मुझे पागल कर रही है।

मैंने अगली बार उबंटू पैकेज से जूलियस की कोशिश की, जो आश्चर्यजनक रूप से हाल ही में (4.1) था, वॉक्सफोर्ज के क्विकस्टार्ट में उपयोग किए गए संस्करण 3.5 पर विचार कर रहा था। पैकेज में थोड़ा बेहतर प्रलेखन शामिल है, और यहां तक ​​कि पाइथन (/ usr/share/doc/julius-voxforge/example/controlapp) में लिखा गया एक उदाहरण भी शामिल है। उदाहरण के दस्तावेज़ों को पढ़ने के बाद, मैंने फ़ाइल filelist.txt फ़ाइल बनाकर फ़ाइल को पढ़ने के लिए इसे अनुकूलित करने का प्रयास किया, जिसमें "हैलो.वाव" टेक्स्ट शामिल है, जिसमें एक ही नाम की एक फ़ाइल का जिक्र है, जिसमें "हैलो" कहने वाले किसी की रिकॉर्डिंग होती है। एक ही निर्देशिका में इन रखने, मैं भाग गया: filelist.txt के लिए पूर्ण फ़ाइल नाम निर्दिष्ट द्वारा

### read waveform input 
Error: adin_file: sampling rate != 16000 (8000) 
Error: adin_file: error in parsing wav header at hello.wav 
Error: adin_file: failed to read speech data: "hello.wav" 
0 files processed 

पुनः प्रयास किया जाएगा और hello.wav एक ही त्रुटि उत्पन्न:

julius -input file -filelist filelist.txt -C julian.jconf 

प्रतिक्रिया हो रही है।

मैं भी उदाहरण में प्रयुक्त जूलियस कॉल करने की कोशिश की, एक मिक से सीधे रिकॉर्ड करने के लिए:

julius -input mic -C julian.jconf 

मैं कई बार कहा जाता है, और प्रतिक्रिया त्रुटि के बीच अलग-अलग:

Cannot read /dev/dsp 

और:

STAT: AD-in thread created 
<<< please speak >>> 

बाद के मामले में, कोई फर्क नहीं पड़ता कि मैं mic में क्या कहता हूं, कुछ भी नहीं होता है। मैं यह नहीं बता सकता कि यह अभी भी mic को पढ़ने में असमर्थ है, या यदि यह कुछ पढ़ रहा है, लेकिन ऑडियो को ट्रांसक्रिप्ट करने में बस असमर्थ है।

मुझे यकीन नहीं है कि इसका क्या बनाना है। मुझे जो त्रुटियां मिल रही हैं, उन्हें मुझे जाने के लिए बहुत कुछ नहीं छोड़ना है। यह एक वाव क्यों नहीं पढ़ सकता है? यह क्यों नहीं पढ़ सकता/dev/dsp? फिर यह/dev/dsp पढ़ने में सक्षम क्यों प्रतीत होता है, लेकिन किसी भी तरह से प्रतिक्रिया नहीं करता है?

क्या किसी और के पास कोई खुले स्रोत भाषण पहचानकर्ताओं के साथ सफलतापूर्वक विशेष रूप से लिनक्स पर है?

उत्तर

14

Why can't it read a wav?

यह आपको बताता है कि फ़ाइल के अनुरोध के बजाय गलत नमूना दर (8000) है (16000)। भाषण मान्यता सॉफ्टवेयर के लिए नमूनाकरण दर बहुत महत्वपूर्ण है।

Why can't it read /dev/dsp?

ओएसएस के बजाय उबंटू पल्सियोडियो फ्रेमवर्क के हाल के संस्करणों में उपयोग किया जाता है। जो संस्करण आप कोशिश कर रहे हैं वह ओएसएस का उपयोग कर रहा है, इसलिए आपको ओएसएस समर्थन को वापस लाने के लिए अपने वितरण से ओएसएस-संगतता पैकेज स्थापित करने की आवश्यकता है।

आप कोशिश कर सकते हैं नए जूलियस पल्सऑडियो समर्थन

Why does it then appear to be able to read /dev/dsp, but not react in any way?

ऑडियो इनपुट है जो ठीक से काम नहीं करता है।

Has anyone else had any success with open source speech recognizers, especially on Linux?

ज़रूर, लोगों CMUSphinx साथ क्या का एक उदाहरण के रूप में इस वीडियो की जाँच करें:

http://www.youtube.com/watch?v=vfaNLIowSyk

मैं तुम्हें CMUSphinx पैकेज है जो एक प्रमुख खुला स्रोत भाषण मान्यता इंजन है फिर से सुझाव देते हैं। वेबसाइट पर बहुत सारे दस्तावेज हैं, आपको बस उन्हें पढ़ने की जरूरत है। याद रखें कि भाषण मान्यता एक जटिल क्षेत्र है जहां आप एक महान परिणाम प्राप्त कर सकते हैं लेकिन आपको प्रौद्योगिकी को समझने में अपना समय निवेश करने की भी आवश्यकता है। किसी भी अन्य डोमेन की तरह। सॉक्स के साथ 8khz 16 बिट मोनो फाइल करने के लिए

  1. लें wav फ़ाइल और यह resample:
 sox input.wav -r 8000 -c 1 resampled.wav

संक्षेप में, आप निम्नलिखित 3 सरल चरणों करने की ज़रूरत CMUSPhinx के साथ एक फ़ाइल अनुलेखन

  1. स्थापित pocketsphinx 0,7
 apt-get install pocketsphinx
  1. डिकोड फ़ाइल
 pocketsphinx_continuous -samprate 8000 -infile resampled.wav

परिणाम मानक आउटपुट में प्रिंट किया जाएगा। लॉगर को दबाए रखने के लिए,/dev/null

 pocketsphinx_continuous -infile resampled.wav 2> /dev/null
+0

पर stderr पुनर्निर्देशन जोड़ें pocketsphinx 0.7 के लिए आपको उबंटू पैकेज कहां मिला? 10.04 रेपो में केवल 0.5 है, जो बहुत छोटी है और इसमें इन्फाइल पैरामीटर नहीं है। मैं केवल Google के माध्यम से 0.6 के रूप में उच्च संस्करण प्राप्त कर सकता था। – Cerin

+0

नोट, सही दर पर फिर से शुरू होने पर भी, जूलियस तब बाइट्स-प्रति-सेकंड के बारे में शिकायत करता है! = 32000. नमूना दर एक ही चीज बाइट्स-प्रति-सेकंड के रूप में नहीं है? – Cerin

+0

> नमूना दर बाइट्स-प्रति-सेकंड के समान ही है? कोई फ़ाइल मोनो (एकल चैनल भी) होने की आवश्यकता नहीं है। –