sábado, 25 de julho de 2015

Gvidilo de Aplika Programado

Sphinx-4

Gvidilo de Aplika Programado 

AVERTO: La lernilo priskribas SPHINX4 API EL LA PRE-alpha:
https://sourceforge.net/projects/cmusphinx/files/sphinx4/5prealpha/
La API priskribita tie ne estas subtenata en pli fruaj versioj

Superrigardo

Sphinx4 estas pura Java parolado rekono biblioteko. Ĝi provizas rapidan kaj facilan API por konverti la parolado registradoj en teksto helpe CMUSphinx akustiko modeloj. Ĝi povas esti uzata sur serviloj kaj en labortablo aplikoj. Beside parolado rekono Sphinx4 helpas identigi parolantoj, adapti modeloj, vicigi ekzistantajn transskribo al audio por timestamping kaj pli.
Sphinx4 Elportas usonangla kaj multaj aliaj lingvoj.

Uzante en via projektoj

Kiel ajna biblioteko en Java ĉiuj vi bezonas fari por uzi sphinx4 estas aldoni kruĉoj en dependecoj de via projekto kaj tiam vi povas skribi kodon uzante la API.
La plej facila maniero por uzi modernan sphinx4 estas uzi modernan muntaĵo iloj kiel Apache Maven aŭ Gradle. Sfinkso-4 estas disponebla kiel Maven pakaĵo en Sonatype OSS dosieraro . Uzi sphinx4 en via Maven projekto entajpi tiu deponejo en via pom.xml :
  <Projekto>
 ...
     <Repositorios>
         <Dosieraro>
             <Identigilo> instantáneas-Repo </ identigilo>
             <Url> https://oss.sonatype.org/content/repositories/snapshots </ url>
             <Ĵetoj> <ebligita> falsaj </ ebligita> </ ĵetoj>
         <Instantáneas> <ebligita> veraj </ ebligita> </ instantáneas>
         </ Dosieraro>
     </ Repositorios>
 ...
 </ Projekto> 
Tiam aldoni sphinx4-core al la projekto dependecoj:
  <Dependeco>
   <GroupId> edu.cmu.sphinx </ groupId>
   <ArtifactId> sphinx4 kerno </ artifactId>
   <Versio> 1.0-ekrankopion </ versio>
 </ Dependeco> 
Aldoni sphinx4-data al dependecoj tiel se vi volas uzi defaŭltan akustiko kaj lingvo modeloj:
  <Dependeco>
   <GroupId> edu.cmu.sphinx </ groupId>
   <ArtifactId> sphinx4-datumoj </ artifactId>
   <Versio> 1.0-ekrankopion </ versio>
 </ Dependeco> 
Multaj IDEs kiel Eklipso aŭ NetBeans aŭ Ideon havas subtenon por Maven ĉu kun plugin aŭ kun korpigitaj karakterizaĵoj. Tiukaze vi povas simple inkluzivi sphinx4 bibliotekojn en via projekto kun la helpo de IDE. Bonvolu kontroli la koncernan parton de via IDE dokumentado, ekzemple IDEO dokumentaro pri Maven .
Vi povas ankaŭ uzi Sphinx4 en ne-Maven projekto, tiukaze vi devas elŝuti bokaloj de la dosieraro permane kune kun dependecoj (kiun ni provas subteni malgrandajn) kaj inkluzivi ilin en via projekto. Vi devas sphinx4 kerno bokalon kaj sphinx4-datumoj bokalon se tuj uzos usonangla akustiko modelo. Vidu sube
Sphinx4 jar download

Bazaj Uzado

Estas pluraj altnivelaj rekono interfacoj en Sfinkso-4:
  • LiveSpeechRecognizer
  • StreamSpeechRecognizer
  • SpeechAligner
Por la plejparto de la parolado rekono laborpostenojn alta niveloj interfacoj devus sufiĉi. Kaj esence vi havos nur al instalinstrukciojn kvar atributojn:
  • Akustiko modelo.
  • Vortaro.
  • Gramatiko / Language modelo.
  • Fonto de parolado.
Unue tri atributoj estas instalinstrukciojn uzante Agordo objekto kiu pasis tiam al recognizer. La maniero por montri al la parolado fonto dependas konkretan recognizer kaj kutime estas pasita kiel metodo parametro.

Agordo

