2012-01-04 29 views
6

Yêu cầu của tôi tương tự như this question vì câu hỏi bây giờ là 3 tuổi Tôi đăng lại câu hỏi với thông tin cụ thể cho tôi, tôi muốn tạo một ứng dụng cần có .wav (hoặc bất kỳ tiêu chuẩn nào khác định dạng tệp âm thanh) và chuyển đổi thành văn bản.Đơn đăng ký sử dụng Sphinx4

Để nhận dạng giọng nói Tôi đã quyết định sử dụng sphinx4, tôi đang cố gắng nâng cao bản demo Transcriber được cung cấp bằng nhân sư. Tốt nhưng nó chỉ hoạt động cho một ngữ pháp cụ thể (được viết bằng các tệp .gram và .gxml).

EDIT Để có thể sử dụng bằng tiếng Anh? Tôi đang cố gắng để cấu hình nó với VoxForge_en_0.4. Tệp config.XML của tôi trông giống như: -

<?xml version="1.0" encoding="UTF-8"?> 

<!-- 
    Sphinx-4 Configuration file 
--> 

<!-- ******************************************************** --> 
<!-- biship configuration file        --> 
<!-- ******************************************************** --> 

<config>   

    <!-- ******************************************************** --> 
    <!-- frequently tuned properties        --> 
    <!-- ******************************************************** --> 
    <property name="absoluteBeamWidth" value="500"/> 
    <property name="relativeBeamWidth" value="1E-80"/> 
    <property name="absoluteWordBeamWidth" value="20"/> 
    <property name="relativeWordBeamWidth" value="1E-60"/> 
    <property name="wordInsertionProbability" value="1E-16"/> 
    <property name="languageWeight" value="7.0"/> 
    <property name="silenceInsertionProbability" value=".1"/> 
    <property name="frontend" value="epFrontEnd"/> 
    <property name="recognizer" value="recognizer"/> 
    <property name="showCreations" value="false"/> 


    <!-- ******************************************************** --> 
    <!-- word recognizer configuration       --> 
    <!-- ******************************************************** --> 

    <component name="recognizer" 
          type="edu.cmu.sphinx.recognizer.Recognizer"> 
     <property name="decoder" value="decoder"/> 
     <propertylist name="monitors"> 
      <item>accuracyTracker </item> 
      <item>speedTracker </item> 
      <item>memoryTracker </item> 
      <item>recognizerMonitor </item> 
     </propertylist> 
    </component> 

    <!-- ******************************************************** --> 
    <!-- The Decoder configuration        --> 
    <!-- ******************************************************** --> 

    <component name="decoder" type="edu.cmu.sphinx.decoder.Decoder"> 
     <property name="searchManager" value="wordPruningSearchManager"/> 
     <property name="featureBlockSize" value="50"/> 
    </component> 

    <!-- ******************************************************** --> 
    <!-- The Search Manager          --> 
    <!-- ******************************************************** --> 

    <component name="wordPruningSearchManager" 
    type="edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager"> 
     <property name="logMath" value="logMath"/> 
     <property name="linguist" value="lexTreeLinguist"/> 
     <property name="pruner" value="trivialPruner"/> 
     <property name="scorer" value="threadedScorer"/> 
     <property name="activeListManager" value="activeListManager"/> 
     <property name="growSkipInterval" value="0"/> 
     <property name="checkStateOrder" value="false"/> 
     <property name="buildWordLattice" value="true"/> 
     <property name="acousticLookaheadFrames" value="1.7"/> 
     <property name="relativeBeamWidth" value="${relativeBeamWidth}"/> 
    </component> 


    <!-- ******************************************************** --> 
    <!-- The Active Lists           --> 
    <!-- ******************************************************** --> 

    <component name="activeListManager" 
      type="edu.cmu.sphinx.decoder.search.SimpleActiveListManager"> 
     <propertylist name="activeListFactories"> 
      <item>standardActiveListFactory</item> 
      <item>wordActiveListFactory</item> 
      <item>wordActiveListFactory</item> 
      <item>standardActiveListFactory</item> 
      <item>standardActiveListFactory</item> 
      <item>standardActiveListFactory</item> 
     </propertylist> 
    </component> 

    <component name="standardActiveListFactory" 
      type="edu.cmu.sphinx.decoder.search.PartitionActiveListFactory"> 
     <property name="logMath" value="logMath"/> 
     <property name="absoluteBeamWidth" value="${absoluteBeamWidth}"/> 
     <property name="relativeBeamWidth" value="${relativeBeamWidth}"/> 
    </component> 

    <component name="wordActiveListFactory" 
      type="edu.cmu.sphinx.decoder.search.PartitionActiveListFactory"> 
     <property name="logMath" value="logMath"/> 
     <property name="absoluteBeamWidth" value="${absoluteWordBeamWidth}"/> 
     <property name="relativeBeamWidth" value="${relativeWordBeamWidth}"/> 
    </component> 

    <!-- ******************************************************** --> 
    <!-- The Pruner            --> 
    <!-- ******************************************************** --> 
    <component name="trivialPruner" 
       type="edu.cmu.sphinx.decoder.pruner.SimplePruner"/> 

    <!-- ******************************************************** --> 
    <!-- TheScorer            --> 
    <!-- ******************************************************** --> 
    <component name="threadedScorer" 
       type="edu.cmu.sphinx.decoder.scorer.ThreadedAcousticScorer"> 
     <property name="frontend" value="${frontend}"/> 
    </component> 

    <!-- ******************************************************** --> 
    <!-- The linguist configuration        --> 
    <!-- ******************************************************** --> 

    <component name="lexTreeLinguist" 
       type="edu.cmu.sphinx.linguist.lextree.LexTreeLinguist"> 
     <property name="logMath" value="logMath"/> 
     <property name="acousticModel" value="wsj"/> 
     <property name="languageModel" value="trigramModel"/> 
     <property name="dictionary" value="dictionary"/> 
     <property name="addFillerWords" value="false"/> 
     <property name="fillerInsertionProbability" value="1E-10"/> 
     <property name="generateUnitStates" value="false"/> 
     <property name="wantUnigramSmear" value="true"/> 
     <property name="unigramSmearWeight" value="1"/> 
     <property name="wordInsertionProbability" 
       value="${wordInsertionProbability}"/> 
     <property name="silenceInsertionProbability" 
       value="${silenceInsertionProbability}"/> 
     <property name="languageWeight" value="${languageWeight}"/> 
     <property name="unitManager" value="unitManager"/> 
    </component>  


    <!-- ******************************************************** --> 
    <!-- The Dictionary configuration       --> 
    <!-- ******************************************************** --> 
    <component name="dictionary" 
     type="edu.cmu.sphinx.linguist.dictionary.FastDictionary"> 
     <property name="dictionaryPath" 
        value="file:src/voxforge-en-0.4/etc/cmudict.0.7a"/> 
     <property name="fillerPath" 
       value="file:src/voxforge-en-0.4/model_parameters/voxforge_en_sphinx.cd_cont_5000/noisedict"/> 
     <property name="addSilEndingPronunciation" value="false"/> 
     <property name="wordReplacement" value="&lt;sil&gt;"/> 
     <property name="unitManager" value="unitManager"/> 
    </component> 


    <!-- ******************************************************** --> 
    <!-- The Language Model configuration       --> 
    <!-- ******************************************************** --> 
    <component name="trigramModel" 
      type="edu.cmu.sphinx.linguist.language.ngram.large.LargeTrigramModel"> 
     <property name="unigramWeight" value=".5"/> 
     <property name="maxDepth" value="3"/> 
     <property name="logMath" value="logMath"/> 
     <property name="dictionary" value="dictionary"/> 
     <property name="location" value="file:src/voxforge-en-0.4/wsj5k.DMP"/> 
