Über Mikrofon eingelesene Worte vergleichen...
-
Hi, kann mir bitte jemand sagen, oder ein Tutorial nennen, wo beschrieben wird, wie ich Worte übers Mikrofon an mein Programm sende und diese dann mit anderen Vergleiche... oder gibts irgendwo eine Klasse, mit der sich das bewerkstelligen lässt???
MfG und Thx im Voraus WirrWar2850.
-
Das nennt man Spracherkennung.
Such mal z.B. bei Philips oder L&H.
Und wenn das so einfach wäre hätten wir schon Computer wie bei der Enterprise.
-
Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum MFC mit dem Visual C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ok, ich geb zu, is ein "kleinen Wenig" überdimensioniert die Frage, aber kann mir dann jemand sagen, wie ich die Frequenzen einer Wave Datei auslesen kann und wie man diese Manipuliert??? Eine geeignete Funktion zum einlesen und speichern des Streams hab ich bei CodeProject gefunden : http://www.codeproject.com/audio/Voice_Recording.asp
Ihr müsst aber zum benutzen der Funktion die winmm.lib und mmsystem.h oder vfw.h einbauen... bei mir is beides da, aber ich hab .NET, weis nich wie das bei den anderen is...
P.S. Musst nich gleich sauer sein... bin neu in Sachen Audio, bin aber froh gleich ne Funktion gefunden zu haben
Falls sich noch nützliche Funktionen zum Thema auftreiben lassen, poste ich die hier auch rein...
MfG WirrWar2850.
-
das ist wirklich ein wenig haarig, vorallem wenn du keine Ahnung von FFT/DSP hast.
http://www.musicdsp.org/
http://www.dspdimension.com/start.html
http://www.fftw.org/
...
-
Thx für die Seite... haben geholfen, aber ich hab noch eine Frage, irgendwie muss man es doch hinbekommen einen Soundstream mit einem anderen zu vergleichen (z.B. Wave File mit Wave File)... aber wie, schließlich gabs früher auch schon Software zum Diktieren, und der PC schreibt dann oder zur sprachlichen Steuerung einfacher Windows Befehle, aber wie geht das, schließlich kann man ja durchs Mikro nicht exakt die gleichen Worte mit gleicher Frequenz etc. nochmal sagen, wie man sie vorher koniguriert hat... Gibts dazu keine Funktion?
MfG WirrWar2850.
-
Hast du dich jemals gefragt, weswegen Windows so viel Plattenspeicher benötigt?
Ein paar Megabyte entfallen da bei Windows XP/2k auf das automatisch immer mitinstallierte Microsoft Speech API. Dank dieser API kann z.B. ein Browser wie Opera vollständig Sprachein- und ausgabe unterstützen und benötigt summa summarum trotzdem immer noch weniger Speicherplatz als z.B. ein Firefox.
Also lange Rede, kurzer Sinn: Schau dir mal die Speech API an.
Die bietet sich für C++ an. Für Java gäb's auch eine Speech API. Just for infoUnd ja, selbstverstänldich sind die exakten Frequenzen immer unterschiedlich. Aber wenn man die Frequenzen mathematisch in eine entsprechende Form bringt, kann man relativ gut (aber nicht 100%ig eindeutig) Phone und Laute bestimmen.
Diese Form lässt sich auch graphisch darstellen und dann sogar richtig lesen. Nennt sich Sonagramm und sieht z.B. so aus:
http://www.phonetik.uni-muenchen.de/SGL/S_SchmalBreit.jpg
Das wäre der Satz "Heute ist frei".
Es gibt Lautklassen und die lassen sich sehr gut, sogar auf den ersten Blick, von anderen Unterscheiden. Z.B. Vokale/Konsonanten erkennt man sofort. Sehr markant sind auch Laute wie /r/. Andere wie /l/ sind dagegen sehr gemein.
Naja, auf jeden Fall hat jedes Phon sein charakteristisches "Aussehen".
Das mathematisch erfasst ergibt deine Spracherkennung
-
ISt interessant, ich werde diese API mal suchen gehn ...
Und vielen Dank, ich wusste das es geht, aber nich wie, das mit der Speech API hört sich gut an, endlich mal ein sinnvolles Feature von Windows...MfG WirrWar2850.
-
http://www.c-plusplus.net/forum/viewtopic.php?t=74816&highlight=speech+voice
http://www.c-plusplus.net/forum/viewtopic.php?t=74656&highlight=speech+voice
http://www.c-plusplus.net/forum/viewtopic.php?t=73841&highlight=speech+voice
http://www.c-plusplus.net/forum/viewtopic.php?t=21415&highlight=speech+voice