Agordo uzas provizi postulita kaj laŭvolaj atributoj al recognizer.
  Agordo agordo = nova Agordo ();

 // Retenu vojo al akustiko modelo.
 agordo. setAcousticModelPath ("rimedo: / edu / CMU / sfinkso / modeloj / eo-us / en-us");
 // Retenu pado al vortaro.
 agordo. setDictionaryPath ("rimedo: /edu/cmu/sphinx/models/en-us/cmudict-en-us.dict");
 // Ara lingvo modelo.
 agordo. setLanguageModelPath ("rimedo: /edu/cmu/sphinx/models/en-us/en-us.lm.bin"); 

LiveSpeechRecognizer

LiveSpeechRecognizer uzas mikrofonon kiel la parolado fonto.
  LiveSpeechRecognizer recognizer = nova LiveSpeechRecognizer (agordo);
 // Kreu rekono procezo rikoltiloj antaŭe kaŝmemoro datumoj.
 recognizer. startRecognition (vera);
 SpeechResult rezulto = recognizer. GetResult ();
 // Pause rekono procezo.  Ĝi povas esti rekomencita poste kun startRecognition (falsa).
 recognizer. stopRecognition (); 

StreamSpeechRecognizer

StreamSpeechRecognizer uzas InputStream kiel la parolado fonton, vi povas pasi la datumojn de la dosiero tiamaniere, vi povas pasi la datumojn de la reto socket aŭ el ekzistantaj bajto tabelo.
  StreamSpeechRecognizer recognizer = nova StreamSpeechRecognizer (agordo);
 recognizer. startRecognition (nova FileInputStream ("speech.wav"));
 SpeechResult rezulto = recognizer. GetResult ();
 recognizer. stopRecognition (); 
Vi povas retreive multnombraj rezultoj ĝis la dosiero fino:
  dum ((rezulto = recognizer.getResult ())! = null) {
     System.out.println (result.getHypothesis ());
 } 

SpeechAligner

SpeechAligner tempo-vicigas tekston kun audio parolado.
  SpeechAligner aligner = nova SpeechAligner (agordo);
 recognizer. vicigi (nova URL ("101-42.wav"), "unu ho unu kvar du"); 

SpeechResult

SpeechResult havigas aliron al diversaj partoj de la rekono rezulto, kiel rekonita parolo lerta de vortoj kun tempo poŝtmarkojn, rekono krado ks.
  // Presi parolpovo kordo sen kompletigo vortojn.
 Sistemo . eksteren. println (rezulton. getHypothesis ());

 // Get individuajn vortojn kaj iliajn tempojn.
 por (WordResult r: rezulto. getWords ()) {
     Sistemo . eksteren. println (r);
 }

 // Konservi krado en graphviz formato.
 rezulto. getLattice (). dumpDot ("lattice.dot", "krado"); 

Demos

Kelkaj specimeno donas inkludas en sphinx4 fontoj por doni vin kompreni kiel kuri Sphinx4. Vi povas kuri ilin de sphinx4-specimenoj jar:
  1. Transcriptor - pruvu kiel transskribi dosieron
  2. Dialogo - pruvu kiel gvidi dialogon kun uzanto
  3. SpeakerID - parolanto identigo
  4. Aligner - pruvo de audio al transskribo timestamping
Se vi iras por komenci kun demo bonvolu ne redakti la demo ene sphinx4 fontoj, anstataŭ kopii la kodon en vian projekton kaj modifi ŝin tie.

Konstruaĵo de fonto

Se vi volas disvolvi Sphinx4 mem vi eble volas konstrui ĝin el fonto. Sphinx4 uzas Maven muntaĵo sistemo. Simple tajpu 'mvn instali' en la supro dosierujo, ĝi kompilos kaj instali ĉiun inkludante dependecoj.
Se vi estas iranta uzi IDE, certigu ke ĝi elportas Maven projekto, tiam simple importi sphinx4 fonta kiel Maven projekto.

Troubleshooting

Vi eble renkontos malsamaj problemoj dum uzante sphinx4, bonvolu kontroli la FAQ unua antaŭ peti ilin en la forumo.
En kazo vi havas demandojn kun precizeco vi bezonos doni audio registrado vi provas rekoni, ĉiuj modeloj uzas kaj priskribas kiel redunda vi vidas estas malsama de via atendado.