<!--  <property name="location" value="file:src/voxforge-Language/language_model.arpaformat.DMP"/>--> 
    </component> 


    <!-- ******************************************************** --> 
    <!-- The acoustic model configuration       --> 
    <!-- ******************************************************** --> 
    <component name="wsj" 
       type="edu.cmu.sphinx.linguist.acoustic.tiedstate.TiedStateAcousticModel"> 
     <property name="loader" value="wsjLoader"/> 
     <property name="unitManager" value="unitManager"/> 
    </component> 

    <component name="wsjLoader" type="edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader"> 
     <property name="logMath" value="logMath"/> 
     <property name="unitManager" value="unitManager"/> 
<!--  <property name="location" value="file:src/hub4opensrc.cd_continuous_8gau"/>--> 
     <property name="location" value="file:src/voxforge-en-0.4/model_parameters/voxforge_en_sphinx.cd_cont_5000" /> 
     <property name="dataLocation" value=""/> 
    </component> 

    <!-- ******************************************************** --> 
    <!-- The unit manager configuration       --> 
    <!-- ******************************************************** --> 

    <component name="unitManager" 
     type="edu.cmu.sphinx.linguist.acoustic.UnitManager"/> 


    <!-- ******************************************************** --> 
    <!-- The frontend configuration        --> 
    <!-- ******************************************************** --> 

    <component name="epFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd"> 
     <propertylist name="pipeline"> 
      <item>audioFileDataSource </item> 
      <item>dataBlocker </item> 
      <item>speechClassifier </item> 
      <item>speechMarker </item> 
      <item>nonSpeechDataFilter </item> 
      <item>preemphasizer </item> 
      <item>windower </item> 
      <item>fft </item> 
      <item>melFilterBank </item> 
      <item>dct </item> 
      <item>liveCMN </item> 
      <item>featureExtraction </item> 
     </propertylist> 
    </component> 

    <component name="audioFileDataSource" type="edu.cmu.sphinx.frontend.util.AudioFileDataSource"/> 


    <component name="microphone" 
       type="edu.cmu.sphinx.frontend.util.Microphone"> 
     <property name="closeBetweenUtterances" value="false"/> 
    </component> 

    <component name="dataBlocker" type="edu.cmu.sphinx.frontend.DataBlocker"/> 

    <component name="speechClassifier" 
       type="edu.cmu.sphinx.frontend.endpoint.SpeechClassifier"> 
     <property name="threshold" value="13"/> 
    </component> 

    <component name="nonSpeechDataFilter" 
       type="edu.cmu.sphinx.frontend.endpoint.NonSpeechDataFilter"/> 

    <component name="speechMarker" 
       type="edu.cmu.sphinx.frontend.endpoint.SpeechMarker"> 
     <property name="speechTrailer" value="50"/> 
    </component> 

    <component name="preemphasizer" 
     type="edu.cmu.sphinx.frontend.filter.Preemphasizer"/> 

    <component name="windower" 
    type="edu.cmu.sphinx.frontend.window.RaisedCosineWindower"/> 

    <component name="fft" 
     type="edu.cmu.sphinx.frontend.transform.DiscreteFourierTransform"/> 

    <component name="melFilterBank" 
     type="edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank"/> 

    <component name="dct" 
      type="edu.cmu.sphinx.frontend.transform.DiscreteCosineTransform"/> 

    <component name="liveCMN" 
       type="edu.cmu.sphinx.frontend.feature.LiveCMN"/> 

    <component name="featureExtraction" 
     type="edu.cmu.sphinx.frontend.feature.DeltasFeatureExtractor"/> 

    <!-- ******************************************************* --> 
    <!-- monitors            --> 
    <!-- ******************************************************* --> 

    <component name="accuracyTracker" 
       type="edu.cmu.sphinx.instrumentation.BestPathAccuracyTracker"> 
     <property name="recognizer" value="${recognizer}"/> 
     <property name="showRawResults" value="false"/> 
     <property name="showAlignedResults" value="false"/> 
    </component> 

    <component name="memoryTracker" 
       type="edu.cmu.sphinx.instrumentation.MemoryTracker"> 
     <property name="recognizer" value="${recognizer}"/> 
     <property name="showDetails" value="false"/> 
     <property name="showSummary" value="false"/> 
    </component> 

    <component name="speedTracker" 
       type="edu.cmu.sphinx.instrumentation.SpeedTracker"> 
     <property name="recognizer" value="${recognizer}"/> 
     <property name="frontend" value="${frontend}"/> 
     <property name="showDetails" value="false"/> 
    </component> 

    <component name="recognizerMonitor" 
       type="edu.cmu.sphinx.instrumentation.RecognizerMonitor"> 
     <property name="recognizer" value="${recognizer}"/> 
     <propertylist name="allocatedMonitors"> 
      <item>configMonitor </item> 
     </propertylist> 
    </component> 

    <component name="configMonitor" 
       type="edu.cmu.sphinx.instrumentation.ConfigMonitor"> 
     <property name="showConfig" value="false"/> 
    </component> 


    <!-- ******************************************************* --> 
    <!-- Miscellaneous components        --> 
    <!-- ******************************************************* --> 

    <component name="logMath" type="edu.cmu.sphinx.util.LogMath"> 
     <property name="logBase" value="1.0001"/> 
     <property name="useAddTable" value="true"/> 
    </component> 
