From 53da641909b6f7ac54840bc336fb29ee5851970e Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Wed, 13 May 2015 21:14:10 +0000 Subject: [PATCH] Added voice control Former-commit-id: 6f69079bf44f0d8f9ae40de6b0f1638d103464c2 --- external/marytts-5.1.2/LICENSE.txt | 74 + external/marytts-5.1.2/bin/marytts-client | 10 + external/marytts-5.1.2/bin/marytts-client.bat | 10 + .../bin/marytts-component-installer | 5 + .../bin/marytts-component-installer.bat | 9 + external/marytts-5.1.2/bin/marytts-server | 11 + external/marytts-5.1.2/bin/marytts-server.bat | 14 + .../doc/examples/client/MaryClient.py | 367 + .../doc/examples/client/MaryClientUser.java | 102 + .../doc/examples/client/c++/Makefile | 45 + .../doc/examples/client/c++/MaryClient.cc | 277 + .../doc/examples/client/c++/MaryClient.cc.win | 290 + .../doc/examples/client/c++/MaryClient.h | 49 + .../doc/examples/client/c++/MaryDemo.cc | 87 + .../doc/examples/client/c++/README.txt | 4 + .../doc/examples/client/maryclient-http.py | 185 + .../doc/examples/client/maryclient.cgi | 177 + .../doc/examples/client/maryclient.pl | 136 + .../doc/examples/client/maryclient.rb | 261 + .../doc/examples/client/maryclient.tcl | 705 ++ .../doc/examples/client/texttospeechdemo.html | 81 + .../doc/examples/emospeak-applet.html | 20 + .../doc/examples/etc_init.d_marytts | 94 + .../download/marytts-components.xml | 242 + external/marytts-5.1.2/gpl-3.0.txt | 675 ++ .../marytts-lang-de-5.1.2-component.xml | 10 + .../marytts-lang-en-GB-5.1.2-component.xml | 10 + .../marytts-lang-en-US-5.1.2-component.xml | 10 + .../marytts-lang-fr-5.1.2-component.xml | 10 + .../marytts-lang-it-5.1.2-component.xml | 10 + .../marytts-lang-ru-5.1.2-component.xml | 10 + .../marytts-lang-sv-5.1.2-component.xml | 10 + .../marytts-lang-te-5.1.2-component.xml | 10 + .../marytts-lang-tr-5.1.2-component.xml | 10 + .../voice-cmu-slt-hsmm-5.1.2-component.xml | 14 + external/marytts-5.1.2/lgpl-3.0.txt | 166 + .../lib/icu4j-54.1.1.jar.REMOVED.git-id | 1 + ...2-jar-with-dependencies.jar.REMOVED.git-id | 1 + .../marytts-lang-de-5.1.2.jar.REMOVED.git-id | 1 + .../marytts-lang-en-5.1.2.jar.REMOVED.git-id | 1 + .../lib/marytts-lang-fr-5.1.2.jar | Bin 0 -> 301118 bytes .../marytts-lang-it-5.1.2.jar.REMOVED.git-id | 1 + .../lib/marytts-lang-ru-5.1.2.jar | Bin 0 -> 67263 bytes .../lib/marytts-lang-sv-5.1.2.jar | Bin 0 -> 139095 bytes .../lib/marytts-lang-te-5.1.2.jar | Bin 0 -> 20640 bytes .../lib/marytts-lang-tr-5.1.2.jar | Bin 0 -> 23867 bytes ...2-jar-with-dependencies.jar.REMOVED.git-id | 1 + ...oice-cmu-slt-hsmm-5.1.2.jar.REMOVED.git-id | 1 + .../log/server.log.REMOVED.git-id | 1 + .../user-dictionaries/userdict-de.txt | 2 + .../user-dictionaries/userdict-en_GB.txt | 8 + .../user-dictionaries/userdict-en_US.txt | 10 + .../user-dictionaries/userdict-fr.txt | 1 + .../user-dictionaries/userdict-ru.txt | 5055 +++++++++++ .../user-dictionaries/userdict-sv.txt | 1 + .../user-dictionaries/userdict-te.txt | 0 lib/commons-math3-3.5.jar.REMOVED.git-id | 1 + lib/java-speech-api-master/.classpath | 6 + lib/java-speech-api-master/.gitignore | 2 + lib/java-speech-api-master/.project | 16 + lib/java-speech-api-master/CHANGELOG.markdown | 37 + lib/java-speech-api-master/CREDITS.markdown | 23 + lib/java-speech-api-master/LICENSE | 674 ++ lib/java-speech-api-master/README.markdown | 30 + .../java-speech-api.iml | 13 + .../src/META-INF/MANIFEST.MF | 2 + .../speech/microphone/Microphone.java | 224 + .../speech/microphone/MicrophoneAnalyzer.java | 288 + .../speech/recognizer/FlacEncoder.java | 120 + .../speech/recognizer/GSpeechDuplex.java | 524 ++ .../recognizer/GSpeechResponseListener.java | 12 + .../speech/recognizer/GoogleResponse.java | 89 + .../speech/recognizer/Recognizer.java | 466 + .../speech/recognizer/RecognizerChunked.java | 282 + .../speech/synthesiser/Synthesiser.java | 261 + .../speech/synthesiser/SynthesiserV2.java | 303 + .../speech/translator/GoogleTranslate.java | 168 + .../speech/util/ChunkedOutputStream.java | 190 + .../com/darkprograms/speech/util/Complex.java | 120 + .../src/com/darkprograms/speech/util/FFT.java | 133 + .../darkprograms/speech/util/StringUtil.java | 69 + lib/sphinx4-5prealpha-src/README | 55 + lib/sphinx4-5prealpha-src/RELEASE_NOTES | 193 + .../doc/Sphinx4_Whitepaper_2003.pdf | Bin 0 -> 318366 bytes .../doc/speaker_adaptation.txt | 88 + lib/sphinx4-5prealpha-src/license.terms | 40 + lib/sphinx4-5prealpha-src/pom.xml | 88 + .../sphinx4-core/pom.xml | 34 + .../cmu/sphinx/alignment/LongTextAligner.java | 355 + .../cmu/sphinx/alignment/SimpleTokenizer.java | 36 + .../cmu/sphinx/alignment/TextTokenizer.java | 25 + .../java/edu/cmu/sphinx/alignment/Token.java | 158 + .../sphinx/alignment/USEnglishTokenizer.java | 1084 +++ .../alignment/tokenizer/CharTokenizer.java | 405 + .../alignment/tokenizer/DecisionTree.java | 608 ++ .../alignment/tokenizer/FeatureSet.java | 145 + .../cmu/sphinx/alignment/tokenizer/Item.java | 447 + .../alignment/tokenizer/ItemContents.java | 74 + .../alignment/tokenizer/NumberExpander.java | 449 + .../alignment/tokenizer/PathExtractor.java | 264 + .../sphinx/alignment/tokenizer/PrefixFSM.java | 29 + .../alignment/tokenizer/PronounceableFSM.java | 172 + .../sphinx/alignment/tokenizer/Relation.java | 145 + .../sphinx/alignment/tokenizer/SuffixFSM.java | 29 + .../sphinx/alignment/tokenizer/Utterance.java | 229 + .../alignment/tokenizer/WordRelation.java | 85 + .../sphinx/api/AbstractSpeechRecognizer.java | 81 + .../edu/cmu/sphinx/api/Configuration.java | 139 + .../main/java/edu/cmu/sphinx/api/Context.java | 222 + .../cmu/sphinx/api/LiveSpeechRecognizer.java | 62 + .../java/edu/cmu/sphinx/api/Microphone.java | 54 + .../edu/cmu/sphinx/api/SpeechAligner.java | 263 + .../java/edu/cmu/sphinx/api/SpeechResult.java | 91 + .../cmu/sphinx/api/SpeechSourceProvider.java | 20 + .../sphinx/api/StreamSpeechRecognizer.java | 66 + .../cmu/sphinx/decoder/AbstractDecoder.java | 154 + .../java/edu/cmu/sphinx/decoder/Decoder.java | 74 + .../edu/cmu/sphinx/decoder/FrameDecoder.java | 104 + .../cmu/sphinx/decoder/ResultListener.java | 30 + .../cmu/sphinx/decoder/ResultProducer.java | 33 + .../adaptation/ClusteredDensityFileData.java | 174 + .../cmu/sphinx/decoder/adaptation/Stats.java | 235 + .../sphinx/decoder/adaptation/Transform.java | 179 + .../cmu/sphinx/decoder/pruner/NullPruner.java | 71 + .../edu/cmu/sphinx/decoder/pruner/Pruner.java | 49 + .../sphinx/decoder/pruner/SimplePruner.java | 80 + .../sphinx/decoder/scorer/AcousticScorer.java | 57 + .../scorer/BackgroundModelNormalizer.java | 67 + .../decoder/scorer/MaxScoreNormalizer.java | 30 + .../decoder/scorer/ScoreNormalizer.java | 27 + .../sphinx/decoder/scorer/ScoreProvider.java | 35 + .../cmu/sphinx/decoder/scorer/Scoreable.java | 68 + .../decoder/scorer/SimpleAcousticScorer.java | 194 + .../scorer/ThreadedAcousticScorer.java | 200 + .../cmu/sphinx/decoder/search/ActiveList.java | 117 + .../decoder/search/ActiveListFactory.java | 79 + .../decoder/search/ActiveListManager.java | 77 + .../search/AlternateHypothesisManager.java | 87 + .../search/PartitionActiveListFactory.java | 270 + .../sphinx/decoder/search/Partitioner.java | 180 + .../sphinx/decoder/search/SearchManager.java | 64 + .../search/SimpleActiveListFactory.java | 222 + .../search/SimpleActiveListManager.java | 244 + .../SimpleBreadthFirstSearchManager.java | 680 ++ .../search/SkewPruningSearchManager.java | 0 .../search/SortingActiveListFactory.java | 207 + .../edu/cmu/sphinx/decoder/search/Token.java | 477 + .../search/TokenHeapSearchManager.java | 172 + .../decoder/search/TokenSearchManager.java | 86 + .../decoder/search/WordActiveListFactory.java | 259 + ...ingBreadthFirstLookaheadSearchManager.java | 497 ++ .../WordPruningBreadthFirstSearchManager.java | 796 ++ .../search/stats/StateHistoryTracker.java | 140 + .../decoder/search/stats/TokenTracker.java | 198 + .../search/stats/TokenTypeTracker.java | 80 + .../decoder/search/stats/WordTracker.java | 155 + .../edu/cmu/sphinx/frontend/AutoCepstrum.java | 274 + .../sphinx/frontend/BaseDataProcessor.java | 61 + .../java/edu/cmu/sphinx/frontend/Data.java | 28 + .../edu/cmu/sphinx/frontend/DataBlocker.java | 113 + .../cmu/sphinx/frontend/DataEndSignal.java | 70 + .../frontend/DataProcessingException.java | 51 + .../cmu/sphinx/frontend/DataProcessor.java | 68 + .../cmu/sphinx/frontend/DataStartSignal.java | 62 + .../edu/cmu/sphinx/frontend/DoubleData.java | 119 + .../edu/cmu/sphinx/frontend/FloatData.java | 119 + .../edu/cmu/sphinx/frontend/FrontEnd.java | 303 + .../sphinx/frontend/GainControlProcessor.java | 77 + .../java/edu/cmu/sphinx/frontend/Signal.java | 68 + .../cmu/sphinx/frontend/SignalListener.java | 26 + .../databranch/DataBufferProcessor.java | 172 + .../frontend/databranch/DataListener.java | 16 + .../frontend/databranch/DataProducer.java | 18 + .../frontend/databranch/FrontEndSplitter.java | 71 + .../cmu/sphinx/frontend/denoise/Denoise.java | 220 + .../AbstractVoiceActivityDetector.java | 27 + .../endpoint/SpeechClassifiedData.java | 117 + .../frontend/endpoint/SpeechClassifier.java | 267 + .../frontend/endpoint/SpeechEndSignal.java | 46 + .../frontend/endpoint/SpeechMarker.java | 206 + .../frontend/endpoint/SpeechStartSignal.java | 46 + .../feature/AbstractFeatureExtractor.java | 243 + .../cmu/sphinx/frontend/feature/BatchAGC.java | 115 + .../cmu/sphinx/frontend/feature/BatchCMN.java | 183 + .../sphinx/frontend/feature/BatchVarNorm.java | 156 + .../feature/ConcatFeatureExtractor.java | 56 + .../feature/DeltasFeatureExtractor.java | 93 + .../frontend/feature/FeatureTransform.java | 112 + .../sphinx/frontend/feature/FrameDropper.java | 155 + .../feature/KaldiDeltasFeatureExtractor.java | 65 + .../cmu/sphinx/frontend/feature/LiveCMN.java | 268 + .../frontend/feature/S3FeatureExtractor.java | 81 + .../cmu/sphinx/frontend/filter/Dither.java | 136 + .../sphinx/frontend/filter/EnergyFilter.java | 72 + .../sphinx/frontend/filter/Preemphasizer.java | 118 + .../frequencywarp/FrequencyWarper.java | 67 + .../frequencywarp/LinearPredictor.java | 205 + .../frontend/frequencywarp/MelFilter.java | 161 + .../frontend/frequencywarp/MelFilter2.java | 79 + .../frequencywarp/MelFrequencyFilterBank.java | 299 + .../MelFrequencyFilterBank2.java | 264 + .../frequencywarp/PLPCepstrumProducer.java | 210 + .../frontend/frequencywarp/PLPFilter.java | 120 + .../frequencywarp/PLPFrequencyFilterBank.java | 249 + .../transform/DiscreteCosineTransform.java | 161 + .../transform/DiscreteCosineTransform2.java | 58 + .../transform/DiscreteFourierTransform.java | 464 + .../KaldiDiscreteCosineTransform.java | 56 + .../cmu/sphinx/frontend/transform/Lifter.java | 108 + .../frontend/util/AudioContinuityTester.java | 46 + .../frontend/util/AudioFileDataSource.java | 352 + .../util/AudioFileProcessListener.java | 30 + .../util/ConcatAudioFileDataSource.java | 227 + .../frontend/util/ConcatFileDataSource.java | 432 + .../sphinx/frontend/util/DataConverter.java | 63 + .../cmu/sphinx/frontend/util/DataDumper.java | 134 + .../cmu/sphinx/frontend/util/DataUtil.java | 508 ++ .../sphinx/frontend/util/EnergyPlotter.java | 130 + .../sphinx/frontend/util/FrontEndUtils.java | 36 + .../cmu/sphinx/frontend/util/Microphone.java | 744 ++ .../frontend/util/StreamCepstrumSource.java | 209 + .../frontend/util/StreamDataSource.java | 271 + .../frontend/util/StreamHTKCepstrum.java | 227 + .../cmu/sphinx/frontend/util/Utterance.java | 115 + .../edu/cmu/sphinx/frontend/util/VUMeter.java | 187 + .../sphinx/frontend/util/VUMeterMonitor.java | 83 + .../sphinx/frontend/util/VUMeterPanel.java | 130 + .../cmu/sphinx/frontend/util/WavWriter.java | 256 + .../frontend/window/RaisedCosineWindower.java | 485 ++ .../src/main/java/edu/cmu/sphinx/fst/Arc.java | 165 + .../main/java/edu/cmu/sphinx/fst/Convert.java | 282 + .../main/java/edu/cmu/sphinx/fst/Export.java | 60 + .../src/main/java/edu/cmu/sphinx/fst/Fst.java | 492 ++ .../java/edu/cmu/sphinx/fst/ImmutableFst.java | 266 + .../edu/cmu/sphinx/fst/ImmutableState.java | 148 + .../main/java/edu/cmu/sphinx/fst/Import.java | 65 + .../main/java/edu/cmu/sphinx/fst/State.java | 212 + .../cmu/sphinx/fst/operations/ArcSort.java | 51 + .../cmu/sphinx/fst/operations/Compose.java | 270 + .../cmu/sphinx/fst/operations/Connect.java | 183 + .../sphinx/fst/operations/Determinize.java | 192 + .../sphinx/fst/operations/ExtendFinal.java | 100 + .../sphinx/fst/operations/ILabelCompare.java | 45 + .../sphinx/fst/operations/NShortestPaths.java | 213 + .../sphinx/fst/operations/OLabelCompare.java | 44 + .../cmu/sphinx/fst/operations/Project.java | 54 + .../sphinx/fst/operations/ProjectType.java | 26 + .../cmu/sphinx/fst/operations/Reverse.java | 85 + .../cmu/sphinx/fst/operations/RmEpsilon.java | 198 + .../cmu/sphinx/fst/semiring/LogSemiring.java | 135 + .../fst/semiring/ProbabilitySemiring.java | 120 + .../edu/cmu/sphinx/fst/semiring/Semiring.java | 97 + .../sphinx/fst/semiring/TropicalSemiring.java | 128 + .../sphinx/fst/sequitur/SequiturImport.java | 268 + .../java/edu/cmu/sphinx/fst/utils/Pair.java | 91 + .../java/edu/cmu/sphinx/fst/utils/Utils.java | 103 + .../instrumentation/AccuracyTracker.java | 186 + .../BestPathAccuracyTracker.java | 85 + .../sphinx/instrumentation/ConfigMonitor.java | 127 + .../sphinx/instrumentation/MemoryTracker.java | 148 + .../cmu/sphinx/instrumentation/Monitor.java | 29 + .../instrumentation/RecognizerMonitor.java | 93 + .../instrumentation/RejectionTracker.java | 182 + .../cmu/sphinx/instrumentation/Resetable.java | 22 + .../sphinx/instrumentation/SpeedTracker.java | 291 + .../edu/cmu/sphinx/jsgf/GrXMLGrammar.java | 108 + .../edu/cmu/sphinx/jsgf/GrXMLHandler.java | 110 + .../java/edu/cmu/sphinx/jsgf/JSGFGrammar.java | 869 ++ .../cmu/sphinx/jsgf/JSGFGrammarException.java | 16 + .../jsgf/JSGFGrammarParseException.java | 27 + .../edu/cmu/sphinx/jsgf/JSGFRuleGrammar.java | 648 ++ .../sphinx/jsgf/JSGFRuleGrammarFactory.java | 24 + .../sphinx/jsgf/JSGFRuleGrammarManager.java | 58 + .../cmu/sphinx/jsgf/parser/JSGFParser.java | 1111 +++ .../jsgf/parser/JSGFParserConstants.java | 100 + .../jsgf/parser/JSGFParserTokenManager.java | 1241 +++ .../sphinx/jsgf/parser/JavaCharStream.java | 578 ++ .../sphinx/jsgf/parser/ParseException.java | 136 + .../edu/cmu/sphinx/jsgf/parser/Token.java | 108 + .../cmu/sphinx/jsgf/parser/TokenMgrError.java | 120 + .../edu/cmu/sphinx/jsgf/rule/JSGFRule.java | 19 + .../jsgf/rule/JSGFRuleAlternatives.java | 109 + .../cmu/sphinx/jsgf/rule/JSGFRuleCount.java | 68 + .../cmu/sphinx/jsgf/rule/JSGFRuleName.java | 152 + .../sphinx/jsgf/rule/JSGFRuleSequence.java | 58 + .../edu/cmu/sphinx/jsgf/rule/JSGFRuleTag.java | 67 + .../cmu/sphinx/jsgf/rule/JSGFRuleToken.java | 57 + .../cmu/sphinx/linguist/HMMSearchState.java | 27 + .../edu/cmu/sphinx/linguist/Linguist.java | 164 + .../sphinx/linguist/LinguistProcessor.java | 72 + .../edu/cmu/sphinx/linguist/SearchGraph.java | 37 + .../edu/cmu/sphinx/linguist/SearchState.java | 80 + .../cmu/sphinx/linguist/SearchStateArc.java | 48 + .../cmu/sphinx/linguist/UnitSearchState.java | 26 + .../cmu/sphinx/linguist/WordSearchState.java | 36 + .../edu/cmu/sphinx/linguist/WordSequence.java | 273 + .../linguist/acoustic/AcousticModel.java | 104 + .../cmu/sphinx/linguist/acoustic/Context.java | 78 + .../edu/cmu/sphinx/linguist/acoustic/HMM.java | 70 + .../cmu/sphinx/linguist/acoustic/HMMPool.java | 399 + .../sphinx/linguist/acoustic/HMMPosition.java | 87 + .../sphinx/linguist/acoustic/HMMState.java | 89 + .../sphinx/linguist/acoustic/HMMStateArc.java | 65 + .../linguist/acoustic/LeftRightContext.java | 109 + .../cmu/sphinx/linguist/acoustic/Unit.java | 226 + .../sphinx/linguist/acoustic/UnitManager.java | 94 + .../acoustic/tiedstate/CompositeSenone.java | 185 + .../acoustic/tiedstate/GaussianMixture.java | 196 + .../acoustic/tiedstate/GaussianWeights.java | 66 + .../acoustic/tiedstate/HMMManager.java | 95 + .../acoustic/tiedstate/HTK/GMMDiag.java | 552 ++ .../acoustic/tiedstate/HTK/HMMSet.java | 518 ++ .../acoustic/tiedstate/HTK/HMMState.java | 40 + .../linguist/acoustic/tiedstate/HTK/Lab.java | 92 + .../tiedstate/HTK/NamesConversion.java | 347 + .../acoustic/tiedstate/HTK/SingleHMM.java | 109 + .../acoustic/tiedstate/HTKLoader.java | 942 ++ .../acoustic/tiedstate/KaldiLoader.java | 294 + .../acoustic/tiedstate/LazyHmmManager.java | 134 + .../linguist/acoustic/tiedstate/Loader.java | 146 + .../acoustic/tiedstate/MixtureComponent.java | 345 + .../linguist/acoustic/tiedstate/Pool.java | 121 + .../linguist/acoustic/tiedstate/Saver.java | 121 + .../tiedstate/ScoreCachingSenone.java | 54 + .../linguist/acoustic/tiedstate/Senone.java | 68 + .../acoustic/tiedstate/SenoneHMM.java | 230 + .../acoustic/tiedstate/SenoneHMMState.java | 208 + .../acoustic/tiedstate/SenoneSequence.java | 110 + .../acoustic/tiedstate/Sphinx3Loader.java | 1300 +++ .../acoustic/tiedstate/SphinxAsciiLoader.java | 235 + .../tiedstate/TiedStateAcousticModel.java | 554 ++ .../tiedstate/kaldi/ConstantEventMap.java | 31 + .../acoustic/tiedstate/kaldi/DiagGmm.java | 110 + .../acoustic/tiedstate/kaldi/EventMap.java | 18 + .../tiedstate/kaldi/EventMapWithKey.java | 34 + .../tiedstate/kaldi/KaldiGmmPool.java | 27 + .../tiedstate/kaldi/KaldiTextParser.java | 92 + .../tiedstate/kaldi/SplitEventMap.java | 52 + .../tiedstate/kaldi/TableEventMap.java | 29 + .../tiedstate/kaldi/TransitionModel.java | 194 + .../tiedmixture/MixtureComponentSet.java | 269 + .../MixtureComponentSetScores.java | 50 + .../tiedmixture/PrunableMixtureComponent.java | 108 + .../tiedmixture/SetBasedGaussianMixture.java | 87 + .../acoustic/tiedstate/trainer/Buffer.java | 313 + .../tiedstate/trainer/HMMPoolManager.java | 574 ++ .../trainer/ModelInitializerLoader.java | 633 ++ .../tiedstate/trainer/Sphinx3Saver.java | 836 ++ .../tiedstate/trainer/Sphinx4Loader.java | 280 + .../tiedstate/trainer/Sphinx4Saver.java | 157 + .../trainer/TrainerAcousticModel.java | 167 + .../tiedstate/trainer/TrainerScore.java | 334 + .../trivial/TrivialAcousticModel.java | 394 + .../sphinx/linguist/aflat/AFlatLinguist.java | 1508 ++++ .../cmu/sphinx/linguist/aflat/PhoneLoop.java | 627 ++ .../linguist/allphone/AllphoneLinguist.java | 175 + .../allphone/AllphoneSearchGraph.java | 30 + .../allphone/PhoneHmmSearchState.java | 122 + .../allphone/PhoneNonEmittingSearchState.java | 85 + .../allphone/PhoneWordSearchState.java | 68 + .../linguist/dflat/DynamicFlatLinguist.java | 1486 ++++ .../linguist/dflat/OutOfGrammarGraph.java | 626 ++ .../linguist/dictionary/Dictionary.java | 132 + .../dictionary/MappingDictionary.java | 113 + .../linguist/dictionary/Pronunciation.java | 169 + .../linguist/dictionary/TextDictionary.java | 487 ++ .../cmu/sphinx/linguist/dictionary/Word.java | 133 + .../linguist/flat/AlternativeState.java | 68 + .../cmu/sphinx/linguist/flat/BranchState.java | 43 + .../cmu/sphinx/linguist/flat/CIPhoneLoop.java | 258 + .../linguist/flat/ExtendedUnitState.java | 50 + .../sphinx/linguist/flat/FlatLinguist.java | 1638 ++++ .../sphinx/linguist/flat/GrammarPoint.java | 329 + .../sphinx/linguist/flat/GrammarState.java | 70 + .../sphinx/linguist/flat/HMMStateState.java | 105 + .../linguist/flat/NonEmittingHMMState.java | 33 + .../linguist/flat/PronunciationState.java | 97 + .../linguist/flat/SentenceHMMState.java | 645 ++ .../linguist/flat/SentenceHMMStateArc.java | 137 + .../flat/SentenceHMMStateVisitor.java | 27 + .../cmu/sphinx/linguist/flat/UnitState.java | 163 + .../cmu/sphinx/linguist/flat/WordState.java | 76 + .../cmu/sphinx/linguist/g2p/G2PConverter.java | 352 + .../edu/cmu/sphinx/linguist/g2p/Path.java | 99 + .../sphinx/linguist/g2p/PathComparator.java | 37 + .../classes/ClassBasedLanguageModel.java | 171 + .../linguist/language/classes/ClassMap.java | 173 + .../classes/ClassPresentingDictionary.java | 103 + .../language/classes/ClassProbability.java | 32 + .../language/grammar/AlignerGrammar.java | 78 + .../grammar/BatchForcedAlignerGrammar.java | 116 + .../linguist/language/grammar/FSTGrammar.java | 443 + .../grammar/ForcedAlignerGrammar.java | 95 + .../linguist/language/grammar/Grammar.java | 547 ++ .../linguist/language/grammar/GrammarArc.java | 60 + .../language/grammar/GrammarInterface.java | 23 + .../language/grammar/GrammarNode.java | 439 + .../linguist/language/grammar/LMGrammar.java | 116 + .../language/grammar/LatticeGrammar.java | 94 + .../grammar/SimpleWordListGrammar.java | 127 + .../language/ngram/DynamicTrigramModel.java | 207 + .../ngram/InterpolatedLanguageModel.java | 180 + .../language/ngram/KeywordOptimizerModel.java | 125 + .../language/ngram/LanguageModel.java | 102 + .../language/ngram/NetworkLanguageModel.java | 170 + .../language/ngram/SimpleNGramModel.java | 466 + .../language/ngram/large/BinaryLoader.java | 841 ++ .../ngram/large/BinaryStreamLoader.java | 74 + .../KeywordOptimizerLargeNGramModel.java | 64 + .../language/ngram/large/LargeNGramModel.java | 1100 +++ .../ngram/large/LargeTrigramModel.java | 94 + .../language/ngram/large/NGramBuffer.java | 333 + .../ngram/large/NGramProbability.java | 94 + .../language/ngram/large/NMaxGramBuffer.java | 107 + .../ngram/large/UnigramProbability.java | 117 + .../cmu/sphinx/linguist/lextree/HMMTree.java | 1250 +++ .../linguist/lextree/LexTreeLinguist.java | 1605 ++++ .../cmu/sphinx/linguist/util/GDLDumper.java | 313 + .../cmu/sphinx/linguist/util/LRUCache.java | 33 + .../sphinx/linguist/util/LinguistDumper.java | 296 + .../sphinx/linguist/util/LinguistStats.java | 85 + .../sphinx/linguist/util/LinguistTimer.java | 131 + .../edu/cmu/sphinx/recognizer/Recognizer.java | 253 + .../cmu/sphinx/recognizer/StateListener.java | 28 + .../sphinx/result/BoundedPriorityQueue.java | 45 + .../main/java/edu/cmu/sphinx/result/Edge.java | 196 + .../cmu/sphinx/result/FrameStatistics.java | 65 + .../cmu/sphinx/result/GDLLatticeFactory.java | 95 + .../java/edu/cmu/sphinx/result/Lattice.java | 1158 +++ .../cmu/sphinx/result/LatticeOptimizer.java | 425 + .../cmu/sphinx/result/LatticeRescorer.java | 94 + .../java/edu/cmu/sphinx/result/Nbest.java | 106 + .../main/java/edu/cmu/sphinx/result/Node.java | 680 ++ .../main/java/edu/cmu/sphinx/result/Path.java | 66 + .../java/edu/cmu/sphinx/result/Result.java | 553 ++ .../cmu/sphinx/result/TokenGraphDumper.java | 180 + .../edu/cmu/sphinx/result/WordResult.java | 121 + .../edu/cmu/sphinx/speakerid/Segment.java | 69 + .../cmu/sphinx/speakerid/SpeakerCluster.java | 129 + .../speakerid/SpeakerIdentification.java | 324 + .../java/edu/cmu/sphinx/speakerid/Tester.java | 160 + .../edu/cmu/sphinx/tools/aligner/Aligner.java | 120 + .../edu/cmu/sphinx/tools/audio/AudioData.java | 135 + .../tools/audio/AudioDataInputStream.java | 143 + .../cmu/sphinx/tools/audio/AudioPanel.java | 349 + .../cmu/sphinx/tools/audio/AudioPlayer.java | 86 + .../edu/cmu/sphinx/tools/audio/AudioTool.java | 594 ++ .../cmu/sphinx/tools/audio/CepstrumPanel.java | 230 + .../cmu/sphinx/tools/audio/Downsampler.java | 61 + .../sphinx/tools/audio/FilenameDialog.java | 138 + .../edu/cmu/sphinx/tools/audio/RawReader.java | 117 + .../cmu/sphinx/tools/audio/RawRecorder.java | 167 + .../edu/cmu/sphinx/tools/audio/RawWriter.java | 65 + .../edu/cmu/sphinx/tools/audio/Sinusoid.java | 38 + .../sphinx/tools/audio/SpectrogramPanel.java | 227 + .../edu/cmu/sphinx/tools/audio/Utils.java | 234 + .../sphinx/tools/bandwidth/BandDetector.java | 150 + .../tools/batch/BatchDecoderRecognizer.java | 114 + .../batch/BatchForcedAlignerRecognizer.java | 117 + .../tools/batch/BatchModeRecognizer.java | 675 ++ .../tools/batch/BatchNISTRecognizer.java | 466 + .../cmu/sphinx/tools/batch/SphinxShell.java | 52 + .../cmu/sphinx/tools/endpoint/Segmenter.java | 109 + .../tools/feature/FeatureFileDumper.java | 283 + .../sphinx/tools/live/LiveModeRecognizer.java | 309 + .../cmu/sphinx/trainer/BaumWelchLearner.java | 761 ++ .../sphinx/trainer/BuildTranscriptHMM.java | 274 + .../edu/cmu/sphinx/trainer/ControlFile.java | 52 + .../java/edu/cmu/sphinx/trainer/Edge.java | 107 + .../trainer/FlatInitializerLearner.java | 155 + .../java/edu/cmu/sphinx/trainer/Graph.java | 376 + .../java/edu/cmu/sphinx/trainer/Learner.java | 62 + .../java/edu/cmu/sphinx/trainer/Node.java | 249 + .../java/edu/cmu/sphinx/trainer/NodeType.java | 77 + .../cmu/sphinx/trainer/SimpleControlFile.java | 170 + .../sphinx/trainer/SimpleTrainManager.java | 258 + .../cmu/sphinx/trainer/SimpleTranscript.java | 185 + .../cmu/sphinx/trainer/SimpleUtterance.java | 107 + .../java/edu/cmu/sphinx/trainer/Stage.java | 97 + .../edu/cmu/sphinx/trainer/TrainManager.java | 75 + .../java/edu/cmu/sphinx/trainer/Trainer.java | 162 + .../cmu/sphinx/trainer/TrainerDictionary.java | 108 + .../edu/cmu/sphinx/trainer/TrainerLink.java | 43 + .../edu/cmu/sphinx/trainer/TrainerToken.java | 27 + .../edu/cmu/sphinx/trainer/Transcript.java | 46 + .../cmu/sphinx/trainer/TranscriptGraph.java | 19 + .../sphinx/trainer/TranscriptHMMGraph.java | 29 + .../edu/cmu/sphinx/trainer/Utterance.java | 43 + .../cmu/sphinx/trainer/UtteranceGraph.java | 90 + .../cmu/sphinx/trainer/UtteranceHMMGraph.java | 47 + .../java/edu/cmu/sphinx/util/BatchFile.java | 90 + .../java/edu/cmu/sphinx/util/BatchItem.java | 54 + .../edu/cmu/sphinx/util/BatchManager.java | 53 + .../main/java/edu/cmu/sphinx/util/Cache.java | 62 + .../edu/cmu/sphinx/util/CommandInterface.java | 38 + .../cmu/sphinx/util/CommandInterpreter.java | 774 ++ .../java/edu/cmu/sphinx/util/Complex.java | 166 + .../cmu/sphinx/util/CustomThreadFactory.java | 39 + .../sphinx/util/ExtendedStreamTokenizer.java | 355 + .../cmu/sphinx/util/FileReferenceSource.java | 69 + .../cmu/sphinx/util/GapInsertionDetector.java | 460 + .../java/edu/cmu/sphinx/util/LogMath.java | 362 + .../java/edu/cmu/sphinx/util/MatrixUtils.java | 79 + .../java/edu/cmu/sphinx/util/NISTAlign.java | 977 +++ .../cmu/sphinx/util/PooledBatchManager.java | 271 + .../main/java/edu/cmu/sphinx/util/Range.java | 28 + .../edu/cmu/sphinx/util/ReferenceSource.java | 21 + .../cmu/sphinx/util/SimpleBatchManager.java | 114 + .../cmu/sphinx/util/SocketCommandClient.java | 299 + .../sphinx/util/SocketCommandInterpreter.java | 163 + .../java/edu/cmu/sphinx/util/SphinxHelp.java | 35 + .../cmu/sphinx/util/SphinxLogFormatter.java | 86 + .../cmu/sphinx/util/StatisticsVariable.java | 200 + .../edu/cmu/sphinx/util/StreamFactory.java | 344 + .../java/edu/cmu/sphinx/util/TimeFrame.java | 48 + .../main/java/edu/cmu/sphinx/util/Timer.java | 251 + .../java/edu/cmu/sphinx/util/TimerPool.java | 104 + .../java/edu/cmu/sphinx/util/Utilities.java | 327 + .../cmu/sphinx/util/machlearn/OVector.java | 62 + .../cmu/sphinx/util/props/ConfCategory.java | 18 + .../cmu/sphinx/util/props/ConfigHandler.java | 147 + .../cmu/sphinx/util/props/Configurable.java | 73 + .../util/props/ConfigurableAdapter.java | 49 + .../props/ConfigurationChangeListener.java | 47 + .../util/props/ConfigurationManager.java | 601 ++ .../util/props/ConfigurationManagerUtils.java | 734 ++ .../props/InternalConfigurationException.java | 28 + .../sphinx/util/props/PropertyException.java | 78 + .../cmu/sphinx/util/props/PropertySheet.java | 949 ++ .../cmu/sphinx/util/props/PropertyType.java | 139 + .../sphinx/util/props/RawPropertyData.java | 160 + .../edu/cmu/sphinx/util/props/S4Boolean.java | 19 + .../cmu/sphinx/util/props/S4Component.java | 24 + .../sphinx/util/props/S4ComponentList.java | 34 + .../edu/cmu/sphinx/util/props/S4Double.java | 30 + .../edu/cmu/sphinx/util/props/S4Integer.java | 28 + .../cmu/sphinx/util/props/S4PropWrapper.java | 23 + .../edu/cmu/sphinx/util/props/S4Property.java | 21 + .../edu/cmu/sphinx/util/props/S4String.java | 31 + .../cmu/sphinx/util/props/S4StringList.java | 13 + .../edu/cmu/sphinx/util/props/SaxLoader.java | 83 + .../sphinx/util/props/tools/GDLDumper.java | 136 + .../sphinx/util/props/tools/HTMLDumper.java | 100 + .../edu/cmu/sphinx/decoder/package.html | 26 + .../cmu/sphinx/decoder/pruner/package.html | 23 + .../cmu/sphinx/decoder/scorer/package.html | 43 + .../cmu/sphinx/decoder/search/package.html | 26 + .../sphinx/frontend/databranch/package.html | 26 + .../doc-files/FrontEndConfiguration.html | 201 + .../frontend/doc-files/FrontEndFAQ.html | 272 + .../sphinx/frontend/doc-files/frontend.jpg | Bin 0 -> 13604 bytes .../doc-files/NonSpeechDataFilter.gif | Bin 0 -> 21266 bytes .../doc-files/NonSpeechDataFilter.sxd | Bin 0 -> 10652 bytes .../doc-files/one-region-filtered.gif | Bin 0 -> 2798 bytes .../endpoint/doc-files/one-region.gif | Bin 0 -> 2185 bytes .../endpoint/doc-files/two-regions-merge.gif | Bin 0 -> 4009 bytes .../doc-files/two-regions-nonmerge.gif | Bin 0 -> 4706 bytes .../endpoint/doc-files/two-regions.gif | Bin 0 -> 3280 bytes .../cmu/sphinx/frontend/endpoint/package.html | 57 + .../frontend/feature/doc-files/deltas.jpg | Bin 0 -> 82757 bytes .../frontend/feature/doc-files/deltas.sxd | Bin 0 -> 8039 bytes .../frontend/feature/doc-files/feature.jpg | Bin 0 -> 19835 bytes .../frontend/feature/doc-files/feature.sxd | Bin 0 -> 7138 bytes .../cmu/sphinx/frontend/feature/package.html | 41 + .../cmu/sphinx/frontend/filter/package.html | 40 + .../frequencywarp/doc-files/melfilter.jpg | Bin 0 -> 25245 bytes .../frequencywarp/doc-files/melfilter.sxd | Bin 0 -> 6775 bytes .../frequencywarp/doc-files/melfilterbank.jpg | Bin 0 -> 39423 bytes .../frequencywarp/doc-files/melfilterbank.sxd | Bin 0 -> 7339 bytes .../frontend/frequencywarp/package.html | 41 + .../edu/cmu/sphinx/frontend/package.html | 59 + .../frontend/transform/doc-files/139o.jpg | Bin 0 -> 35066 bytes .../transform/doc-files/139ospectrum.jpg | Bin 0 -> 24167 bytes .../sphinx/frontend/transform/package.html | 42 + .../edu/cmu/sphinx/frontend/util/package.html | 42 + .../frontend/window/doc-files/framing.jpg | Bin 0 -> 52312 bytes .../frontend/window/doc-files/framing.sxd | Bin 0 -> 6974 bytes .../window/doc-files/hamming-window.gif | Bin 0 -> 2255 bytes .../cmu/sphinx/frontend/window/package.html | 40 + .../edu/cmu/sphinx/fst/openfst/package.html | 23 + .../cmu/sphinx/fst/operations/package.html | 23 + .../javadoc/edu/cmu/sphinx/fst/package.html | 23 + .../edu/cmu/sphinx/fst/semiring/package.html | 23 + .../edu/cmu/sphinx/fst/utils/package.html | 23 + .../doc-files/Instrumentation.html | 726 ++ .../instrumentation/doc-files/gdl_config.jpg | Bin 0 -> 64969 bytes .../instrumentation/doc-files/lingustDump.jpg | Bin 0 -> 36872 bytes .../doc-files/silent.config.xml | 268 + .../cmu/sphinx/instrumentation/package.html | 22 + .../sphinx/jsgf/doc-files/commandGrammar.jpg | Bin 0 -> 47024 bytes .../cmu/sphinx/jsgf/doc-files/helloWorld.jpg | Bin 0 -> 10141 bytes .../cmu/sphinx/linguist/acoustic/package.html | 26 + .../linguist/acoustic/tiedstate/package.html | 25 + .../acoustic/tiedstate/trainer/package.html | 22 + .../linguist/acoustic/trivial/package.html | 23 + .../sphinx/linguist/dictionary/package.html | 42 + .../edu/cmu/sphinx/linguist/flat/package.html | 27 + .../edu/cmu/sphinx/linguist/g2p/package.html | 40 + .../grammar/doc-files/fst-end-node.jpg | Bin 0 -> 9248 bytes .../linguist/language/grammar/package.html | 23 + .../language/ngram/large/package.html | 52 + .../linguist/language/ngram/package.html | 22 + .../cmu/sphinx/linguist/language/package.html | 25 + .../cmu/sphinx/linguist/lextree/package.html | 30 + .../edu/cmu/sphinx/linguist/package.html | 48 + .../edu/cmu/sphinx/linguist/util/package.html | 26 + .../edu/cmu/sphinx/recognizer/package.html | 32 + .../edu/cmu/sphinx/result/package.html | 42 + .../audio/doc-files/HowToRunAudioTool.html | 172 + .../tools/audio/doc-files/audiotool.gif | Bin 0 -> 24863 bytes .../edu/cmu/sphinx/tools/audio/package.html | 43 + .../edu/cmu/sphinx/tools/batch/package.html | 25 + .../edu/cmu/sphinx/tools/feature/package.html | 56 + .../edu/cmu/sphinx/tools/live/package.html | 25 + .../edu/cmu/sphinx/trainer/package.html | 43 + .../cmu/sphinx/util/machlearn/package.html | 24 + .../javadoc/edu/cmu/sphinx/util/package.html | 25 + .../doc-files/ConfigurationManagement.html | 577 ++ .../edu/cmu/sphinx/util/props/package.html | 41 + .../sphinx4-core/src/main/javadoc/index.html | 135 + .../src/main/javadoc/overview.html | 97 + .../edu/cmu/sphinx/alignment/nums_cart.txt | 109 + .../edu/cmu/sphinx/alignment/prefix_fsm.txt | 16 + .../edu/cmu/sphinx/alignment/suffix_fsm.txt | 16 + .../edu/cmu/sphinx/api/default.config.xml | 335 + .../edu/cmu/sphinx/jsgf/parser/jsgf.jj | 758 ++ .../language/ngram/alphabet.arpaformat | 6867 +++++++++++++++ .../cmu/sphinx/speakerid/frontend.config.xml | 85 + .../sphinx/tools/audio/spectrogram.config.xml | 88 + .../sphinx/tools/endpoint/frontend.config.xml | 31 + .../sphinx/tools/feature/frontend.config.xml | 82 + .../sphinx/alignment/SpeechAlignerTest.java | 44 + .../alignment/TextAlignerLargeTest.java | 44 + .../alignment/TextAlignerSmallTest.java | 72 + .../alignment/UsEnglishWordExpanderTest.java | 70 + .../cmu/sphinx/api/LiveRecognizerTest.java | 61 + .../sphinx/decoder/scorer/ScorerTests.java | 122 + .../decoder/search/test/PartitionerTest.java | 129 + .../sphinx/frontend/AudioDataSourcesTest.java | 123 + .../cmu/sphinx/frontend/DataBlockerTest.java | 144 + .../sphinx/frontend/FrontendElementTest.java | 120 + .../sphinx/frontend/RandomDataProcessor.java | 97 + .../sphinx/frontend/RandomSampleRepeater.java | 301 + .../cmu/sphinx/frontend/SpeechMarkerTest.java | 70 + .../java/edu/cmu/sphinx/fst/ArcSortTest.java | 145 + .../cmu/sphinx/fst/ComposeEpsilonTest.java | 51 + .../java/edu/cmu/sphinx/fst/ComposeTest.java | 51 + .../java/edu/cmu/sphinx/fst/ConnectTest.java | 46 + .../edu/cmu/sphinx/fst/DeterminizeTest.java | 40 + .../java/edu/cmu/sphinx/fst/ImportTest.java | 43 + .../cmu/sphinx/fst/NShortestPathsTest.java | 40 + .../java/edu/cmu/sphinx/fst/ProjectTest.java | 157 + .../java/edu/cmu/sphinx/fst/ReverseTest.java | 40 + .../edu/cmu/sphinx/fst/RmEpsilonTest.java | 47 + .../cmu/sphinx/linguist/WordSequenceTest.java | 85 + .../tiedstate/test/MixtureComponentTest.java | 91 + .../linguist/dictionary/DictionaryTest.java | 80 + .../BatchForcedAlignerGrammarTest.java | 53 + .../language/grammar/FSTGrammarTest.java | 42 + .../ngram/DynamicTrigramModelTest.java | 102 + .../language/ngram/large/LargeNgramTest.java | 72 + .../cmu/sphinx/result/LatticeCompTest.java | 86 + .../edu/cmu/sphinx/result/LatticeIOTest.java | 94 + .../edu/cmu/sphinx/result/PosteriorTest.java | 70 + .../tools/bandwidth/BandDetectorTest.java | 30 + .../util/props/AnotherDummyFrontEnd.java | 5 + .../util/props/AnotherDummyProcessor.java | 10 + .../edu/cmu/sphinx/util/props/CMUTests.java | 50 + .../sphinx/util/props/ComponentListTests.java | 31 + .../util/props/ComponentPropertyTest.java | 41 + .../util/props/ConfigurationManagerTest.java | 140 + .../edu/cmu/sphinx/util/props/DummyComp.java | 160 + .../cmu/sphinx/util/props/DummyFrontEnd.java | 49 + .../util/props/DummyFrontEndProcessor.java | 12 + .../cmu/sphinx/util/props/DummyProcessor.java | 21 + .../sphinx/util/props/TestConfigurable.java | 110 + .../sphinx/alignment/transcription-small.txt | 7 + .../edu/cmu/sphinx/frontend/after-cmn.dump | 322 + .../edu/cmu/sphinx/frontend/after-dct.dump | 321 + .../cmu/sphinx/frontend/after-feature.dump | 325 + .../edu/cmu/sphinx/frontend/after-fft.dump | 321 + .../edu/cmu/sphinx/frontend/after-mel.dump | 321 + .../edu/cmu/sphinx/frontend/after-preemp.dump | 323 + .../frontend/after-window.dump.REMOVED.git-id | 1 + .../edu/cmu/sphinx/frontend/frontend.xml | 136 + .../edu/cmu/sphinx/frontend/test-feat.wav | Bin 0 -> 167564 bytes .../edu/cmu/sphinx/frontend/test.aiff | Bin 0 -> 86448 bytes .../resources/edu/cmu/sphinx/frontend/test.au | Bin 0 -> 86401 bytes .../edu/cmu/sphinx/frontend/test.ogg | Bin 0 -> 11997 bytes .../edu/cmu/sphinx/frontend/test.wav | Bin 0 -> 86404 bytes .../edu/cmu/sphinx/frontend/test8k.wav | Bin 0 -> 15712 bytes .../cmu/sphinx/fst/algorithms/compose/A.fst | Bin 0 -> 210 bytes .../sphinx/fst/algorithms/compose/A.fst.txt | 10 + .../fst/algorithms/compose/A.input.syms | 5 + .../fst/algorithms/compose/A.output.syms | 5 + .../cmu/sphinx/fst/algorithms/compose/B.fst | Bin 0 -> 194 bytes .../sphinx/fst/algorithms/compose/B.fst.txt | 9 + .../fst/algorithms/compose/B.input.syms | 5 + .../fst/algorithms/compose/B.output.syms | 5 + .../fst/algorithms/compose/fstcompose.fst | Bin 0 -> 250 bytes .../fst/algorithms/compose/fstcompose.fst.ser | Bin 0 -> 404 bytes .../fst/algorithms/compose/fstcompose.fst.txt | 15 + .../algorithms/compose/fstcompose.input.syms | 7 + .../algorithms/compose/fstcompose.output.syms | 7 + .../algorithms/compose/fstcompose.states.syms | 7 + .../fst/algorithms/composeeps/A.fst.txt | 9 + .../fst/algorithms/composeeps/B.fst.txt | 7 + .../fst/algorithms/composeeps/fstcomposeeps | Bin 0 -> 389 bytes .../composeeps/fstcomposeeps.fst.txt | 15 + .../composeeps/fstcomposeeps.input.syms | 5 + .../composeeps/fstcomposeeps.output.syms | 4 + .../composeeps/fstcomposeeps.states.syms | 8 + .../cmu/sphinx/fst/algorithms/connect/A.fst | Bin 0 -> 522 bytes .../sphinx/fst/algorithms/connect/A.fst.txt | 32 + .../fst/algorithms/connect/A.input.syms | 4 + .../fst/algorithms/connect/A.output.syms | 4 + .../fst/algorithms/connect/fstconnect.fst.ser | Bin 0 -> 595 bytes .../sphinx/fst/algorithms/determinize/A.fst | Bin 0 -> 274 bytes .../fst/algorithms/determinize/A.fst.txt | 14 + .../fst/algorithms/determinize/A.input.syms | 5 + .../fst/algorithms/determinize/A.output.syms | 5 + .../determinize/fstdeterminize.fst.ser | Bin 0 -> 332 bytes .../cmu/sphinx/fst/algorithms/reverse/A.fst | Bin 0 -> 226 bytes .../sphinx/fst/algorithms/reverse/A.fst.txt | 11 + .../fst/algorithms/reverse/A.input.syms | 6 + .../fst/algorithms/reverse/A.output.syms | 6 + .../fst/algorithms/reverse/A.states.syms | 4 + .../fst/algorithms/reverse/fstreverse.fst | Bin 0 -> 270 bytes .../fst/algorithms/reverse/fstreverse.fst.ser | Bin 0 -> 400 bytes .../sphinx/fst/algorithms/rmepsilon/A.fst.txt | 15 + .../algorithms/rmepsilon/fstrmepsilon.fst.ser | Bin 0 -> 304 bytes .../sphinx/fst/algorithms/shortestpath/A.fst | Bin 0 -> 194 bytes .../fst/algorithms/shortestpath/A.fst.txt | 9 + .../fst/algorithms/shortestpath/A.input.syms | 6 + .../fst/algorithms/shortestpath/A.output.syms | 6 + .../fst/algorithms/shortestpath/nsp.fst | Bin 0 -> 582 bytes .../fst/algorithms/shortestpath/nsp.fst.txt | 37 + .../algorithms/shortestpath/nsp.input.syms | 6 + .../algorithms/shortestpath/nsp.output.syms | 6 + .../algorithms/shortestpath/nsp.states.syms | 19 + .../edu/cmu/sphinx/fst/openfst/basic.fst | Bin 0 -> 286 bytes .../edu/cmu/sphinx/fst/openfst/basic.fst.ser | Bin 0 -> 248 bytes .../edu/cmu/sphinx/fst/openfst/basic.fst.txt | 4 + .../cmu/sphinx/fst/openfst/basic.input.syms | 3 + .../cmu/sphinx/fst/openfst/basic.output.syms | 3 + .../edu/cmu/sphinx/jsgf/test/digits.grxml | 21 + .../edu/cmu/sphinx/jsgf/test/input.txt | 186 + .../cmu/sphinx/jsgf/test/jsgftest.config.xml | 27 + .../edu/cmu/sphinx/jsgf/test/polite.gram | 6 + .../edu/cmu/sphinx/jsgf/test/test.gram | 46 + .../cmu/sphinx/linguist/dictionary/bad.dict | 1 + .../BatchForcedAlignerGrammarTest.utts | 4 + .../language/grammar/FSTGrammarTest.dic | 5 + .../language/grammar/FSTGrammarTest.gram | 27 + .../language/ngram/large/100.arpa.dmp | Bin 0 -> 2061 bytes .../linguist/language/ngram/large/100.dict | 7 + .../edu/cmu/sphinx/result/correct.slf | 166 + .../resources/edu/cmu/sphinx/result/green.wav | Bin 0 -> 70480 bytes .../cmu/sphinx/result/hellongram.trigram.lm | 2365 +++++ .../bandwidth/10001-90210-01803-8khz.wav | Bin 0 -> 265900 bytes .../tools/bandwidth/10001-90210-01803.wav | Bin 0 -> 265914 bytes .../util/props/ConfigurationManagerTest.sxl | 23 + .../ConfigurationManagerTest.testconfig.sxl | 28 + .../sphinx4-data/pom.xml | 22 + .../en-us/cmudict-en-us.dict.REMOVED.git-id | 1 + .../models/en-us/en-us.lm.dmp.REMOVED.git-id | 1 + .../edu/cmu/sphinx/models/en-us/en-us/README | 34 + .../cmu/sphinx/models/en-us/en-us/feat.params | 10 + .../models/en-us/en-us/feature_transform | Bin 0 -> 5660 bytes .../models/en-us/en-us/mdef.REMOVED.git-id | 1 + .../models/en-us/en-us/means.REMOVED.git-id | 1 + .../sphinx/models/en-us/en-us/mixture_weights | Bin 0 -> 657728 bytes .../cmu/sphinx/models/en-us/en-us/noisedict | 9 + .../models/en-us/en-us/transition_matrices | Bin 0 -> 2272 bytes .../en-us/en-us/variances.REMOVED.git-id | 1 + .../cmu/sphinx/models/en-us/en-us_old/README | 34 + .../sphinx/models/en-us/en-us_old/feat.params | 12 + .../en-us/en-us_old/mdef.REMOVED.git-id | 1 + .../cmu/sphinx/models/en-us/en-us_old/means | Bin 0 -> 838732 bytes .../en-us_old/mixture_weights.REMOVED.git-id | 1 + .../sphinx/models/en-us/en-us_old/noisedict | 5 + .../en-us/en-us_old/sendump.REMOVED.git-id | 1 + .../en-us/en-us_old/transition_matrices | Bin 0 -> 2080 bytes .../sphinx/models/en-us/en-us_old/variances | Bin 0 -> 838732 bytes .../sphinx4-samples/pom.xml | 58 + .../java/edu/cmu/sphinx/demo/DemoRunner.java | 49 + .../cmu/sphinx/demo/aligner/AlignerDemo.java | 108 + .../sphinx/demo/allphone/AllphoneDemo.java | 68 + .../cmu/sphinx/demo/dialog/DialogDemo.java | 186 + .../speakerid/SpeakerIdentificationDemo.java | 123 + .../demo/transcriber/TranscriberDemo.java | 100 + .../sphinx/demo/aligner/10001-90210-01803.wav | Bin 0 -> 265914 bytes .../edu/cmu/sphinx/demo/aligner/README.html | 42 + .../edu/cmu/sphinx/demo/dialog/dialog.gram | 29 + .../edu/cmu/sphinx/demo/dialog/digits.grxml | 21 + .../demo/dialog/weather.lm.REMOVED.git-id | 1 + .../cmu/sphinx/demo/dialog/weather.samples | 80 + .../edu/cmu/sphinx/demo/speakerid/test.wav | Bin 0 -> 516044 bytes .../cmu/sphinx/demo/transcriber/README.html | 104 + .../tests/performance/an4/an4.config.xml | 395 + .../tests/performance/an4/an4_full.batch | 948 ++ .../tests/performance/an4/an4_full.bigram.fst | 1606 ++++ .../tests/performance/an4/an4_full.bigram.lm | 1680 ++++ .../performance/an4/an4_full.flat_unigram.fst | 307 + .../performance/an4/an4_full.flat_unigram.lm | 144 + .../performance/an4/an4_full.trigram.fst | 7633 +++++++++++++++++ .../tests/performance/an4/an4_full.trigram.lm | 5481 ++++++++++++ .../performance/an4/an4_full.unigram.fst | 307 + .../tests/performance/an4/an4_full.unigram.lm | 144 + .../tests/performance/an4/an4_full.wordlist | 105 + .../performance/an4/an4_plus.trigram.fst | 6484 ++++++++++++++ .../tests/performance/an4/an4_plus.trigram.lm | 4771 +++++++++++ .../tests/performance/an4/an4_plus.wordlist | 214 + .../performance/an4/an4_short_words.list | 2 + .../performance/an4/an4_spelled_out.wordlist | 220 + .../performance/an4/an4_spelling.alphalist | 26 + .../tests/performance/an4/an4_spelling.batch | 288 + .../performance/an4/an4_spelling.bigram.fst | 351 + .../performance/an4/an4_spelling.bigram.lm | 438 + .../an4/an4_spelling.flat_unigram.fst | 88 + .../an4/an4_spelling.flat_unigram.lm | 71 + .../performance/an4/an4_spelling.trigram.fst | 2043 +++++ .../performance/an4/an4_spelling.trigram.lm | 1566 ++++ .../performance/an4/an4_spelling.unigram.fst | 88 + .../performance/an4/an4_spelling.unigram.lm | 71 + .../performance/an4/an4_spelling.wordlist | 26 + .../an4/an4_spelling_journey.trigram.fst | 6620 ++++++++++++++ .../an4/an4_spelling_journey.trigram.lm | 6873 +++++++++++++++ .../tests/performance/an4/an4_words.batch | 467 + .../performance/an4/an4_words.bigram.fst | 578 ++ .../an4/an4_words.bigram.fst.prunedloops | 577 ++ .../tests/performance/an4/an4_words.bigram.lm | 624 ++ .../an4/an4_words.flat_unigram.fst | 217 + .../performance/an4/an4_words.flat_unigram.lm | 114 + .../performance/an4/an4_words.trigram.fst | 2526 ++++++ .../performance/an4/an4_words.trigram.lm | 1602 ++++ .../performance/an4/an4_words.unigram.fst | 217 + .../performance/an4/an4_words.unigram.lm | 114 + .../tests/performance/an4/an4_words.wordlist | 79 + .../performance/an4/an4_words_rejection.batch | 467 + .../an4/an4_words_trigram.config.xml | 380 + .../tests/performance/an4/build.xml | 742 ++ .../tests/performance/an4/run_an4_tests | 14 + .../tests/performance/voxforge_en/build.xml | 40 + .../voxforge_en/voxforge.config.xml | 255 + .../voxforge_en/voxforge_en_test.batch | 4682 ++++++++++ .../tests/trainer/build.xml | 40 + .../tests/trainer/phonelist | 38 + .../tests/trainer/trainer.xml | 62 + resource/bots/hal/aiml/oob.aiml | 221 + resource/bots/hal/config/properties.txt | 8 + src/se/koc/hal/stt/GoogleSTTClient.java | 126 + src/se/koc/hal/stt/ManualSTTClient.java | 47 + src/se/koc/hal/stt/Sphinx4STTClient.java | 68 + src/se/koc/hal/tts/GoogleTTSClient.java | 101 + src/se/koc/hal/tts/MaryLocalTTSClient.java | 73 + src/se/koc/hal/tts/MaryRemoteTTSClient.java | 72 + test/se/koc/hal/test/GoogleTTSTest.java | 83 + .../se/koc/hal/test/JarvisRecognizerTest.java | 198 + .../koc/hal/test/JarvisSyntersizerTest.java | 85 + .../hal/test/LiveSpeechRecognizerTest.java | 64 + test/se/koc/hal/test/MaryTTS.java | 50 + test/se/koc/hal/test/TranscriberDemo.java | 91 + 863 files changed, 192681 insertions(+) create mode 100644 external/marytts-5.1.2/LICENSE.txt create mode 100644 external/marytts-5.1.2/bin/marytts-client create mode 100644 external/marytts-5.1.2/bin/marytts-client.bat create mode 100644 external/marytts-5.1.2/bin/marytts-component-installer create mode 100644 external/marytts-5.1.2/bin/marytts-component-installer.bat create mode 100644 external/marytts-5.1.2/bin/marytts-server create mode 100644 external/marytts-5.1.2/bin/marytts-server.bat create mode 100644 external/marytts-5.1.2/doc/examples/client/MaryClient.py create mode 100644 external/marytts-5.1.2/doc/examples/client/MaryClientUser.java create mode 100644 external/marytts-5.1.2/doc/examples/client/c++/Makefile create mode 100644 external/marytts-5.1.2/doc/examples/client/c++/MaryClient.cc create mode 100644 external/marytts-5.1.2/doc/examples/client/c++/MaryClient.cc.win create mode 100644 external/marytts-5.1.2/doc/examples/client/c++/MaryClient.h create mode 100644 external/marytts-5.1.2/doc/examples/client/c++/MaryDemo.cc create mode 100644 external/marytts-5.1.2/doc/examples/client/c++/README.txt create mode 100644 external/marytts-5.1.2/doc/examples/client/maryclient-http.py create mode 100644 external/marytts-5.1.2/doc/examples/client/maryclient.cgi create mode 100644 external/marytts-5.1.2/doc/examples/client/maryclient.pl create mode 100644 external/marytts-5.1.2/doc/examples/client/maryclient.rb create mode 100644 external/marytts-5.1.2/doc/examples/client/maryclient.tcl create mode 100644 external/marytts-5.1.2/doc/examples/client/texttospeechdemo.html create mode 100644 external/marytts-5.1.2/doc/examples/emospeak-applet.html create mode 100644 external/marytts-5.1.2/doc/examples/etc_init.d_marytts create mode 100644 external/marytts-5.1.2/download/marytts-components.xml create mode 100644 external/marytts-5.1.2/gpl-3.0.txt create mode 100644 external/marytts-5.1.2/installed/marytts-lang-de-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/marytts-lang-en-GB-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/marytts-lang-en-US-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/marytts-lang-fr-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/marytts-lang-it-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/marytts-lang-ru-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/marytts-lang-sv-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/marytts-lang-te-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/marytts-lang-tr-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/installed/voice-cmu-slt-hsmm-5.1.2-component.xml create mode 100644 external/marytts-5.1.2/lgpl-3.0.txt create mode 100644 external/marytts-5.1.2/lib/icu4j-54.1.1.jar.REMOVED.git-id create mode 100644 external/marytts-5.1.2/lib/marytts-client-5.1.2-jar-with-dependencies.jar.REMOVED.git-id create mode 100644 external/marytts-5.1.2/lib/marytts-lang-de-5.1.2.jar.REMOVED.git-id create mode 100644 external/marytts-5.1.2/lib/marytts-lang-en-5.1.2.jar.REMOVED.git-id create mode 100644 external/marytts-5.1.2/lib/marytts-lang-fr-5.1.2.jar create mode 100644 external/marytts-5.1.2/lib/marytts-lang-it-5.1.2.jar.REMOVED.git-id create mode 100644 external/marytts-5.1.2/lib/marytts-lang-ru-5.1.2.jar create mode 100644 external/marytts-5.1.2/lib/marytts-lang-sv-5.1.2.jar create mode 100644 external/marytts-5.1.2/lib/marytts-lang-te-5.1.2.jar create mode 100644 external/marytts-5.1.2/lib/marytts-lang-tr-5.1.2.jar create mode 100644 external/marytts-5.1.2/lib/marytts-runtime-5.1.2-jar-with-dependencies.jar.REMOVED.git-id create mode 100644 external/marytts-5.1.2/lib/voice-cmu-slt-hsmm-5.1.2.jar.REMOVED.git-id create mode 100644 external/marytts-5.1.2/log/server.log.REMOVED.git-id create mode 100644 external/marytts-5.1.2/user-dictionaries/userdict-de.txt create mode 100644 external/marytts-5.1.2/user-dictionaries/userdict-en_GB.txt create mode 100644 external/marytts-5.1.2/user-dictionaries/userdict-en_US.txt create mode 100644 external/marytts-5.1.2/user-dictionaries/userdict-fr.txt create mode 100644 external/marytts-5.1.2/user-dictionaries/userdict-ru.txt create mode 100644 external/marytts-5.1.2/user-dictionaries/userdict-sv.txt create mode 100644 external/marytts-5.1.2/user-dictionaries/userdict-te.txt create mode 100644 lib/commons-math3-3.5.jar.REMOVED.git-id create mode 100644 lib/java-speech-api-master/.classpath create mode 100644 lib/java-speech-api-master/.gitignore create mode 100644 lib/java-speech-api-master/.project create mode 100644 lib/java-speech-api-master/CHANGELOG.markdown create mode 100644 lib/java-speech-api-master/CREDITS.markdown create mode 100644 lib/java-speech-api-master/LICENSE create mode 100644 lib/java-speech-api-master/README.markdown create mode 100644 lib/java-speech-api-master/java-speech-api.iml create mode 100644 lib/java-speech-api-master/src/META-INF/MANIFEST.MF create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/microphone/Microphone.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/microphone/MicrophoneAnalyzer.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/FlacEncoder.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/GSpeechResponseListener.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/GoogleResponse.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/Recognizer.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/RecognizerChunked.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/synthesiser/Synthesiser.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/synthesiser/SynthesiserV2.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/translator/GoogleTranslate.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/util/ChunkedOutputStream.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/util/Complex.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/util/FFT.java create mode 100644 lib/java-speech-api-master/src/com/darkprograms/speech/util/StringUtil.java create mode 100644 lib/sphinx4-5prealpha-src/README create mode 100644 lib/sphinx4-5prealpha-src/RELEASE_NOTES create mode 100644 lib/sphinx4-5prealpha-src/doc/Sphinx4_Whitepaper_2003.pdf create mode 100644 lib/sphinx4-5prealpha-src/doc/speaker_adaptation.txt create mode 100644 lib/sphinx4-5prealpha-src/license.terms create mode 100644 lib/sphinx4-5prealpha-src/pom.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/pom.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/LongTextAligner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/SimpleTokenizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/TextTokenizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/Token.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/USEnglishTokenizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/CharTokenizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/DecisionTree.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/FeatureSet.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Item.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/ItemContents.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/NumberExpander.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PathExtractor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PrefixFSM.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PronounceableFSM.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Relation.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/SuffixFSM.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Utterance.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/WordRelation.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/AbstractSpeechRecognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Configuration.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Context.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/LiveSpeechRecognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Microphone.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechAligner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechResult.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechSourceProvider.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/StreamSpeechRecognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/AbstractDecoder.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/Decoder.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/FrameDecoder.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/ResultListener.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/ResultProducer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/ClusteredDensityFileData.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/Stats.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/Transform.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/NullPruner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/Pruner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/SimplePruner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/AcousticScorer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/BackgroundModelNormalizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/MaxScoreNormalizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ScoreNormalizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ScoreProvider.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/Scoreable.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/SimpleAcousticScorer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ThreadedAcousticScorer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveList.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveListFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveListManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/AlternateHypothesisManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/PartitionActiveListFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/Partitioner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SearchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleActiveListFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleActiveListManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleBreadthFirstSearchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SkewPruningSearchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SortingActiveListFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/Token.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/TokenHeapSearchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/TokenSearchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordActiveListFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordPruningBreadthFirstLookaheadSearchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordPruningBreadthFirstSearchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/StateHistoryTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/TokenTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/TokenTypeTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/WordTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/AutoCepstrum.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/BaseDataProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/Data.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataBlocker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataEndSignal.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataProcessingException.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataStartSignal.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DoubleData.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/FloatData.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/FrontEnd.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/GainControlProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/Signal.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/SignalListener.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataBufferProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataListener.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataProducer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/FrontEndSplitter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/denoise/Denoise.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/AbstractVoiceActivityDetector.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechClassifiedData.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechClassifier.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechEndSignal.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechMarker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechStartSignal.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/AbstractFeatureExtractor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchAGC.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchCMN.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchVarNorm.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/ConcatFeatureExtractor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/DeltasFeatureExtractor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/FeatureTransform.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/FrameDropper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/KaldiDeltasFeatureExtractor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/LiveCMN.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/S3FeatureExtractor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/Dither.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/EnergyFilter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/Preemphasizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/FrequencyWarper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/LinearPredictor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFilter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFilter2.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFrequencyFilterBank.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFrequencyFilterBank2.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPCepstrumProducer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPFilter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPFrequencyFilterBank.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteCosineTransform.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteCosineTransform2.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteFourierTransform.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/KaldiDiscreteCosineTransform.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/Lifter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioContinuityTester.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioFileDataSource.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioFileProcessListener.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/ConcatAudioFileDataSource.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/ConcatFileDataSource.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataConverter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataDumper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataUtil.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/EnergyPlotter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/FrontEndUtils.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/Microphone.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamCepstrumSource.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamDataSource.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamHTKCepstrum.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/Utterance.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeterMonitor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeterPanel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/WavWriter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/window/RaisedCosineWindower.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Arc.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Convert.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Export.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Fst.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/ImmutableFst.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/ImmutableState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Import.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/State.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ArcSort.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Compose.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Connect.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Determinize.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ExtendFinal.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ILabelCompare.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/NShortestPaths.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/OLabelCompare.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Project.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ProjectType.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Reverse.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/RmEpsilon.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/LogSemiring.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/ProbabilitySemiring.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/Semiring.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/TropicalSemiring.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/sequitur/SequiturImport.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/utils/Pair.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/utils/Utils.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/AccuracyTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/BestPathAccuracyTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/ConfigMonitor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/MemoryTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/Monitor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/RecognizerMonitor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/RejectionTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/Resetable.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/SpeedTracker.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/GrXMLGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/GrXMLHandler.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammarException.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammarParseException.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammarFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammarManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParser.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParserConstants.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParserTokenManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JavaCharStream.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/ParseException.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/Token.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/TokenMgrError.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRule.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleAlternatives.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleCount.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleName.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleSequence.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleTag.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleToken.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/HMMSearchState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/Linguist.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/LinguistProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchGraph.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchStateArc.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/UnitSearchState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/WordSearchState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/WordSequence.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/AcousticModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/Context.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMM.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMPool.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMPosition.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMStateArc.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/LeftRightContext.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/Unit.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/UnitManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/CompositeSenone.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/GaussianMixture.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/GaussianWeights.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HMMManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/GMMDiag.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/HMMSet.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/HMMState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/Lab.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/NamesConversion.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/SingleHMM.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTKLoader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/KaldiLoader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/LazyHmmManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Loader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/MixtureComponent.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Pool.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Saver.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/ScoreCachingSenone.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Senone.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneHMM.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneHMMState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneSequence.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Sphinx3Loader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SphinxAsciiLoader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/TiedStateAcousticModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/ConstantEventMap.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/DiagGmm.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/EventMap.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/EventMapWithKey.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/KaldiGmmPool.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/KaldiTextParser.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/SplitEventMap.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/TableEventMap.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/TransitionModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/MixtureComponentSet.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/MixtureComponentSetScores.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/PrunableMixtureComponent.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/SetBasedGaussianMixture.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Buffer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/HMMPoolManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/ModelInitializerLoader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx3Saver.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx4Loader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx4Saver.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/TrainerAcousticModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/TrainerScore.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/trivial/TrivialAcousticModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/aflat/AFlatLinguist.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/aflat/PhoneLoop.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/AllphoneLinguist.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/AllphoneSearchGraph.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneHmmSearchState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneNonEmittingSearchState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneWordSearchState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dflat/DynamicFlatLinguist.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dflat/OutOfGrammarGraph.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Dictionary.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/MappingDictionary.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Pronunciation.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/TextDictionary.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Word.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/AlternativeState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/BranchState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/CIPhoneLoop.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/ExtendedUnitState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/FlatLinguist.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/GrammarPoint.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/GrammarState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/HMMStateState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/NonEmittingHMMState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/PronunciationState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMStateArc.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMStateVisitor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/UnitState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/WordState.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/G2PConverter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/Path.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/PathComparator.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassBasedLanguageModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassMap.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassPresentingDictionary.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassProbability.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/AlignerGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/FSTGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/ForcedAlignerGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/Grammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarArc.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarInterface.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarNode.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/LMGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/LatticeGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/SimpleWordListGrammar.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/DynamicTrigramModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/InterpolatedLanguageModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/KeywordOptimizerModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/LanguageModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/NetworkLanguageModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/SimpleNGramModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/BinaryLoader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/BinaryStreamLoader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/KeywordOptimizerLargeNGramModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeNGramModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeTrigramModel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NGramBuffer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NGramProbability.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NMaxGramBuffer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/UnigramProbability.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/lextree/HMMTree.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/lextree/LexTreeLinguist.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/GDLDumper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LRUCache.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistDumper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistStats.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistTimer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/recognizer/Recognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/recognizer/StateListener.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/BoundedPriorityQueue.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Edge.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/FrameStatistics.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/GDLLatticeFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Lattice.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/LatticeOptimizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/LatticeRescorer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Nbest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Node.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Path.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Result.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/TokenGraphDumper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/WordResult.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/Segment.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/SpeakerCluster.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/SpeakerIdentification.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/Tester.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/aligner/Aligner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioData.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioDataInputStream.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioPanel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioPlayer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioTool.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/CepstrumPanel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Downsampler.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/FilenameDialog.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawReader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawRecorder.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawWriter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Sinusoid.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/SpectrogramPanel.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Utils.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/bandwidth/BandDetector.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchDecoderRecognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchForcedAlignerRecognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchModeRecognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchNISTRecognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/SphinxShell.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/endpoint/Segmenter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/feature/FeatureFileDumper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/live/LiveModeRecognizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/BaumWelchLearner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/BuildTranscriptHMM.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/ControlFile.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Edge.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/FlatInitializerLearner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Graph.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Learner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Node.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/NodeType.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleControlFile.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleTrainManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleTranscript.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleUtterance.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Stage.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Trainer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerDictionary.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerLink.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerToken.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Transcript.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TranscriptGraph.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TranscriptHMMGraph.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Utterance.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/UtteranceGraph.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/UtteranceHMMGraph.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchFile.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchItem.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Cache.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CommandInterface.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CommandInterpreter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Complex.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CustomThreadFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/ExtendedStreamTokenizer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/FileReferenceSource.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/GapInsertionDetector.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/LogMath.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/MatrixUtils.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/NISTAlign.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/PooledBatchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Range.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/ReferenceSource.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SimpleBatchManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SocketCommandClient.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SocketCommandInterpreter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SphinxHelp.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SphinxLogFormatter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/StatisticsVariable.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/StreamFactory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/TimeFrame.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Timer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/TimerPool.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Utilities.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/machlearn/OVector.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfCategory.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigHandler.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/Configurable.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurableAdapter.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationChangeListener.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationManager.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationManagerUtils.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/InternalConfigurationException.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertyException.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertySheet.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertyType.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/RawPropertyData.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Boolean.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Component.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4ComponentList.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Double.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Integer.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4PropWrapper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Property.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4String.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4StringList.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/SaxLoader.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/tools/GDLDumper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/tools/HTMLDumper.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/pruner/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/scorer/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/search/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/databranch/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/FrontEndConfiguration.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/FrontEndFAQ.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/frontend.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/NonSpeechDataFilter.gif create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/NonSpeechDataFilter.sxd create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/one-region-filtered.gif create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/one-region.gif create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions-merge.gif create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions-nonmerge.gif create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions.gif create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/deltas.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/deltas.sxd create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/feature.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/feature.sxd create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/filter/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilter.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilter.sxd create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilterbank.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilterbank.sxd create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/doc-files/139o.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/doc-files/139ospectrum.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/util/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/framing.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/framing.sxd create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/hamming-window.gif create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/openfst/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/operations/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/semiring/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/utils/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/Instrumentation.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/gdl_config.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/lingustDump.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/silent.config.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/jsgf/doc-files/commandGrammar.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/jsgf/doc-files/helloWorld.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/tiedstate/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/trivial/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/dictionary/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/flat/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/g2p/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/grammar/doc-files/fst-end-node.jpg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/grammar/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/ngram/large/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/ngram/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/lextree/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/util/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/recognizer/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/result/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/doc-files/HowToRunAudioTool.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/doc-files/audiotool.gif create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/batch/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/feature/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/live/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/trainer/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/machlearn/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/props/doc-files/ConfigurationManagement.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/props/package.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/index.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/overview.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/nums_cart.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/prefix_fsm.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/suffix_fsm.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/api/default.config.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/jsgf/parser/jsgf.jj create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/linguist/language/ngram/alphabet.arpaformat create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/speakerid/frontend.config.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/audio/spectrogram.config.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/endpoint/frontend.config.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/feature/frontend.config.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/SpeechAlignerTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/TextAlignerLargeTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/TextAlignerSmallTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/UsEnglishWordExpanderTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/api/LiveRecognizerTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/decoder/scorer/ScorerTests.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/decoder/search/test/PartitionerTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/AudioDataSourcesTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/DataBlockerTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/FrontendElementTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/RandomDataProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/RandomSampleRepeater.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/SpeechMarkerTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ArcSortTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ComposeEpsilonTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ComposeTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ConnectTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/DeterminizeTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ImportTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/NShortestPathsTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ProjectTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ReverseTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/RmEpsilonTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/WordSequenceTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/test/MixtureComponentTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/dictionary/DictionaryTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammarTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/ngram/DynamicTrigramModelTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeNgramTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/LatticeCompTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/LatticeIOTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/PosteriorTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/tools/bandwidth/BandDetectorTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/AnotherDummyFrontEnd.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/AnotherDummyProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/CMUTests.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ComponentListTests.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ComponentPropertyTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ConfigurationManagerTest.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyComp.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyFrontEnd.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyFrontEndProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyProcessor.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/TestConfigurable.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/alignment/transcription-small.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-cmn.dump create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-dct.dump create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-feature.dump create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-fft.dump create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-mel.dump create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-preemp.dump create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-window.dump.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/frontend.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test-feat.wav create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.aiff create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.au create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.ogg create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.wav create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test8k.wav create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst.ser create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.states.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/A.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/B.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.states.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/fstconnect.fst.ser create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/fstdeterminize.fst.ser create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.states.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/fstreverse.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/fstreverse.fst.ser create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/rmepsilon/A.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/rmepsilon/fstrmepsilon.fst.ser create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.states.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst.ser create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.input.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.output.syms create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/digits.grxml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/input.txt create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/jsgftest.config.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/polite.gram create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/test.gram create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/dictionary/bad.dict create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammarTest.utts create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.dic create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.gram create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/ngram/large/100.arpa.dmp create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/ngram/large/100.dict create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/correct.slf create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/green.wav create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/hellongram.trigram.lm create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803-8khz.wav create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.sxl create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.testconfig.sxl create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/pom.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us.lm.dmp.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/README create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/feat.params create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/feature_transform create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/mdef.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/means.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/mixture_weights create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/noisedict create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/transition_matrices create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/variances.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/README create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/feat.params create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/mdef.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/means create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/mixture_weights.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/noisedict create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/sendump.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/transition_matrices create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/variances create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/pom.xml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/DemoRunner.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/aligner/AlignerDemo.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/allphone/AllphoneDemo.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/dialog/DialogDemo.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/speakerid/SpeakerIdentificationDemo.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/transcriber/TranscriberDemo.java create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/aligner/10001-90210-01803.wav create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/aligner/README.html create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/dialog.gram create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/digits.grxml create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/weather.lm.REMOVED.git-id create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/weather.samples create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/speakerid/test.wav create mode 100644 lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/transcriber/README.html create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4.config.xml create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.batch create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.bigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.bigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.flat_unigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.flat_unigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.trigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.trigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.unigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.unigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.wordlist create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.trigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.trigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.wordlist create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_short_words.list create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelled_out.wordlist create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.alphalist create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.batch create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.bigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.bigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.flat_unigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.flat_unigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.trigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.trigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.unigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.unigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.wordlist create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling_journey.trigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling_journey.trigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.batch create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.fst.prunedloops create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.flat_unigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.flat_unigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.trigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.trigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.unigram.fst create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.unigram.lm create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.wordlist create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words_rejection.batch create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words_trigram.config.xml create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/build.xml create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/an4/run_an4_tests create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/build.xml create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/voxforge.config.xml create mode 100644 lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/voxforge_en_test.batch create mode 100644 lib/sphinx4-5prealpha-src/tests/trainer/build.xml create mode 100644 lib/sphinx4-5prealpha-src/tests/trainer/phonelist create mode 100644 lib/sphinx4-5prealpha-src/tests/trainer/trainer.xml create mode 100644 resource/bots/hal/aiml/oob.aiml create mode 100644 resource/bots/hal/config/properties.txt create mode 100644 src/se/koc/hal/stt/GoogleSTTClient.java create mode 100644 src/se/koc/hal/stt/ManualSTTClient.java create mode 100644 src/se/koc/hal/stt/Sphinx4STTClient.java create mode 100644 src/se/koc/hal/tts/GoogleTTSClient.java create mode 100644 src/se/koc/hal/tts/MaryLocalTTSClient.java create mode 100644 src/se/koc/hal/tts/MaryRemoteTTSClient.java create mode 100644 test/se/koc/hal/test/GoogleTTSTest.java create mode 100644 test/se/koc/hal/test/JarvisRecognizerTest.java create mode 100644 test/se/koc/hal/test/JarvisSyntersizerTest.java create mode 100644 test/se/koc/hal/test/LiveSpeechRecognizerTest.java create mode 100644 test/se/koc/hal/test/MaryTTS.java create mode 100644 test/se/koc/hal/test/TranscriberDemo.java diff --git a/external/marytts-5.1.2/LICENSE.txt b/external/marytts-5.1.2/LICENSE.txt new file mode 100644 index 00000000..01dc74eb --- /dev/null +++ b/external/marytts-5.1.2/LICENSE.txt @@ -0,0 +1,74 @@ +MARY Software User Agreement +11 April 2011 + +MARY is licensed under the following terms. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, version 3 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this program. If not, see . + + + + +Applicable Licenses + +MARY is built upon a number of other open source technologies and products. +Here is a list of those products with links to their licenses. + +hts_engine: the HMM-based speech synthesis code in MARY TTS is based on HTS, ported to Java by DFKI. The original HTS can be obtained from +http://hts-engine.sourceforge.net/ -- it is released under the New and +Simplified BSD License. + +freetts: MARY uses code from FreeTTS (http://freetts.sf.net) for various +processing modules and as the source of one method for waveform synthesis. +FreeTTS is licensed under the (BSD-style) FreeTTS license, see +doc/licenses/freetts-license.txt. + +JTok: The JTok tokenizer from http://heartofgold.dfki.de is distributed +under the GNU Lesser General Public License, see http://www.gnu.org or +doc/licenses/LGPL.txt. + +jsresources.jar: A few utility classes from http://www.jsresources.org +are distributed under the terms of the jsresources license, see +doc/licenses/jsresources-license.txt. + +log4j: MARY uses log4j (http://logging.apache.org/log4j) as a logging +mechanism. log4j is distributed under the Apache Software License, see +http://www.apache.org or doc/licenses/apache-software-license.txt + +JUnit: For unit testing of the java source, mary uses JUnit +(http://junit.org). JUnit is licensed under the Common Public License, see +http://junit.org or doc/licenses/CPL.txt. + +java-diff: A java diff implementation from http://www.incava.org/projects/java-diff for input-output-comparisons in the +Mary Expert Interface. java-diff is licensed under the GNU Lesser General +Public License, see http://www.gnu.org or doc/licenses/LGPL.txt. + +fast-md5: A fast md5 checksum implementation from http://www.twmacinta.com/myjava/fast_md5.php +used for computing checksums after downloading voices. fast-md5 is licensed under +the GNU Lesser General Public License, see http://www.gnu.org or doc/licenses/LGPL.txt. + +JavaOpenAIR: MARY can optionally be used as an OpenAIR component, +building on the JavaOpenAIR reference implementation from +http://www.mindmakers.org, which is licensed under the +(BSD-style) JavaOpenAIR license, see doc/licenses/JavaOpenAIR-license.txt +(files concerned: JavaOpenAIR.jar) + +mwdumper: A tool for extracting sets of pages from a MediaWiki dump file. +mwdumper is MIT-style like licensed, see http://www.mediawiki.org/wiki/Mwdumper +and for the license http://en.wikipedia.org/wiki/MIT_License. +(files concerned: mwdumper-2008-04-13.jar) + + +sgt: The Scientific Graphics Toolkit (sgt) is provided by the NOAA/PMEL/EPIC group (see http://www.epic.noaa.gov/java/sgt/) under the BSD-style EPIC license, see doc/licenses/epic-license.txt. + +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS +AND CONDITIONS PRIOR TO USE OF THIS CONTENT. diff --git a/external/marytts-5.1.2/bin/marytts-client b/external/marytts-5.1.2/bin/marytts-client new file mode 100644 index 00000000..f20b9315 --- /dev/null +++ b/external/marytts-5.1.2/bin/marytts-client @@ -0,0 +1,10 @@ +#!/bin/bash +########################################################################## +# MARY TTS client +########################################################################## + +# Set the Mary base installation directory in an environment variable: +BINDIR="`dirname "$0"`" +export MARY_BASE="`(cd "$BINDIR"/.. ; pwd)`" + +java -showversion -ea -Dserver.host=localhost -Dserver.port=59125 -jar "$MARY_BASE/lib/marytts-client-5.1.2-jar-with-dependencies.jar" diff --git a/external/marytts-5.1.2/bin/marytts-client.bat b/external/marytts-5.1.2/bin/marytts-client.bat new file mode 100644 index 00000000..4a231d9f --- /dev/null +++ b/external/marytts-5.1.2/bin/marytts-client.bat @@ -0,0 +1,10 @@ +@echo off +set BINDIR=%~dp0 +call :RESOLVE "%BINDIR%\.." MARY_BASE + +java -showversion -ea -Dserver.host=localhost -Dserver.port=59125 -jar "%MARY_BASE%\lib\marytts-client-5.1.2-jar-with-dependencies.jar" +goto :EOF + +:RESOLVE +set %2=%~f1 +goto :EOF diff --git a/external/marytts-5.1.2/bin/marytts-component-installer b/external/marytts-5.1.2/bin/marytts-component-installer new file mode 100644 index 00000000..44cea75d --- /dev/null +++ b/external/marytts-5.1.2/bin/marytts-component-installer @@ -0,0 +1,5 @@ +#!/bin/sh +BINDIR="`dirname "$0"`" +export MARY_BASE="`(cd "$BINDIR"/.. ; pwd)`" +java -showversion -ea -Dmary.base="$MARY_BASE" $* -cp "$MARY_BASE/lib/*" marytts.tools.install.InstallerGUI + diff --git a/external/marytts-5.1.2/bin/marytts-component-installer.bat b/external/marytts-5.1.2/bin/marytts-component-installer.bat new file mode 100644 index 00000000..8f4ff657 --- /dev/null +++ b/external/marytts-5.1.2/bin/marytts-component-installer.bat @@ -0,0 +1,9 @@ +@echo off +set BINDIR=%~dp0 +call :RESOLVE "%BINDIR%\.." MARY_BASE +java -showversion -ea -Dmary.base="%MARY_BASE%" -cp ".;%MARY_BASE%\lib\*" marytts.tools.install.InstallerGUI +goto :EOF + +:RESOLVE +set %2=%~f1 +goto :EOF diff --git a/external/marytts-5.1.2/bin/marytts-server b/external/marytts-5.1.2/bin/marytts-server new file mode 100644 index 00000000..be3c0939 --- /dev/null +++ b/external/marytts-5.1.2/bin/marytts-server @@ -0,0 +1,11 @@ +#!/bin/bash +########################################################################## +# MARY TTS server +########################################################################## + +# Set the Mary base installation directory in an environment variable: +BINDIR="`dirname "$0"`" +export MARY_BASE="`(cd "$BINDIR"/.. ; pwd)`" + + +java -showversion -ea -Xms40m -Xmx1g -cp "$MARY_BASE/lib/*" -Dmary.base="$MARY_BASE" $* marytts.server.Mary diff --git a/external/marytts-5.1.2/bin/marytts-server.bat b/external/marytts-5.1.2/bin/marytts-server.bat new file mode 100644 index 00000000..f3cc2dad --- /dev/null +++ b/external/marytts-5.1.2/bin/marytts-server.bat @@ -0,0 +1,14 @@ +@echo off + +rem Set the Mary base installation directory in an environment variable: +set BINDIR=%~dp0 + +call :RESOLVE "%BINDIR%\.." MARY_BASE + +set CLASSPATH=".;%MARY_BASE%\lib\*" +java -showversion -ea -Xms40m -Xmx1g -cp %CLASSPATH% "-Dmary.base=%MARY_BASE%" marytts.server.Mary +goto :EOF + +:RESOLVE +set %2=%~f1 +goto :EOF diff --git a/external/marytts-5.1.2/doc/examples/client/MaryClient.py b/external/marytts-5.1.2/doc/examples/client/MaryClient.py new file mode 100644 index 00000000..46569873 --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/MaryClient.py @@ -0,0 +1,367 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +import socket, sys, types, getopt + + +languageNames = {'de':'German', + 'en':'English', + 'en_US':'US English', + 'tib':'Tibetan'} + +class MaryClient: + specificationVersion = "0.1" + + """Python implementation of a MARY TTS client""" + def __init__( self, host="cling.dfki.uni-sb.de", port=59125, profile=False, quiet=False ): + self.host = host + self.port = port + self.profile = profile + self.quiet = quiet + self.allVoices = None # array of Voice objects + self.voicesByLocaleMap = {} # Map locale strings to arrays of Voice objects + self.allDataTypes = None # array of DataType objects + self.inputDataTypes = None # array of DataType objects + self.outputDataTypes = None # array of DataType objects + self.serverExampleTexts = {} + self.voiceExampleTexts = {} + self.serverVersionInfo = u'' + + if not self.quiet: + sys.stderr.write( "MARY TTS Python Client %s\n" % ( self.specificationVersion ) ) + try: + info = self.getServerVersionInfo() + except: + sys.stderr.write( "Problem connecting to mary server at %s:%i\n" % ( self.host, self.port ) ) + raise + sys.stderr.write( "Connected to %s:%i, " % ( self.host, self.port ) ) + sys.stderr.write( info ) + sys.stderr.write( '\n' ) + + def __getServerInfo( self, request="", marySocket=None ): + """Get answer to request from mary server. Returns a list of unicode strings, + each representing a line without the line break. + """ + closeSocket = False + if marySocket is None: + closeSocket = True + marySocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) + marySocket.connect( ( self.host, self.port ) ) + assert isinstance(marySocket, socket.SocketType) + maryFile = marySocket.makefile( 'rwb', 1 ) # read-write, line-buffered + maryFile.write( unicode( request+"\n" ).encode( 'utf-8' ) ) + result = [] + while True: + got = unicode( maryFile.readline().strip(), 'utf-8' ) + # read until end of file or an empty line is read: + if not got: break + result.append(got) + if closeSocket: + marySocket.close() + return result + + def getServerVersionInfo( self ): + "Get version info from server. Returns a unicode string" + if self.serverVersionInfo == u'': + # need to get it from server + self.serverVersionInfo = u'\n'.join(self.__getServerInfo("MARY VERSION")) + return self.serverVersionInfo + + def getAllDataTypes(self, locale=None): + """Obtain a list of all data types known to the server. If the information is not + yet available, the server is queried. This is optional information + which is not required for the normal operation of the client, but + may help to avoid incompatibilities. + Returns an array of DataType objects + """ + if self.allDataTypes is None: + self.__fillDataTypes() + assert self.allDataTypes is not None and len( self.allDataTypes ) > 0 + if locale is None: + return self.allDataTypes + else: + assert isinstance(locale, types.UnicodeType), "Unexpected type for locale: '%s'" % (type(locale)) + return [d for d in self.allDataTypes if d.locale is None or d.locale == locale] + + def getInputDataTypes(self,locale=None): + """Obtain a list of input data types known to the server. If the information is not + yet available, the server is queried. This is optional information + which is not required for the normal operation of the client, but + may help to avoid incompatibilities. + Returns an arry of DataType objects + """ + if self.inputDataTypes is None: + self.__fillDataTypes() + assert self.inputDataTypes is not None and len( self.inputDataTypes ) > 0 + if locale is None: + return self.inputDataTypes + else: + assert isinstance(locale, types.UnicodeType), "Unexpected type for locale: '%s'" % (type(locale)) + return [d for d in self.inputDataTypes if d.locale is None or d.locale == locale] + + def getOutputDataTypes(self, locale=None): + """Obtain a list of output data types known to the server. If the information is not + yet available, the server is queried. This is optional information + which is not required for the normal operation of the client, but + may help to avoid incompatibilities. + Returns an arry of DataType objects + """ + if self.outputDataTypes is None: + self.__fillDataTypes() + assert self.outputDataTypes is not None and len( self.outputDataTypes ) > 0 + if locale is None: + return self.outputDataTypes + else: + assert isinstance(locale, types.UnicodeType), "Unexpected type for locale: '%s'" % (type(locale)) + return [d for d in self.outputDataTypes if d.locale is None or d.locale == locale] + + + def __fillDataTypes( self ): + self.allDataTypes = [] + self.inputDataTypes = [] + self.outputDataTypes = [] + marySocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) + marySocket.connect( ( self.host, self.port ) ) + # Expect a variable number of lines of the kind + # RAWMARYXML INPUT OUTPUT + # TEXT_DE LOCALE=de INPUT + # AUDIO OUTPUT + typeStrings = self.__getServerInfo( "MARY LIST DATATYPES", marySocket ) + if not typeStrings or len(typeStrings) == 0: + raise IOError( "Could not get list of data types from Mary server" ) + marySocket.close() + for typeString in typeStrings: + parts = typeString.split() + if len( parts ) == 0: + continue + name = parts[0] + isInputType = False + isOutputType = False + locale = None + for part in parts[1:]: + if part[:7] == "LOCALE=": + locale = part[7:] + elif part == "INPUT": + isInputType = True + elif part == "OUTPUT": + isOutputType = True + dt = DataType( name, locale, isInputType, isOutputType ) + self.allDataTypes.append( dt ) + if dt.isInputType: + self.inputDataTypes.append( dt ) + if dt.isOutputType: + self.outputDataTypes.append( dt ) + + def getVoices( self, locale=None ): + """Obtain a list of voices known to the server. If the information is not + yet available, the server is queried. This is optional information + which is not required for the normal operation of the client, but + may help to avoid incompatibilities. + Returns an array of Voice objects + """ + if self.allVoices is None: + self.__fillVoices() + assert self.allVoices is not None and len( self.allVoices ) > 0 + if locale is None: + return self.allVoices + else: + assert isinstance(locale, types.UnicodeType), "Unexpected type for locale: '%s'" % (type(locale)) + if self.voicesByLocaleMap.has_key(locale): + return self.voicesByLocaleMap[locale] + else: + raise Exception("No voices for locale '%s'" % (locale)) + + def __fillVoices( self ): + self.allVoices = [] + self.voicesByLocaleMap = {} + marySocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) + marySocket.connect( ( self.host, self.port ) ) + # Expect a variable number of lines of the kind + # de7 de female + # us2 en male + # dfki-stadium-emo de male limited + voiceStrings = self.__getServerInfo( "MARY LIST VOICES", marySocket ) + if not voiceStrings or len(voiceStrings) == 0: + raise IOError( "Could not get list of voices from Mary server" ) + marySocket.close() + for voiceString in voiceStrings: + parts = voiceString.split() + if len( parts ) < 3: + continue + name = parts[0] + locale = parts[1] + gender = parts[2] + domain = None + if len( parts ) > 3: + domain = parts[3] + voice = Voice( name, locale, gender, domain ) + self.allVoices.append( voice ) + localeVoices = None + if self.voicesByLocaleMap.has_key( locale ): + localeVoices = self.voicesByLocaleMap[locale] + else: + localeVoices = [] + self.voicesByLocaleMap[locale] = localeVoices + localeVoices.append( voice ) + + def getGeneralDomainVoices( self, locale=None ): + """Obtain a list of general domain voices known to the server. If the information is not + yet available, the server is queried. This is optional information + which is not required for the normal operation of the client, but + may help to avoid incompatibilities. + Returns an array of Voice objects + """ + return [v for v in self.getVoices( locale ) if not v.isLimitedDomain] + + def getLimitedDomainVoices( self, locale=None ): + """Obtain a list of limited domain voices known to the server. If the information is not + yet available, the server is queried. This is optional information + which is not required for the normal operation of the client, but + may help to avoid incompatibilities. + Returns an array of Voice objects + """ + return [v for v in self.getVoices( locale ) if v.isLimitedDomain] + + def getAvailableLanguages(self): + """ Check available voices and return a list of tuples (abbrev, name) + representing the available languages -- e.g. [('en', 'English'),('de', 'German')]. + """ + if self.allVoices is None: + self.__fillVoices() + assert self.allVoices is not None and len( self.allVoices ) > 0 + languages = [] + for l in self.voicesByLocaleMap.keys(): + if languageNames.has_key(l): + languages.append((l,languageNames[l])) + else: + languages.append((l, l)) + return languages + + def getServerExampleText( self, dataType ): + """Request an example text for a given data type from the server. + dataType the string representation of the data type, + e.g. "RAWMARYXML". This is optional information + which is not required for the normal operation of the client, but + may help to avoid incompatibilities.""" + if not self.serverExampleTexts.has_key( dataType ): + exampleTexts = self.__getServerInfo( "MARY EXAMPLETEXT %s" % ( dataType ) ) + if not exampleTexts or len(exampleTexts) == 0: + raise IOError( "Could not get example text for type '%s' from Mary server" % (dataType)) + exampleText = u'\n'.join(exampleTexts) + self.serverExampleTexts[dataType] = exampleText + return self.serverExampleTexts[dataType] + + def process( self, input, inputType, outputType, audioType=None, defaultVoiceName=None, output=sys.stdout ): + assert type( input ) in types.StringTypes + assert type( inputType ) in types.StringTypes + assert type( outputType ) in types.StringTypes + assert audioType is None or type( audioType ) in types.StringTypes + assert defaultVoiceName is None or type( defaultVoiceName ) in types.StringTypes + assert callable( getattr( output, 'write' ) ) + if type( input ) != types.UnicodeType: + input = unicode( input, 'utf-8' ) + maryInfoSocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) + maryInfoSocket.connect( ( self.host, self.port ) ) + assert type( maryInfoSocket ) is socket.SocketType + maryInfo = maryInfoSocket.makefile( 'rwb', 1 ) # read-write, line-buffered + maryInfo.write( unicode( "MARY IN=%s OUT=%s" % ( inputType, outputType ), 'utf-8' ) ) + if audioType: + maryInfo.write( unicode( " AUDIO=%s" % ( audioType ), 'utf-8' ) ) + if defaultVoiceName: + maryInfo.write( unicode( " VOICE=%s" % ( defaultVoiceName ), 'utf-8' ) ) + maryInfo.write( "\r\n" ) + # Receive a request ID: + id = maryInfo.readline() + maryDataSocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) + maryDataSocket.connect( ( self.host, self.port ) ) + assert type( maryDataSocket ) is socket.SocketType + maryDataSocket.sendall( id ) # includes newline + maryDataSocket.sendall( input.encode( 'utf-8' ) ) + maryDataSocket.shutdown( 1 ) # shutdown writing + # Set mary info socket to non-blocking, so we only read somthing + # if there is something to read: + maryInfoSocket.setblocking( 0 ) + while True: + try: + err = maryInfoSocket.recv( 8192 ) + if err: sys.stderr.write( err ) + except: + pass + got = maryDataSocket.recv( 8192 ) + if not got: break + output.write( got ) + maryInfoSocket.setblocking( 1 ) + while True: + err = maryInfoSocket.recv( 8192 ) + if not err: break + sys.stderr.write( err ) + + + +################ data representation classes ################## + +class DataType: + def __init__( self, name, locale=None, isInputType=False, isOutputType=False ): + self.name = name + self.locale = locale + self.isInputType = isInputType + self.isOutputType = isOutputType + + def isTextType( self ): + return self.name != "AUDIO" + +class Voice: + + def __init__( self, name, locale, gender, domain="general" ): + self.name = name + self.locale = locale + self.gender = gender + self.domain = domain + if not domain or domain == "general": + self.isLimitedDomain = False + else: + self.isLimitedDomain = True + + def __str__(self): + if languageNames.has_key(self.locale): + langName = languageNames[self.locale] + else: + langName = self.locale + if self.isLimitedDomain: + return "%s (%s, %s %s)" % (self.name, self.domain, langName, self.gender) + else: + return "%s (%s %s)" % (self.name, langName, self.gender) + +##################### Main ######################### + +if __name__ == '__main__': + + serverHost = "cling.dfki.uni-sb.de" + serverPort = 59125 + inputType = "TEXT" + outputType = "AUDIO" + audioType = "WAVE" + defaultVoice = None + inputEncoding = 'utf-8' + ( options, rest ) = getopt.getopt( sys.argv[1:], '', \ + ['server.host=', 'server.port=', 'input.type=', 'output.type=', \ + 'audio.type=', 'voice.default=', 'input.encoding='] ) + for ( option, value ) in options: + if option == '--server.host': serverHost = value + elif option == '--server.port': serverPort = int( value ) + elif option == '--input.type': inputType = value + elif option == '--output.type': outputType = value + elif option == '--audio.type': audioType = value + elif option == '--voice.default': defaultVoice = value + elif option == '--input.encoding': inputEncoding = value + if len( rest )>0: # have input file + inputFile = file( rest[0] ) + else: + inputFile = sys.stdin + input = unicode( ''.join( inputFile.readlines() ), inputEncoding ) + if len( rest )>1: # also have output file + outputFile = file( rest[1] ) + else: + outputFile = sys.stdout + + maryClient = MaryClient( serverHost, serverPort ) + maryClient.process( input, inputType, outputType, audioType, defaultVoice, outputFile ) diff --git a/external/marytts-5.1.2/doc/examples/client/MaryClientUser.java b/external/marytts-5.1.2/doc/examples/client/MaryClientUser.java new file mode 100644 index 00000000..a05246cc --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/MaryClientUser.java @@ -0,0 +1,102 @@ +/** + * Copyright 2000-2006 DFKI GmbH. + * All Rights Reserved. Use is subject to license terms. + * + * Permission is hereby granted, free of charge, to use and distribute + * this software and its documentation without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of this work, and to + * permit persons to whom this work is furnished to do so, subject to + * the following conditions: + * + * 1. The code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * 2. Any modifications must be clearly marked as such. + * 3. Original authors' names are not deleted. + * 4. The authors' names are not used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * DFKI GMBH AND THE CONTRIBUTORS TO THIS WORK DISCLAIM ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DFKI GMBH NOR THE + * CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + * THIS SOFTWARE. + */ + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Locale; + +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.LineEvent; +import javax.sound.sampled.LineListener; +import javax.sound.sampled.UnsupportedAudioFileException; + +import marytts.util.data.audio.AudioPlayer; +import marytts.client.MaryClient; +import marytts.util.http.Address; + +/** + * A demo class illustrating how to use the MaryClient class. + * This will connect to a MARY server, version 4.x. + * It requires maryclient.jar from MARY 4.0. + * This works transparently with MARY servers in both http and socket server mode. + * + * Compile this as follows: + * javac -cp maryclient.jar MaryClientUser.java + * + * And run as: + * java -cp .:maryclient.jar MaryClientUser + * + * @author marc + * + */ + +public class MaryClientUser { + + public static void main(String[] args) + throws IOException, UnknownHostException, UnsupportedAudioFileException, + InterruptedException + { + String serverHost = System.getProperty("server.host", "cling.dfki.uni-sb.de"); + int serverPort = Integer.getInteger("server.port", 59125).intValue(); + MaryClient mary = MaryClient.getMaryClient(new Address(serverHost, serverPort)); + String text = "Willkommen in der Welt der Sprachsynthese!"; + // If the given locale is not supported by the server, it returns + // an ambigous exception: "Problem processing the data." + String locale = "de"; // or US English (en-US), Telugu (te), Turkish (tr), ... + String inputType = "TEXT"; + String outputType = "AUDIO"; + String audioType = "WAVE"; + String defaultVoiceName = null; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + mary.process(text, inputType, outputType, locale, audioType, defaultVoiceName, baos); + // The byte array constitutes a full wave file, including the headers. + // And now, play the audio data: + AudioInputStream ais = AudioSystem.getAudioInputStream( + new ByteArrayInputStream(baos.toByteArray())); + LineListener lineListener = new LineListener() { + public void update(LineEvent event) { + if (event.getType() == LineEvent.Type.START) { + System.err.println("Audio started playing."); + } else if (event.getType() == LineEvent.Type.STOP) { + System.err.println("Audio stopped playing."); + } else if (event.getType() == LineEvent.Type.OPEN) { + System.err.println("Audio line opened."); + } else if (event.getType() == LineEvent.Type.CLOSE) { + System.err.println("Audio line closed."); + } + } + }; + + AudioPlayer ap = new AudioPlayer(ais, lineListener); + ap.start(); + } +} diff --git a/external/marytts-5.1.2/doc/examples/client/c++/Makefile b/external/marytts-5.1.2/doc/examples/client/c++/Makefile new file mode 100644 index 00000000..a609beda --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/c++/Makefile @@ -0,0 +1,45 @@ +########################################################################## +# Copyright (C) 2000-2006 DFKI GmbH. +# All rights reserved. Use is subject to license terms. +# +# Permission is hereby granted, free of charge, to use and distribute +# this software and its documentation without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of this work, and to +# permit persons to whom this work is furnished to do so, subject to +# the following conditions: +# +# 1. The code must retain the above copyright notice, this list of +# conditions and the following disclaimer. +# 2. Any modifications must be clearly marked as such. +# 3. Original authors' names are not deleted. +# 4. The authors' names are not used to endorse or promote products +# derived from this software without specific prior written +# permission. +# +# DFKI GMBH AND THE CONTRIBUTORS TO THIS WORK DISCLAIM ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DFKI GMBH NOR THE +# CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +# PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +# THIS SOFTWARE. +########################################################################## + +CC=g++ +CFLAGS=-Wall -w -O3 -g +ICUDIR=/usr/local/icu +ICULIBS=-Wl,-R,$(ICUDIR)/lib -L$(ICUDIR)/lib -licuuc -licui18n -ldl + +all: MaryDemo + +MaryDemo: MaryClient.o MaryDemo.o + $(CC) $(CFLAGS) *.o -o MaryDemo $(LIBS) + +%.o: %.cc + $(CC) $(CFLAGS) $(RFLAGS) -o $@ -c $< + +clean: + rm -rf *.o ./MaryDemo + diff --git a/external/marytts-5.1.2/doc/examples/client/c++/MaryClient.cc b/external/marytts-5.1.2/doc/examples/client/c++/MaryClient.cc new file mode 100644 index 00000000..7e920d95 --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/c++/MaryClient.cc @@ -0,0 +1,277 @@ +/** + * Copyright 2000-2006 DFKI GmbH. + * All Rights Reserved. Use is subject to license terms. + * + * Permission is hereby granted, free of charge, to use and distribute + * this software and its documentation without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of this work, and to + * permit persons to whom this work is furnished to do so, subject to + * the following conditions: + * + * 1. The code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * 2. Any modifications must be clearly marked as such. + * 3. Original authors' names are not deleted. + * 4. The authors' names are not used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * DFKI GMBH AND THE CONTRIBUTORS TO THIS WORK DISCLAIM ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DFKI GMBH NOR THE + * CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + * THIS SOFTWARE. + */ +#include +#include +#include +#include + +#include "MaryClient.h" + +using namespace std; + +/** + * A C++ implementation of a simple client to the MARY TTS system. + * result: an empty string serving as the container for the output. + * It will return text or audio data; text data will be encoded as UTF-8. + * inputText: the UTF-8 encoded text (or XML document) to send as a request + * maryInFormat: the input type of the data in inputText, e.g. TEXT + * maryOutFormat: the output type to produce, e.g. MBROLA, AUDIO + * locale: the language of the input, e.g. EN-US, DE + * audioType: for AUDIO output, the type of audio data to produce, + * e.g. WAVE or MP3. + * voice: the voice to be used, e.g. cmu-slt-hsmm, bits3. + * effects: the list of effects to be generated. + * return value: 0 on success, negative on failure. + */ +int +MaryClient::maryQuery( int server_port, + string server_host, + string& result, + string inputText, + string maryInFormat, + string maryOutFormat, + string locale, + string audioType, + string voice, + string effects ) { + + // prepare the request + string query = "MARY"; + query += " IN=" + maryInFormat; + query += " OUT=" + maryOutFormat; + query += " LOCALE=" + locale; // remove this line, if using an older version than MARY 4.0 + query += " AUDIO=" + audioType; + query += " VOICE=" + voice; + if (effects != "") { + query += " EFFECTS=" + effects; + } + query += "\012\015"; + + //cout << "Constructed query: " << query << endl; + + // declare connection stuff + struct sockaddr_in maryServer; + struct sockaddr_in maryClient; + struct hostent* hostInfo; + + // declare variables + int maryInfoSocket; + int maryDataSocket; + + // set configuration parameters + + // get host information + hostInfo = gethostbyname (server_host.c_str()); + + if (hostInfo == NULL) + { + return -2; + } + + + // create a tcp connection to the mary server + maryInfoSocket = socket (AF_INET, SOCK_STREAM, 0); + + // verify that the socket could be opened successfully + if (maryInfoSocket == -1) + { + return -2; + } + else + // autoflush stdout, bind and connect + { + maryClient.sin_family = AF_INET; + maryClient.sin_port = htons (0); + maryClient.sin_addr.s_addr = INADDR_ANY; + + int status = bind (maryInfoSocket, (struct sockaddr*) &maryClient, sizeof (maryClient)); + + if (status != 0) + { + return -2; + } + + maryServer.sin_family = AF_INET; + maryServer.sin_port = htons (server_port); + memcpy ((char*) &maryServer.sin_addr.s_addr, hostInfo->h_addr_list [0], hostInfo->h_length); + + status = connect (maryInfoSocket, (struct sockaddr*) &maryServer, sizeof (maryServer)); + + if (status != 0) + { + return -2; + } + } + + // send request to the Mary server + if (send (maryInfoSocket, query.c_str (), query.size (), 0) == -1) + { + return -2; + } + + + // receive the request id + char id [32] = ""; + + if (recv (maryInfoSocket, id, 32, 0) == -1) + { + return -2; + } + + //cout << "Read id: " << id << endl; + + // create a tcp connection to the mary server + maryDataSocket = socket (AF_INET, SOCK_STREAM, 0); + + // verify that the socket could be opened successfully + if (maryDataSocket == -1) + { + return -2; + } + else + // autoflush stdout, bind and connect + { + maryClient.sin_family = AF_INET; + maryClient.sin_port = htons (0); + maryClient.sin_addr.s_addr = INADDR_ANY; + + int status = bind (maryDataSocket, (struct sockaddr*) &maryClient, sizeof (maryClient)); + + if (status != 0) + { + return -2; + } + + maryServer.sin_family = AF_INET; + maryServer.sin_port = htons (server_port); + memcpy ((char*) &maryServer.sin_addr.s_addr, hostInfo->h_addr_list [0], hostInfo->h_length); + + status = connect (maryDataSocket, (struct sockaddr*) &maryServer, sizeof (maryServer)); + + if (status != 0) + { + return -2; + } + } + + + // send the request id to the Mary server + if (send (maryDataSocket, id, strlen (id), 0) == -1) + { + return -2; + } + + //cout << "Sending request: " << inputText << endl; + + // send the query to the Mary server + if (send (maryDataSocket, inputText.c_str (), inputText.size (), 0) == -1) + { + return -2; + } + + if (send (maryDataSocket, "\012\015", 2, 0) == -1) + { + return -2; + } + + + // shutdown data socket + shutdown (maryDataSocket, 1); + + + //cout << "Reading result" << endl; + + unsigned int total_bytes = 0; + int recv_bytes = 0; + char data [1024] = ""; + + result [0] = '\0'; + + // receive the request result + do + { + data [0] = '\0'; + + recv_bytes = recv (maryDataSocket, data, 1024, 0); + + if (recv_bytes == -1) + { + return -2; + } + else if (recv_bytes > 0) + { + //cout << "("</libwsock32.a +#include +#else +#include +#endif + +#include +#include +#include + +#include "MaryClient.h" + +using namespace std; + +/** + * A C++ implementation of a simple client to the MARY TTS system. + * result: an empty string serving as the container for the output. + * It will return text or audio data; text data will be encoded as UTF-8. + * inputText: the UTF-8 encoded text (or XML document) to send as a request + * maryInFormat: the input type of the data in inputText, e.g. TEXT + * maryOutFormat: the output type to produce, e.g. MBROLA, AUDIO + * locale: the language of the input, e.g. EN-US, DE + * audioType: for AUDIO output, the type of audio data to produce, + * e.g. WAVE or MP3. + * voice: the voice to be used, e.g. cmu-slt-hsmm, bits3. + * effects: the list of effects to be generated. + * return value: 0 on success, negative on failure. + */ +int +MaryClient::maryQuery( int server_port, + string server_host, + string& result, + string inputText, + string maryInFormat, + string maryOutFormat, + string locale, + string audioType, + string voice, + string effects ) { + + // prepare the request + string query = "MARY"; + query += " IN=" + maryInFormat; + query += " OUT=" + maryOutFormat; + query += " LOCALE=" + locale; // remove this line, if using an older version than MARY 4.0 + query += " AUDIO=" + audioType; + query += " VOICE=" + voice; + if (effects != "") { + query += " EFFECTS=" + effects; + } + query += "\012\015"; + + //cout << "Constructed query: " << query << endl; + + // declare connection stuff + struct sockaddr_in maryServer; + struct sockaddr_in maryClient; + struct hostent* hostInfo; + + // declare variables + int maryInfoSocket; + int maryDataSocket; + + // set configuration parameters + + // get host information + hostInfo = gethostbyname (server_host.c_str()); + + if (hostInfo == NULL) + { + return -2; + } + + + // create a tcp connection to the mary server + maryInfoSocket = socket (AF_INET, SOCK_STREAM, 0); + + // verify that the socket could be opened successfully + if (maryInfoSocket == -1) + { + return -2; + } + else + // autoflush stdout, bind and connect + { + maryClient.sin_family = AF_INET; + maryClient.sin_port = htons (0); + maryClient.sin_addr.s_addr = INADDR_ANY; + + int status = bind (maryInfoSocket, (struct sockaddr*) &maryClient, sizeof (maryClient)); + + if (status != 0) + { + return -2; + } + + maryServer.sin_family = AF_INET; + maryServer.sin_port = htons (server_port); + memcpy ((char*) &maryServer.sin_addr.s_addr, hostInfo->h_addr_list [0], hostInfo->h_length); + + status = connect (maryInfoSocket, (struct sockaddr*) &maryServer, sizeof (maryServer)); + + if (status != 0) + { + return -2; + } + } + + // send request to the Mary server + if (send (maryInfoSocket, query.c_str (), query.size (), 0) == -1) + { + return -2; + } + + + // receive the request id + char id [32] = ""; + + if (recv (maryInfoSocket, id, 32, 0) == -1) + { + return -2; + } + + //cout << "Read id: " << id << endl; + + // create a tcp connection to the mary server + maryDataSocket = socket (AF_INET, SOCK_STREAM, 0); + + // verify that the socket could be opened successfully + if (maryDataSocket == -1) + { + return -2; + } + else + // autoflush stdout, bind and connect + { + maryClient.sin_family = AF_INET; + maryClient.sin_port = htons (0); + maryClient.sin_addr.s_addr = INADDR_ANY; + + int status = bind (maryDataSocket, (struct sockaddr*) &maryClient, sizeof (maryClient)); + + if (status != 0) + { + return -2; + } + + maryServer.sin_family = AF_INET; + maryServer.sin_port = htons (server_port); + memcpy ((char*) &maryServer.sin_addr.s_addr, hostInfo->h_addr_list [0], hostInfo->h_length); + + status = connect (maryDataSocket, (struct sockaddr*) &maryServer, sizeof (maryServer)); + + if (status != 0) + { + return -2; + } + } + + + // send the request id to the Mary server + if (send (maryDataSocket, id, strlen (id), 0) == -1) + { + return -2; + } + + //cout << "Sending request: " << inputText << endl; + + // send the query to the Mary server + if (send (maryDataSocket, inputText.c_str (), inputText.size (), 0) == -1) + { + return -2; + } + + if (send (maryDataSocket, "\012\015", 2, 0) == -1) + { + return -2; + } + + + // shutdown data socket + shutdown (maryDataSocket, 1); + + + //cout << "Reading result" << endl; + + unsigned int total_bytes = 0; + int recv_bytes = 0; + char data [1024] = ""; + + result [0] = '\0'; + + // receive the request result + do + { + data [0] = '\0'; + + recv_bytes = recv (maryDataSocket, data, 1024, 0); + + if (recv_bytes == -1) + { + return -2; + } + else if (recv_bytes > 0) + { + //cout << "("< +#include +#include + +#include "MaryClient.h" + +using namespace std; + +/** + * Demonstration code for using the MaryClient. + + Call this as: + * ./MaryDemo + * or + * ./MaryDemo > output.wav + */ +int main() { + int server_port = 59125; + string server_host = "localhost"; + string inputText = "Welcome to the world of speech synthesis!"; + string maryInFormat = "TEXT"; + string maryOutFormat = "AUDIO"; + //string maryOutFormat = "REALISED_DURATIONS"; + string locale = "en-US"; + string audioType = "WAV_FILE"; + string voice = "cmu-slt-hsmm"; + string effects; +// effects += "Volume(amount:5.0;)+"; +// effects += "TractScaler(amount:1.5;)+"; +// effects += "F0Scale(f0Scale:2.0;)+"; +// effects += "F0Add(f0Add:50.0;)+"; +// effects += "Rate(durScale:1.5;)+"; +// effects += "Robot(amount:100.0;)+"; +// effects += "Whisper(amount:100.0;)+"; +// effects += "Stadium(amount:100.0)+"; +// effects += "Chorus(delay1:466;amp1:0.54;delay2:600;amp2:-0.10;delay3:250;amp3:0.30)+"; +// effects += "FIRFilter(type:3;fc1:500.0;fc2:2000.0)+"; +// effects += "JetPilot"; + string result; + + MaryClient maryClient; + maryClient.maryQuery( server_port, server_host, result, inputText, maryInFormat, maryOutFormat, locale, audioType, voice, effects); + + if (maryOutFormat == "AUDIO") { + // write result into a file + const char *filename = "output.wav"; + ofstream file( filename ); + file << result; + + // play output + //system("play output.wav"); + } else { + cout << "RESULT: " << endl << result << endl; + } + + return 0; +} + diff --git a/external/marytts-5.1.2/doc/examples/client/c++/README.txt b/external/marytts-5.1.2/doc/examples/client/c++/README.txt new file mode 100644 index 00000000..e38af989 --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/c++/README.txt @@ -0,0 +1,4 @@ +Start MARY as a socket server: + +maryserver -Dserver=socket +(or change entry 'server' in conf/marybase.config) diff --git a/external/marytts-5.1.2/doc/examples/client/maryclient-http.py b/external/marytts-5.1.2/doc/examples/client/maryclient-http.py new file mode 100644 index 00000000..cf9782e8 --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/maryclient-http.py @@ -0,0 +1,185 @@ +#!/usr/bin/env python +import httplib, urllib + +# A basic mary client in Python, +# kindly donated to the MARY TTS project +# by Hugh Sasse. Thanks Hugh! + +# A very basic Python class for accessing +# the MARY TTS system using the modern +# HTTP server. +# Warning, this is probably ghastly Python, +# most of my time of late has been with +# other languages, so I'm not up to date +# with all the stylistic conventions of +# modern Python. +# This does seem to work OK though. + +class maryclient: + """A basic handler for MARY-TTS HTTP clients + + At present, there is no checking for + allowed voices, locales, and so on. + Most of the useful parameters can be + accessed by get_ and set_ methods. + Relying on winsound, this is Windows + specific. + """ + def __init__(self): + """Set up useful defaults (for + people in England, anyway)""" + self.host = "127.0.0.1" + self.port = 59125 + self.input_type = "TEXT" + self.output_type = "AUDIO" + self.audio = "WAVE_FILE" + self.locale = "en_GB" + self.voice = "dfki-prudence-hsmm" + + def set_host(self, a_host): + """Set the host for the TTS server.""" + self.host = a_host + + def get_host(self): + """Get the host for the TTS server.""" + self.host + + def set_port(self, a_port): + """Set the port for the TTS server.""" + self.port = a_port + + def get_port(self): + """Get the port for the TTS server.""" + self.port + + def set_input_type(self, type): + """Set the type of input being + supplied to the TTS server + (such as 'TEXT').""" + self.input_type = type + + def get_input_type(self): + """Get the type of input being + supplied to the TTS server + (such as 'TEXT').""" + self.input_type + + def set_output_type(self, type): + """Set the type of input being + supplied to the TTS server + (such as 'AUDIO').""" + self.output_type = type + + def get_output_type(self): + """Get the type of input being + supplied to the TTS server + (such as "AUDIO").""" + self.output_type + + def set_locale(self, a_locale): + """Set the locale + (such as "en_GB").""" + self.locale = a_locale + + def get_locale(self): + """Get the locale + (such as "en_GB").""" + self.locale + + def set_audio(self, audio_type): + """Set the audio type for playback + (such as "WAVE_FILE").""" + self.audio = audio_type + + def get_audio(self): + """Get the audio type for playback + (such as "WAVE_FILE").""" + self.audio + + def set_voice(self, a_voice): + """Set the voice to speak with + (such as "dfki-prudence-hsmm").""" + self.voice = a_voice + + def get_voice(self): + """Get the voice to speak with + (such as "dfki-prudence-hsmm").""" + self.voice + + def generate(self, message): + """Given a message in message, + return a response in the appropriate + format.""" + raw_params = {"INPUT_TEXT": message, + "INPUT_TYPE": self.input_type, + "OUTPUT_TYPE": self.output_type, + "LOCALE": self.locale, + "AUDIO": self.audio, + "VOICE": self.voice, + } + params = urllib.urlencode(raw_params) + headers = {} + + # Open connection to self.host, self.port. + conn = httplib.HTTPConnection(self.host, self.port) + + # conn.set_debuglevel(5) + + conn.request("POST", "/process", params, headers) + response = conn.getresponse() + if response.status != 200: + print response.getheaders() + raise RuntimeError("{0}: {1}".format(response.status, + response.reason)) + return response.read() + +# If this is invoked as a program, just give +# a greeting to show it is working. +# The platform specific code is moved to this +# part so that this file may be imported without +# bringing platform specific code in. +if __name__ == "__main__": + + # For handling command line arguments: + import sys + import platform + + # check we are on Windows: + system = platform.system().lower() + if (system == "windows"): + + import winsound + + class Player: + def __init__(self): + pass + + def play(self, a_sound): + winsound.PlaySound(a_sound, winsound.SND_MEMORY) + + #if ("cygwin" in system): + else: + # Not sure how to do audio on cygwin, + # portably for python. So have a sound + # player class that doesn't play sounds. + # A null object, if you like. + class Player: + def __init__(self): + pass + + def play(self, a_sound): + print("Here I would play a sound if I knew how") + pass + + # Probably want to parse arguments to + # set the voice, etc., here + + client = maryclient() + client.set_audio("WAVE_FILE") # for example + + player = Player() + the_sound = client.generate("hello from Mary Text to Speech, with Python.") + if client.output_type == "AUDIO": + player.play(the_sound) + +# vi:set sw=4 et: diff --git a/external/marytts-5.1.2/doc/examples/client/maryclient.cgi b/external/marytts-5.1.2/doc/examples/client/maryclient.cgi new file mode 100644 index 00000000..876a846e --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/maryclient.cgi @@ -0,0 +1,177 @@ +#!/usr/bin/perl -T +# -*- Mode: Perl -*- +# MARY Text-to-Speech System +# CGI Script implementing a simple mary client, +# can be used for web pages. +########################################################################## +# Copyright (C) 2000-2006 DFKI GmbH. +# All rights reserved. Use is subject to license terms. +# +# Permission is hereby granted, free of charge, to use and distribute +# this software and its documentation without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of this work, and to +# permit persons to whom this work is furnished to do so, subject to +# the following conditions: +# +# 1. The code must retain the above copyright notice, this list of +# conditions and the following disclaimer. +# 2. Any modifications must be clearly marked as such. +# 3. Original authors' names are not deleted. +# 4. The authors' names are not used to endorse or promote products +# derived from this software without specific prior written +# permission. +# +# DFKI GMBH AND THE CONTRIBUTORS TO THIS WORK DISCLAIM ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DFKI GMBH NOR THE +# CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +# PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +# THIS SOFTWARE. +########################################################################## +# Author: Marc Schroeder + +use strict; +use IO::Socket; +use CGI; + +# variables getting their values from form: +my ($inputtext, $in, $out, $audiotype, $voice); + +# little helpers: +my ($var, $tmp); + +# contacting the mary server: +my ($host, $port, $maryInfoSocket, $maryDataSocket, $id); + +# helping with audio output: +my ($save_to_disk, $audiosubtype, $filename); + + +my $cgi = new CGI; +my @param = $cgi->param(); +$inputtext = $cgi->param('inputtext'); +$in = $cgi->param('in'); +$out = $cgi->param('out'); +$audiotype = $cgi->param('audiotype'); +$save_to_disk = $cgi->param('save_to_disk'); +$voice = $cgi->param('voice'); + +my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); +$year += 1900; +printf STDERR "[%04i-%02i-%02i %02i:%02i:%02i] ", $year, $mon, $mday, $hour, $min, $sec; +print STDERR "Request from ",$cgi->remote_user(),"@",$cgi->remote_host(),": \n"; +print STDERR " in=",$in; +print STDERR " out=",$out; +print STDERR " audiotype=",$audiotype; +print STDERR " voice=",$voice; +print STDERR " save_to_disk=",$save_to_disk,"\n"; +print STDERR " inputtext: "; +print STDERR $inputtext,"\n"; + + +# Limit inputtext length to 5000 bytes: +if (length $inputtext > 5000) { + $inputtext = substr $inputtext, 0, 5000; +} + + +# set audio subtype +if ($out eq "AUDIO") { + if ($audiotype eq "AU") { + $audiosubtype = "basic"; + $filename = "mary.au"; + } elsif ($audiotype eq "AIFF") { + $audiosubtype = "x-aiff"; + $filename = "mary.aiff"; + } elsif ($audiotype eq "WAVE") { + $audiosubtype = "x-wav"; + $filename = "mary.wav"; + } elsif ($audiotype eq "MP3") { + $audiosubtype = "mp3"; + $filename = "mary.mp3"; + } else { + $audiosubtype = "x-wav"; + $filename = "mary.wav"; + } +} + +# announce data type on stdout +if ($save_to_disk) { + print "Content-Type: application/octet-stream"; +} else { + print "Content-Type: audio/$audiosubtype"; +} +print "\nContent-Disposition: filename=\"$filename\"\n\n"; + +# contact mary server +$host = "cling.dfki.uni-sb.de"; +$port = 59125; + +# create a tcp connection to the specified host and port +$maryInfoSocket = IO::Socket::INET->new(Proto => "tcp", + PeerAddr => $host, + PeerPort => $port) + or die "can't connect to port $port on $host: $!"; + +# avoid buffering when writing to server: +$maryInfoSocket->autoflush(1); # so output gets there right away + +########## Write input to server: ########## +# formulate the request: +print $maryInfoSocket "MARY IN=$in OUT=$out AUDIO=$audiotype"; +if ($voice && $voice ne 'v') { print $maryInfoSocket " VOICE=$voice"; } +print $maryInfoSocket " LOG=\"REMOTE_HOST=$ENV{'REMOTE_HOST'}", + ", REMOTE_ADDR=$ENV{'REMOTE_ADDR'}\""; +print $maryInfoSocket "\015\012"; + +# receive a request ID: +$id = <$maryInfoSocket>; + +# open second socket for the data: +$maryDataSocket = IO::Socket::INET->new(Proto => "tcp", + PeerAddr => $host, + PeerPort => $port) + or die "can't connect to port $port on $host: $!"; +# identify with request number: +print $maryDataSocket $id; # $id contains a newline character + +# copy $inputtext to mary data socket +print $maryDataSocket $inputtext; + +# mark end-of-request: +print $maryDataSocket "\015\012"; # that is a \n, actually +$maryDataSocket->shutdown(1); # we have stopped writing data + +########## Read output from server: ########## +# copy the data socket to standard output +if ($out ne "AUDIO") { # text output + my $line; + while (defined ($line = <$maryDataSocket>)) { + print STDOUT $line; + } +} else { # audio data output + my $nr; # number of bytes read + my $buf; # buffer to read into + my $outnr; # number of bytes written + while($nr = read($maryDataSocket, $buf, 8192)) { + # (read returns no. of bytes read, 0 at eof) + print STDOUT $buf + or die "Write error on stdout"; + } # while read something from socket +} # audio output + +### Read complaints from server: +my $line; +while (defined ($line = <$maryInfoSocket>)) { + print STDERR $line; +} + + + + + + + diff --git a/external/marytts-5.1.2/doc/examples/client/maryclient.pl b/external/marytts-5.1.2/doc/examples/client/maryclient.pl new file mode 100644 index 00000000..8b3f5f80 --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/maryclient.pl @@ -0,0 +1,136 @@ +#!/usr/bin/env perl +# +# MARY Text-to-Speech System +# Minimal Socket client (for demonstration) +########################################################################## +# Copyright (C) 2000-2006 DFKI GmbH. +# All rights reserved. Use is subject to license terms. +# +# Permission is hereby granted, free of charge, to use and distribute +# this software and its documentation without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of this work, and to +# permit persons to whom this work is furnished to do so, subject to +# the following conditions: +# +# 1. The code must retain the above copyright notice, this list of +# conditions and the following disclaimer. +# 2. Any modifications must be clearly marked as such. +# 3. Original authors' names are not deleted. +# 4. The authors' names are not used to endorse or promote products +# derived from this software without specific prior written +# permission. +# +# DFKI GMBH AND THE CONTRIBUTORS TO THIS WORK DISCLAIM ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DFKI GMBH NOR THE +# CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +# PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +# THIS SOFTWARE. +########################################################################## +# Author: Marc Schroeder +# This is a minimal version of a socket client for the mary TtS system. +# It is intended to be used as a model for writing socket clients for +# particular applications. All input verification, command line options, +# and other luxury have been omitted. +# +# Usage: +# maryclient.pl infile.txt > outfile.wav +# +# Input/output formats and other options must be set in the perl code directly. +# See also Protocol.html for a description of the Protocol. +# + +use strict; +use IO::Socket; + +############################ +# Package-global variables # +############################ +# global settings: +my $maryInfoSocket; # handle to socket server +my $maryDataSocket; # handle to socket server +my $host; # string containing host address +my $port; # socket port on which we listen +my ($in, $out, $audiotype); # requested input / output format +my $voice; # default voice +my $id; # request ID + +###################################################################### +################################ main ################################ +###################################################################### + +STDOUT->autoflush(1); + +$host = "cling.dfki.uni-sb.de"; +$port = 59125; +$in = "TEXT_DE"; +$out = "AUDIO"; +$audiotype = "MP3"; +#$audiotype = "WAVE"; +#$voice = "male"; +$voice = "de3"; + +# create a tcp connection to the specified host and port +$maryInfoSocket = IO::Socket::INET->new(Proto => "tcp", + PeerAddr => $host, + PeerPort => $port) + or die "can't connect to port $port on $host: $!"; + +# avoid buffering when writing to server: +$maryInfoSocket->autoflush(1); # so output gets there right away + +########## Write input to server: ########## +# formulate the request: +print $maryInfoSocket "MARY IN=$in OUT=$out AUDIO=$audiotype"; +if ($voice) { print $maryInfoSocket " VOICE=$voice"; } +print $maryInfoSocket "\015\012"; + +# receive a request ID: +$id = <$maryInfoSocket>; +chomp $id; chomp $id; + +# open second socket for the data: +$maryDataSocket = IO::Socket::INET->new(Proto => "tcp", + PeerAddr => $host, + PeerPort => $port) + or die "can't connect to port $port on $host: $!"; +# identify with request number: +print $maryDataSocket $id, "\015\012"; + +# copy standard input and/or files given on the command line to the socket +while (defined (my $line = <>)) { + print $maryDataSocket $line; +} +# mark end-of-request: +print $maryDataSocket "\015\012"; # that is a \n, actually +shutdown($maryDataSocket, 1); # we have stopped writing data + +########## Read output from server: ########## +# copy the data socket to standard output +if ($out ne "AUDIO") { # text output + my $line; + while (defined ($line = <$maryDataSocket>)) { + print STDOUT $line; + } +} else { # audio data output + my $nr; # number of bytes read + my $buf; # buffer to read into + my $outnr; # number of bytes written + while($nr = read($maryDataSocket, $buf, 100000)) { + # (read returns no. of bytes read, 0 at eof) + print STDOUT $buf + or die "Write error on stdout"; + } # while read something from socket +} # audio output + +### Read complaints from server: +my $line; +while (defined ($line = <$maryInfoSocket>)) { + print STDERR $line; +} + + + diff --git a/external/marytts-5.1.2/doc/examples/client/maryclient.rb b/external/marytts-5.1.2/doc/examples/client/maryclient.rb new file mode 100644 index 00000000..c4156cbb --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/maryclient.rb @@ -0,0 +1,261 @@ +#!/usr/bin/env ruby +# +# A basic mary client in Ruby, +# kindly donated to the MARY TTS project +# by Hugh Sasse. Thanks Hugh! + + +# Ruby client for the MARY TTS HTTP server. +# This is for Windows only, and relies on +# the Win32-Sound gem to access the audio. +# +# + +require 'rubygems' +require 'net/http' +require 'uri' + +# A fairly minimal client class for the +# MARY TTS system. This uses the modern +# HTTP interface to access the server. +# At present, this doesn't wrap the methods +# which provide documentation or lists of +# voices or features. +class MaryClient + attr_accessor :host, :port + attr_accessor :input_type, :output_type + attr_accessor :locale, :audio, :voice + + # Set up the defaults for the MARY TTS + # server, which is assumed to be running + # on the local host, with British voices + # installed. These may be modified with + # the appropriate methods. + # host = 127.0.0.1) + # port = 59125 + # input_type = "TEXT" + # output_type = "AUDIO" + # audio = "WAVE_FILE" + # locale = "en_GB" + # voice = "dfki-prudence-hsmm" + def initialize + @host = "127.0.0.1" # The local machine + @port = 59125 + @input_type = "TEXT" + @output_type = "AUDIO" + @locale = "en_GB" + @audio = "WAVE_FILE" + @voice = "dfki-prudence-hsmm" + end + + # Process a text message, which with a + # new client, will return the audio. + # This is so that platform dependent parts + # are kept separate. + def generate(message) + raw_params = {"INPUT_TEXT" => message, + "INPUT_TYPE" => @input_type, + "OUTPUT_TYPE" => @output_type, + "LOCALE" => @locale, + "AUDIO" => @audio, + "VOICE" => @voice, + } + res = Net::HTTP.post_form(URI.parse("http://#{@host}:#{@port}/process"), raw_params) + res.value # Throw an exception on failure + #puts res.body + return res.body + end +end + + +# If this invoked as a program with no +# argumens, just give a greeting to show +# that it is working. If arguments are +# supplied, process options to work out +# what to do with the arguments. +if __FILE__ == $0 + + # These files are only loaded when this is + # invoked as a program. + require 'rbconfig' + require 'getoptlong' + + # PLATFORM SPECIFIC CODE. + # Needs more work [!] + case Config::CONFIG['host_os'] + when /darwin/i + raise NotImplementedError.new("Don't know how to play audio on a Mac") + when /linux/i + raise NotImplementedError.new("Far too many ways to play audio on Linux, you'll need to choose something") + when /sunos|solaris/i + raise NotImplementedError.new("Have not played audio on Suns for too long to implement this.") + when /java/i + raise NotImplementedError.new("Don't know how to play audio from Java ") + when /win32|cygwin|mingw32/i + # The various things that can use the Win32 + # sound gem + require 'win32/sound' + # Create a player class that will play the + # sound that the Mary TTS system returns + class Player + + # Play the audio passed in. + # Possibly this should receive the audio + # type so we can check that we can play it, + # but at the moment that is the + # responsibility of the user. + def self.play(sound) + Win32::Sound.play(sound, Win32::Sound::MEMORY) + end + end + else + raise NotImplementedError.new("Haven't thought how to support this OS yet") + end + + + client = nil + split = "" + + if ARGV.size.zero? + client = MaryClient.new() + sound = client.generate("Hello from Mary Text to Speech with Ruby.") + Player.play(sound) + else + args_mode = :words + stdout_mode = :absorb + opts = GetoptLong::new( + ["--audio", "-a", GetoptLong::REQUIRED_ARGUMENT], + ["--echo", "-e", GetoptLong::NO_ARGUMENT], + ["--help", "-h", GetoptLong::NO_ARGUMENT], + ["--host", "-H", GetoptLong::REQUIRED_ARGUMENT], + ["--input-type", "-i", GetoptLong::REQUIRED_ARGUMENT], + ["--locale", "-l", GetoptLong::REQUIRED_ARGUMENT], + ["--read", "-r", GetoptLong::NO_ARGUMENT], + + ["--split", "-s", GetoptLong::REQUIRED_ARGUMENT], + ["--output-type", "-o", GetoptLong::REQUIRED_ARGUMENT], + ["--port", "-P", GetoptLong::REQUIRED_ARGUMENT], + ["--tee", "-t", GetoptLong::NO_ARGUMENT], + ["--voice", "-v", GetoptLong::REQUIRED_ARGUMENT] + ) + + opts.each do |opt, arg| + unless ["--help", "-h"].include?(opt) + # skip if we are only getting help + client ||= MaryClient.new() + end + case opt + when "--help", "-h" + puts <<-EOHELP +Usage: #{$0} [options] [arguments] +--audio -a + Audio format. Defualt: WAVE_FILE +--echo -e + Act as an echo command and send output + arguments to the synthesizer only (not + to standard output. + Turns off --read|-r +--help -h + Print this help, then exit. +--host -H + The host which is the server. + Default: 127.0.0.1 +--input-type -i + The type of the input supplied to the + TTS system. Default: TEXT +--locale -l + The locale of the input. Default: en_GB +--output-type -o + The output type from the TTS system. + Default: AUDIO +--port -P + The port for the TTS server + Default: 59125 +--read -r + Read the files passed as arguments. + Turns off --echo|-e +--split -s (lines|paragraphs) + When reading files, split the input + into lines or paragraphs. Paragraphs + mean reading up to the next double + newline. Note, the argument is literally + "lines" or "paragraphs" (or some + abbreviation of those) without the + quotes. + Default is paragraphs. +--tee -t + Act as tee: send the output to the TTS + system, and to standard output. +--voice -v + The voice to use. + Default: dfki-prudence-hsmm + EOHELP + exit(0) + when "--audio", "-a" + client.audio = arg + when "--echo", "-e" + args_mode = :words + when "--host", "-H" + client.host = arg + when "--input-type", "-i" + client.input_type = arg + when "--locale", "-l" + client.locale = arg + when "--output-type", "-o" + client.output_type = arg + when "--port", "-P" + client.port = arg.to_i + when "--read", "-r" + args_mode = :files + when "--split", "-s" + case arg + when /^p/i + split = "" + when /^l/i + split = $/ + end + when "--tee", "-t" + stdout_mode = :emit + when "--voice", "-v" + client.voice = arg + end + end + + client ||= MaryClient.new() + case args_mode + when :words + input_text = ARGV.join(" ") + unless input_text =~ /\A\s*\Z/m + sound = client.generate(input_text) + if client.output_type == "AUDIO" + Player.play(sound) + end + end + if stdout_mode == :emit + puts input_text + end + when :files + # Slurp in paragraphs so sentences + # don't get broken in stupid places. + $/ = split # paragraph mode + ARGF.each do |paragraph| + begin + unless paragraph =~ /\A\s*\Z/m + sound = client.generate(paragraph) + if client.output_type == "AUDIO" + # and client.audio == "WAVE_FILE" + Player.play(sound) + end + end + rescue Exception => e + puts "got error #{e} while trying to say #{paragraph.inspect}" + raise + end + if stdout_mode == :emit + puts paragraph + end # end if + end # end ARGF.each + end # end case + end # if ARGV.size.zero? +end + diff --git a/external/marytts-5.1.2/doc/examples/client/maryclient.tcl b/external/marytts-5.1.2/doc/examples/client/maryclient.tcl new file mode 100644 index 00000000..3a358235 --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/maryclient.tcl @@ -0,0 +1,705 @@ +# Tcl/Tk MARY TTS client. + +# This has been tested on Windows, and because +# of the use of sound there will be portability +# issues. However, there should be enough here +# for a reasonable start at a client, for any +# platform that supports Tcl/Tk. The platform +# specific code has, as far as possible, been +# isolated in the part of the code that detects +# whether this is being run as a program. + +# Notes: +# More work will need to be done with this, +# in order to make the code clean. It should +# probably be wrapped in a package, to solve +# any namespace issues. There are a lot of +# global variables. It seems that some of +# these are necessary for the menus to work. +# Handling of temporary files could be improved. + +# TODO: +# Create modifier sliders, for the effects. +# Extend the query proc to make use of them. +# Turn the Help menu into something more useful. +# Debug the actions for the Edit menu. +# Provide a means of getting example inputs +# from the server. +# Provide a means of re-loading all the +# dynamically collected information when the +# server is changed from the menu. This means +# that we need to delete the existing menu +# entries in order to add them correctly. +# How do we ensure temporary files are removed +# in the event of a problem? if {catch {}} ...? +# Maybe leaving them around is diagnostic info? +# Make that an option? +# Add error handling code for network and disk +# failures likely to beset such clients. +# Add sensible defaults for things the user must +# always set at startup, but these will be +# platform spacific. Always default to Audio +# output for example, or is it possible that +# people have no voices installed? + + +# This is a GUI, so: +package require Tk + +# We are communicating with the Mary server +# with HTTP. +package require http + +# Use the local machine in preference to the +# one in Germany. +set mary_tts_default_host "127.0.0.1" +set mary_tts_default_port 59125 + +# Actual host and port, and global old +# copies to allow revert on cancel in the +# dialogues. Apparently upvar #0 is the +# norm for that sort of thing [Tcl Wiki] +set mary_tts_host $mary_tts_default_host +set old_mary_tts_host $mary_tts_host +set mary_tts_port $mary_tts_default_port +set old_mary_tts_port $mary_tts_port + +# Informational URLs +set informational_urls [ list \ +version datatypes voices \ +audioformats audioeffects ] + +####### + +# Obtain a static page from the server, i.e. +# no parameters are needed to get it. +proc get_page { relative_url } { + global mary_tts_host mary_tts_port + set url http://$mary_tts_host:$mary_tts_port/$relative_url + set result [::http::geturl $url] + return [::http::data $result] +} + +proc list_of_lines {str} { + return [ split $str "\n" ] +} + + +# We will need to collect this information +# when we have the server and port chosen. +proc get_audioeffects {} { + return [list_of_lines [get_page audioeffects] ] +} + +proc get_audioformats {} { + return [list_of_lines [get_page audioformats] ] +} + +proc get_datatypes {} { + return [ list_of_lines [get_page datatypes] ] +} + + +proc get_voices {} { + return [list_of_lines [get_page voices] ] +} + +# Handling post queries. + +# Submit the query to the server, using the +# http POST method. +proc make_query {url encoded_params} { + set http [::http::geturl $url -query $encoded_params] + set result [::http::data $http] + return $result +} + +# Get the text from the input text area +proc get_input_text {} { + return [.io.inp.input_area get 1.0 end] +} + +# Get the text from the output text area +proc get_output_text {} { + return [.io.out.output_area get 1.0 end] +} + +# Collect the audio data from the server. +proc collect_audio_data {text_to_process} { + global mary_tts_host mary_tts_port + global inputtype outputtype locales + global audioformat voice + set url "http://$mary_tts_host:$mary_tts_port/process" + # ::http::formatQuery converts a list of + # key value pairs into the correct format + # for http POST. + set params [::http::formatQuery INPUT_TEXT $text_to_process INPUT_TYPE $inputtype OUTPUT_TYPE $outputtype LOCALE $locales($voice) AUDIO $audioformat VOICE $voice ] + set result [make_query $url $params] + return $result +} + +# Pushes the query to the server and gets +# the results back, displaying or playing +# them. +proc generate_output {text_to_process} { + global outputtype + set result [collect_audio_data $text_to_process] + if {$outputtype eq "AUDIO"} { + # call the platform dependent implementation. + play $result + } else { + clear_output + add_message $result + } + # Return the result so we can save it if + # the user requires it. + return $result +} + + +# These next procs are for handling the +# lists of data one gets back from the server +# which possibly have several words per line, +# separated by spaces. + +# If the first word of each listed line is +# significant, extract the list of first words. +proc collect_first_words_of_phrase_list {a_list} { + for {set i 0} {$i < [llength $a_list]} {incr i} { + set data [lindex $a_list $i ] + set word [ lindex [split $data " "] 0 ] + lappend words $word + } + return $words +} + + +# If the second word of each listed line is +# significant, extract the list of second words. +proc collect_second_words_of_phrase_list {a_list} { + for {set i 0} {$i < [llength $a_list]} {incr i} { + set data [lindex $a_list $i ] + set word [ lindex [split $data " "] 1 ] + lappend words $word + } + return $words +} + + +# The list of datatypes must be separated into +# input data types and output data types so that +# interactions with the server make sense. +# This handles the inputs. +proc collect_first_words_of_input_types {a_list} { + for {set i 0} {$i < [llength $a_list]} {incr i} { + set data [lindex $a_list $i ] + if {[ string match -nocase "*input*" $data ]} { + set word [ lindex [split $data " "] 0 ] + lappend words $word + } + } + return $words +} + + +# The list of datatypes must be separated into +# input data types and output data types so that +# interactions with the server make sense. +# This handles the outputs. +proc collect_first_words_of_output_types {a_list} { + for {set i 0} {$i < [llength $a_list]} {incr i} { + set data [lindex $a_list $i ] + if {[string match -nocase "*output*" $data]} { + set word [ lindex [split $data " "] 0 ] + lappend words $word + } + } + return $words +} + +# setup all the variables to hold voices, +# audio options, etc., based on what the +# server can do. +proc setup_globals {} { + global audioeffects audioformats voices + global inputtypes outputtypes audioformat voice + global inputtype outputtype locales + + set audioeffects [get_audioeffects] + set audioformats [get_audioformats] + set audioformat [lindex $audioformats 0 ] + set datatypes_data [get_datatypes] + set inputtypes [collect_first_words_of_input_types $datatypes_data] + set inputtype [lindex $inputtypes 0] + set outputtypes [collect_first_words_of_output_types $datatypes_data] + set outputtype [lindex $outputtypes 0] + set voices_data [get_voices] + set voices [collect_first_words_of_phrase_list $voices_data] + set locales_list [collect_second_words_of_phrase_list $voices_data ] + for {set i 0} {$i < [llength $voices]} {incr i} { + set locales([lindex $voices $i]) [lindex $locales_list $i] + } + set voice [lindex $voices 0] +} + +# A general procedure for filling in the +# elements of a listbox from a list. +# At present this is unused, but it could +# be useful later. [It took a while to +# figure out so I'm not ready to kill it +# with YAGNI.] +proc add_listbox_items {a_var a_widget} { + upvar $a_var var + foreach item $var { + $a_widget insert end $item + } +} + +# Create the menubuttons along the top. +# Usual File, Edit and Help menus plus +# those to set attributes. +proc create_menubuttons {} { + set buttons [ list file File edit Edit \ + server "Server" \ + inputtype "Input type" outputtype "Output type" \ + voice Voice \ + audioformat "Audio format" \ + textstyle "Text style" help Help ] + + set count 1 + foreach { menu_tag string_tag} $buttons { + menubutton .menus.$menu_tag -text $string_tag \ + -menu .menus.${menu_tag}.menu -underline 0 -font ClientFont + menu .menus.${menu_tag}.menu -tearoff true + grid .menus.$menu_tag -in .menus -row 1 -column $count -sticky w + incr count + } +} + +# Get the contents of a text file for reading +# or loading into a text widget, etc. +proc text_file_contents {what_for} { + set a_file [tk_getOpenFile -title $what_for ] + set the_text "" + + if {$a_file != ""} { + set a_stream [open $a_file r ] + set the_text [read $a_stream] + close $a_stream + } + + return $the_text +} + + +# Save the_text to a text file specified +# by the user, for the given reason (what_for). +# At the moment there is no error handling +# for this (disk full, write protected, etc). +proc save_text_file {the_text what_for} { + set a_file [tk_getSaveFile -title $what_for -parent .] + if {$a_file != ""} { + set a_stream [open $a_file w ] + puts $a_stream $the_text + close $a_stream + } +} + +# Save the_data to a binary file specified +# by the user, for the given reason (what_for), +# a text string. +# At the moment there is no error handling +# for this (disk full, write protected, etc). +proc save_binary_file {the_data what_for} { + set a_file [tk_getSaveFile -title $what_for -parent .] + if {$a_file != ""} { + set a_stream [open $a_file w ] + fconfigure $a_stream -translation binary + puts -nonewline $a_stream $the_data + close $a_stream + } +} + +# Create the menu for File operations +proc create_menu_file {} { + set fmenu .menus.file.menu + $fmenu add command -label "New" \ + -font ClientFont -command { + .io.inp.input_area delete 1.0 end + } + # Replace the contents of the input text + # widget by the data from the open file. + # YAGNI, but is there any reason + # to allow inserting a file, rather than + # replacing the text with file contents? + # + $fmenu add command -label "Open" \ + -font ClientFont -command { + set the_text [text_file_contents "File to load"] + if {$the_text != ""} { + .io.inp.input_area delete 1.0 end + .io.inp.input_area insert end $the_text + } + } + + $fmenu add command -label "Read" \ + -font ClientFont -command { + generate_output [text_file_contents "File to read"] + } + # How to make these disabled for now? + $fmenu add command -label "Save Input" \ + -font ClientFont -command { + set the_text [get_input_text] + save_text_file $the_text "Save Input" + } + $fmenu add command -label "Save Output" \ + -font ClientFont -command { + set the_text [get_output_text] + save_text_file $the_text "Save Output" + } +} + +# Create the menu for edit operations +proc create_menu_edit {} { + set emenu .menus.edit.menu + $emenu add command -label "Select All from Input Area" \ + -font ClientFont -command { + # This code says copy the selection as well. + # May be wrong for some platforms, but is + # it more useful? + .io.inp.input_area tag add sel 1.0 end + event generate .io.inp.input_area <> +} + $emenu add command -label "Select All from Output Area" \ + -font ClientFont -command { + # This code says copy the selection as well. + # May be wrong for some platforms, but is + # it more useful? + .io.out.output_area tag add sel 1.0 end + event generate .io.out.output_area <> +} + $emenu add command -label "Copy from Input Area" \ + -font ClientFont -command { + # this appears not to work. FIXME + event generate .io.inp.input_area <> + } + $emenu add command -label "Copy from Output Area" \ + -font ClientFont -command { + # this appears not to work. FIXME + event generate .io.out.output_area <> + } + $emenu add command -label "Paste into Input Area" \ + -font ClientFont -command { + # this appears not to work. FIXME + event generate .io.inp.input_area <> + } + $emenu add command \ + -font ClientFont -label "Insert example text into Input Area"\ + -command { + } + # Add specific editing commands here later. + # For example, we would like to be able to + # add whole tags to the XML based formats, + # wrap matching tags around selected text. + # Also we need to find out what happens with + # copy cut and paste, given that X Windows + # is different from MS Windows. + # Allow example text to be inserted. + # However, my thinking is that this should not + # overwrite as it is in the Java application, + # because this rubs out edits when switching + # voices, and this can be annoying when + # exploring the system. +} + +# Set the server properties, mostly just +# host and port. Maybe later protocol will +# be possible for https connections? +proc create_menu_server {} { + set smenu .menus.server.menu + $smenu add command -label "host" -font ClientFont -command { + create_entry_dialog "MARY TTS server name" "hostname/IP Address" mary_tts_host + } + $smenu add command -label "port" -font ClientFont -command { + create_entry_dialog "MARY TTS server port" "pott number" mary_tts_port + } +} + +# setup the fonts for the various areas on the dipslay. +proc setup_font {family size} { + foreach win {.io .controls .entry.dialogue } { + font configure ClientFont -family $family -size $size + } +} + +# Create the menu for changing the text size. +proc create_menu_textstyle {} { + set tmenu .menus.textstyle.menu + + $tmenu add cascade -label "Courier" -underline 0 -menu \ + $tmenu.courier -font ClientFont + $tmenu add cascade -label "Times" -underline 0 -menu \ + $tmenu.times -font ClientFont + $tmenu add cascade -label "Helvetica" -underline 0 -menu \ + $tmenu.helvetica -font ClientFont + foreach {name family} [list $tmenu.courier Courier \ + $tmenu.times Times $tmenu.helvetica Helvetica ] { + set m1 [menu $name] + foreach pts {6 7 8 9 10 12 14 16 18 20 24 28 32 36} { + $m1 add command -label "$pts" -font ClientFont\ + -command [list setup_font $family $pts ] + } + } +} + + + +# Create the menu for Help +proc create_menu_help {} { + # This is all pretty much "wet paint" + # Is there enough to merit separate menus? + set hmenu .menus.help.menu + $hmenu add command -label "Introduction" -font ClientFont\ + -command { + tk_messageBox -message "This is a basic Tcl/Tk +client for the MARY TTS system. Most of the options +are reached through the menus on the top. Some +facilities are presently lacking. + +Most of the interface should be self-explanatory. +In the File menu, Read will read a given file aloud +(or at least take it as input for the present +form of processing), whereas Open will load it +into the input area. Save input and Save output +refer to the contents of the text windows. The +save button next to the play button will save +the output to a file; this is assumed to be a +text file, unless the output is audio, in which +case it is a binary file. + +The Edit menu has cut and paste facilities, +but these don't seem to work reliably. The +default key bindings for text areas should +be useable. + +You will need to set the input and output types +and the audio format before pressing play. +Code does not yet exist to figure out sensible +defaults for your platform. + +This does not have support for the effects, yet. + +Contributions from developers welcome." -type ok + } + $hmenu add command -label "About" -command {} -font ClientFont +} + +# We need to create menus for the available +# voices and audio formats, etc. +# When we have the data for these menus from +# the server, create them by using the global +# lists of information. +proc create_radio_menu_from_list {what} { + global $what + set plural "${what}s" + upvar 1 $plural var + foreach item $var { + .menus.${what}.menu add radiobutton -label $item -variable $what \ + -value $item -font ClientFont + } +} + +proc reset_entry_and_var {a_variable} { + upvar #0 $a_variable var + upvar #0 old_$a_variable old_var + set var $old_var + destroy .entry_dialogue +} +# Create the toplevel for choosing a host +# or port, something taken from an entry. +proc create_entry_dialog {a_message a_label a_variable} { + upvar #0 $a_variable var + upvar #0 old_$a_variable old_var + toplevel .entry_dialogue + label .entry_dialogue.the_message -text $a_message \ + -font ClientFont + label .entry_dialogue.the_label -text $a_label -font ClientFont + entry .entry_dialogue.the_entry -textvariable $a_variable \ + -font ClientFont + button .entry_dialogue.ok -text "OK" -font ClientFont -command { + destroy .entry_dialogue + } + button .entry_dialogue.cancel -text "Cancel" -font ClientFont \ + -command "reset_entry_and_var $a_variable" + + grid .entry_dialogue.the_message -row 1 -column 1 + grid .entry_dialogue.the_label -row 2 -column 1 + grid .entry_dialogue.the_entry -row 2 -column 2 + grid .entry_dialogue.ok -row 3 -column 1 + grid .entry_dialogue.cancel -row 3 -column 2 +} + +# Add a message to the end of the output +# text widget. +proc add_message {a_message} { + .io.out.output_area configure -state normal + .io.out.output_area insert end $a_message + .io.out.output_area configure -state disabled +} + + +# Clear the text in the output text widget. +proc clear_output {} { + .io.out.output_area configure -state normal + .io.out.output_area delete 1.0 end + .io.out.output_area configure -state disabled +} + +# Sound generation is platform dependent. +# This provides an "abstract" function to +# be overridden by the platform dependent +# code. In this case it alerts the user +# in the output window that nothing is going +# to happen. +proc play {sound} { + add_message \ + "play sound not implemented on this platform apparently" +} + +# Graphical stuff. + +# In order to be able to scale the font, define a font. +font create ClientFont -family [font actual TkDefaultFont -family] \ + -size [font actual TkDefaultFont -size] + +frame .menus +create_menubuttons +create_menu_file +create_menu_edit +create_menu_server +create_menu_textstyle +create_menu_help +# Fill in the other menus at runtime. + +# .io communicates text with the user, +# through an input and output window. +frame .io +frame .io.inp +frame .io.out +# .controls will hold the play button and +# the effects controls. +frame .controls + +# Draw the controls in .io +label .io.inp.input_label -text "Input Area" -font ClientFont +text .io.inp.input_area -height 10 -width 40 \ +-xscrollcommand ".io.inp.input_x set" \ +-yscrollcommand ".io.inp.input_y set" -font ClientFont +scrollbar .io.inp.input_x -orient horizontal \ +-command ".io.inp.input_area xview" +scrollbar .io.inp.input_y -orient vertical \ +-command ".io.inp.input_area yview" + +label .io.out.output_label -text "Output Area" -font ClientFont +text .io.out.output_area -height 10 -width 40 -state disabled \ +-xscrollcommand ".io.out.output_x set" \ +-yscrollcommand ".io.out.output_y set" -font ClientFont +scrollbar .io.out.output_x -orient horizontal \ +-command ".io.out.output_area xview" +scrollbar .io.out.output_y -orient vertical \ +-command ".io.out.output_area yview" + +grid .io.inp -in .io -row 1 -column 1 +grid .io.out -in .io -row 1 -column 2 +grid .io.inp.input_label -in .io.inp -row 1 -column 1 +grid .io.inp.input_area -in .io.inp -row 2 -column 1 +grid .io.inp.input_y -in .io.inp -row 2 -column 2 -sticky ns +grid .io.inp.input_x -in .io.inp -row 3 -column 1 -sticky ew + +grid .io.out.output_label -in .io.out -row 1 -column 1 +grid .io.out.output_area -in .io.out -row 2 -column 1 +grid .io.out.output_y -in .io.out -row 2 -column 2 -sticky ns +grid .io.out.output_x -in .io.out -row 3 -column 1 -sticky ew + +button .controls.play -text "play" -font ClientFont -command { + generate_output [get_input_text] +} +grid .controls.play -in .controls -row 1 -column 1 + +button .controls.save -text "save" -font ClientFont -command { + global outputtype + set input_text [get_input_text] + if { $outputtype eq "AUDIO" } { + save_binary_file [collect_audio_data $input_text ] "Save audio file" + } else { + save_text_file [collect_audio_data $input_text ] "Save output to file" + } +} + +grid .controls.save -in .controls -row 1 -column 2 + +pack .menus .io .controls -in . -side top + + + +# Detect whether this is the main program +# This test was taken from the Tcl Wiki, and +# seems to work OK. + +if {[info exists argv0] && [file tail [info script]] eq [file tail $argv0]} { + + # Try to find the temporary files directory. + catch { set tmpdir "/tmp" } + catch { set tmpdir $::env(TRASH_FOLDER) } + catch { set tmpdir $::env(TMP) } + catch { set tmpdir $::env(TEMP) } + # This needs better handling of + # possible alternatives + # This is needed for Windows sound only. + + # Do the platform dependent things. + if {$tcl_platform(platform) eq "windows"} { + package require twapi + + proc play {sound} { + global tmpdir + # Write sound to a temporary file + set sndfile [file join $tmpdir "MARYTTS_sound.[pid].wav" ] + set stream [open $sndfile w] + # Make sure the file is binary: + fconfigure $stream -translation binary + puts -nonewline $stream $sound + close $stream + # Play the file. + ::twapi::play_sound $sndfile + # Remove the file. + file delete $sndfile + } + } + # Put other platforms here. + + # Setup the globals with reference to the + # server, which is assumed to be working. + # Since we have options to alter this with + # menu items, there probably needs to be + # some way to reload all this. But we need + # to know how to delete the existing menu + # entries to do that. + setup_globals + create_radio_menu_from_list inputtype + create_radio_menu_from_list outputtype + create_radio_menu_from_list voice + create_radio_menu_from_list audioformat + + # Note, at the moment voices holds locales, + # gender, and voice type + + # At the moment this is just diagnostic: + ## add_message [ join $voices "\n" ] + # it tells us we have a basically working + # system and the list of voices has been + # picked up and manipulated correctly. + # So it is commented out now. +} + + diff --git a/external/marytts-5.1.2/doc/examples/client/texttospeechdemo.html b/external/marytts-5.1.2/doc/examples/client/texttospeechdemo.html new file mode 100644 index 00000000..e788cf50 --- /dev/null +++ b/external/marytts-5.1.2/doc/examples/client/texttospeechdemo.html @@ -0,0 +1,81 @@ + + + + + +