예제 #1
0
        public SimplePhraseSpotter(string phraseSpotterConfig)
        {
            ConfigurationManager cm = new ConfigurationManager(phraseSpotterConfig);

            recognizer = (Recognizer)cm.lookup(PROP_RECOGNIZER);
            linguist   = (PhraseSpottingFlatLinguist)cm.lookup(PROP_LINGUIST);
            grammar    = (NoSkipGrammar)cm.lookup(PROP_GRAMMAR);
            dataSource = (AudioFileDataSource)cm.lookup(PROP_AUDIO_DATA_SOURCE);
        }
예제 #2
0
        public BandDetector()
        {
            // standard frontend
            _source = new AudioFileDataSource(320, null);
            var windower   = new RaisedCosineWindower(0.97f, 25.625f, 10.0f);
            var fft        = new DiscreteFourierTransform(512, false);
            var filterbank = new MelFrequencyFilterBank(130.0, 6800.0, Bands);

            var list = new List <IDataProcessor> {
                _source, windower, fft, filterbank
            };

            _frontend = new FrontEnd(list);
        }
예제 #3
0
        private static void processFile(string text, string outFilePattern, ConfigurationManager configurationManager)
        {
            FrontEnd            frontEnd            = (FrontEnd)configurationManager.lookup("endpointer");
            AudioFileDataSource audioFileDataSource = (AudioFileDataSource)configurationManager.lookup("audioFileDataSource");

            [email protected](text);
            audioFileDataSource.setAudioFile(new File(text), null);
            WavWriter wavWriter = (WavWriter)configurationManager.lookup("wavWriter");

            wavWriter.setOutFilePattern(outFilePattern);
            frontEnd.initialize();
            while (frontEnd.getData() != null)
            {
            }
        }
예제 #4
0
        public string align()
        {
            if (PROP_PERFORM_SPOTTING)
            {
                phraseSpotterResult = new List <PhraseSpotterResult>();
                collectPhraseSpottingResult();
            }

            cm = new ConfigurationManager(config);
            AlignerSearchManager sm = (AlignerSearchManager)cm
                                      .lookup("searchManager");

            sm.setSpotterResult(phraseSpotterResult);
            optimize();
            setGlobalProperties();
            recognizer = (Recognizer)cm.lookup(PROP_RECOGNIZER);
            grammar    = (AlignerGrammar)cm.lookup(PROP_GRAMMAR);
            datasource = (AudioFileDataSource)cm.lookup(PROP_AUDIO_DATA_SOURCE);
            datasource.setAudioFile(new File(audioFile), null);
            allocate();
            return(start_align());
        }