</config> 

Có gì sai với cấu hình của tôi không? Plz help ....

+0

Câu hỏi này không tập trung rõ ràng và khá vô dụng. –

+1

Điều gì không thể hiểu được ....? ý định rõ ràng từ dòng "Tôi muốn tạo một ứng dụng có định dạng .wav (hoặc bất kỳ định dạng tệp âm thanh chuẩn nào khác) và chuyển đổi nó thành văn bản". hơn trong phần còn lại của câu hỏi tôi đã giải thích những gì tôi đã làm cho điều này và những lỗi tôi đang phải đối mặt? – aProgrammer

+0

"Tôi muốn tạo một ứng dụng có định dạng .wav (hoặc bất kỳ định dạng tệp âm thanh chuẩn nào khác) và chuyển đổi nó thành văn bản" là một tuyên bố, đó không phải là một câu hỏi.Bạn cũng gây hiểu nhầm về việc sử dụng mô hình Voxforge mà bạn không nên sử dụng. Bạn cũng không bao giờ mô tả chính xác bạn đang gặp vấn đề gì. –

Trả lời

2

Để nhận dạng giọng nói Tôi đã quyết định sử dụng sphinx4, tôi đang cố gắng chạy bản demo Transcriber.jar được cung cấp với nhân sư. Điều đó không hoạt động khi tôi cung cấp một số tệp khác làm đầu vào.

Nếu bạn mô tả vấn đề của bạn tốt hơn bạn có thể nhận được sự giúp đỡ rõ ràng hơn về vấn đề này

Làm thế nào để tiến hành?

Đọc hướng dẫn

http://cmusphinx.sourceforge.net/wiki/tutorial

ở đâu để tôi có được mô hình ngôn ngữ cho tiếng Anh Mỹ có thể được sử dụng với Sphinx4?

Bạn có thể tải xuống từ trang web CMUSphinx và từ những nơi khác. Bạn cũng có thể tự xây dựng chúng. Một trong những địa điểm có thể là

http://www.keithv.com/software/csr/

Bất kỳ blog/hướng dẫn sẽ rất hữu ích,

Xem trên

Tuy nhiên các tập tin được sử dụng trong hướng dẫn này là phần mở rộng differrent , Tôi đang mắc kẹt trong giai đoạn này tôi không thể quyết định đường dẫn nên được đưa ra trong cấu hình. Trợ giúp Plz,

Xem cấu hình mẫu trong sphinx4/tests/performance/voxforge_en/voxforge.config.xml. Nó có tất cả các đường dẫn bắt buộc

+0

thanks .... Bản demo cung cấp cho ClassCastException khi tôi cung cấp một số tệp .wav khác làm đầu vào ... – aProgrammer

+0

Cung cấp toàn bộ văn bản ngoại lệ. Cung cấp thông tin về phiên bản bạn đang sử dụng. Cung cấp thêm thông tin về các sửa đổi bạn đã thực hiện. Sau đó, chắc chắn rằng vấn đề của bạn sẽ rất dễ giải quyết. –

+0

Tôi nghĩ rằng tốc độ bit được sử dụng bởi ứng dụng mẫu và tệp .way của tôi là khác nhau, vì vậy tôi đang cố gắng thay đổi sẽ đăng kết quả. Tôi đang sử dụng sphinx4-1.0beta6. – aProgrammer