![]() |
Spracherkennung (Einzelworterkennung)
Liste der Anhänge anzeigen (Anzahl: 4)
Wie
![]() stelle ich nun mal ein Programm vor, dass eine Spracherkennung (Einzelworterkennung) durchführt. Im Anhang befindet sich auch eine Dokumentation. Viel Spass beim Testen. Wichtig für den Quellcode: ![]() Gruss Thorsten |
Re: Spracherkennung (Einzelworterkennung)
@omata
Dank für Deinen Beitrag und dem interessanten Programm. Ich habe zwar kein Micro, aber die Möglichkeit auch andere Quellen anzuschließen, finde ich interessant. Aber spannend wird es, wenn ich dem Programm z. B. sage: "Runterfahren" und das Programm fährt mir den Computer runter. Ich meine damit, dass, wenn ein Wort erkannt wird, eine definierte Aktion ausgeführt wird. Die Dokumentation als PDF ist sehr umfangreich. Sollte man sich mal ansehen. Beste Grüße Go2EITS |
Re: Spracherkennung (Einzelworterkennung)
hmmm... irgendwas scheine ich falsch zu machen...
ich habe das programm gestartet und es ist mikrofon ausgewählt.. jedoch kann ich keine aufnahme starten :/ um gleich vor zu beugen: mein mikrofon funktioniert in allen anderen anwendungen... |
Re: Spracherkennung (Einzelworterkennung)
hört sich ja fast nach einer diplomarbeit an... cool gemacht :thumb:
jetzt noch ne komponente zum einsatz in anderen programmen und ich spring im kreis :-)) gruß reli |
Re: Spracherkennung (Einzelworterkennung)
Zitat:
Zitat:
|
Re: Spracherkennung (Einzelworterkennung)
Ein echt cooles Programm.
Was mir so aufgefallen ist:
EDIT: Habe gerade gelesen, dass das Schneiden ja über linke/rechte Maustaste geht. Einfaches markieren mit der linken fände ich einfacher, aber es geht auch so. Ausprobieren konnte ich es leider nicht, da sich das Programm nicht ein zweites mal starten lässt (Microsoft Application Error Reporting wird gestartet). EDIT2: Habe gerade gemerkt, dass der erste Prozess noch lief, hatte sich scheinbar beim beenden aufgehangen. Der fehler beim erneuten startet kam dann von der DB, auf die du 2x zugreifen willst. Dieser kommt auch, wenn du das Prgm. ganz normal 2x gleichzeitig startest. |
Re: Spracherkennung (Einzelworterkennung)
Hallo,
ich habe gerade Dein Programm getestet. Schonmal nicht schlecht. Nur folgende Dinge würde ich mir noch wünschen :
Wieso werden zwei Fenster geöffnet, wenn ich unter Optionen-->Einstellungen auswähle ? |
Re: Spracherkennung (Einzelworterkennung)
Hallo,
Zitat:
Zitat:
Zitat:
Sieben sollte eigentlich immer sehr gut zu erkennen sein. Um die Trefferquote noch weiter zu erhöhen können auch mehrere Referenzmuster für ein Symbol aufgenommen werden. Die Refenrenzmustern sollte man auf jeden Fall optimieren, falls eins nicht so gut geht -> löschen und neu aufnehmen. Deutlich sprechen und wie oben erwähnt, das Signal sollte nicht zu leise sein. Spracherkennung ist hochkompliziert und immer garantiert nicht fehlerfrei. Trotzdem bin ich begeistert von der Erkennunggenauigkeit des Systems, weil ich mich mit mehreren Techniken beschätigt habe (Neuronale Netze, Dynamic Time Warping, LPC, Cepstrum, reine FFT, Spektrum). Und als ich das erstemal dieses Konzept getestet hatte, bin ich fast vom Stuhl gerutscht, weil die Erkennungrate bei 100% lag. Sie liegt in Wirklichheit bei <100% aber eben auch bei >95% und das will schon etwas heißen! Zitat:
Zitat:
Das mit den zwei Fenstern verstehe ich nicht so ganz. Es gibt ein Hauptfenster und ein Einstellungsfenster. Vielen dank für eure Meinungen. Bei der Entwicklung stand im Vordergrund das überhaupt ein einigermaßen funktionierendes Produkt zu stande kommt. Es kann also durchaus sein, dass es noch Verbesserungen geben kann (gibt es die nicht immer), deshalb danke ich euch für die Hinweise. Allerdings sind in dieses Projekt bis jetzt >200 Stunden reingeflossen und ich muss ehrlich zugeben, ich kann es nicht mehr sehen. Deshalb wird es erstmal keine Änderungen geben. Ich wollte es euch mal vorstellen, weil ich das Thema nach wie vor hoch interessant finde und ich mal zeigen wollte das es durchaus möglich ist soetwas zu realisieren. Vielleicht finde ich irgendwann nochmal die Muße eure Wünsche mit einzubauen. Gruss Thorsten |
Re: Spracherkennung (Einzelworterkennung)
unter windows vista läuft dein prog nur mit administratorrechten.
|
Re: Spracherkennung (Einzelworterkennung)
Zitat:
Edit: Hast du eventuell die Window Firewall aktiv? Die unterschiedet ja leider nicht zwischen lokalen TCP/IP und von außen kommenden Verbindungen. Dort wird einfach alles gesperrt, deshalb geht dann Firebird nicht. Gruss Thorsten |
Re: Spracherkennung (Einzelworterkennung)
So, nach einigen Monaten und einigen Anfragen habe ich mich nun entschlossen das System zu veröffentlichen.
Ihr findet eine vollständigere Dokumentation + Quellcode im ersten Post. Ich freue mich auf Rückmeldungen und bin gespannt, ob ihr das System noch weiter optimieren oder verwenden könnt. Viel Spass + Gruss Thorsten |
Re: Spracherkennung (Einzelworterkennung)
Hallo omata,
ich hab s mir auch mal runtergeladen aber ich kann nichts aufnehmen. Mikrofon funktioniert aber die Button werden nie enabled! |
Re: Spracherkennung (Einzelworterkennung)
Zitat:
![]() Gruss Thorsten |
Re: Spracherkennung (Einzelworterkennung)
Hi,
Aber da passiert immer noch nichts. Es wird zwar grün und ich kann auch weiterhin meine Stimme hören über die Boxen aber da ist kein Graph zu sehen und nichts! |
Re: Spracherkennung (Einzelworterkennung)
Tja, das ist schade. Habe es gerade nochmal ausprobiert und läuft.
Vermutlich ist dein Mikrofonpegel zu gering, nicht für die Aufnahme aktiviert, ... |
Re: Spracherkennung (Einzelworterkennung)
Zitat:
Tut glaube ich jetzt! Edit: Noch eine Frage. Wie assoziiere ich jetzt die gewünschte Aktion zum aufgenommenen Befehl? |
Re: Spracherkennung (Einzelworterkennung)
Ich gebe zu ich habe nur kurz gesucht, aber unter welcher Lizenz läuft der SourceCode?
Wenn man ihn verwenden und verändern will, was kostet das? funktioniert die Worterkennung auch bei PCM 16 Bit 8khz noch ausreichend?--> Das ist wichtig, weil ich aus ALAW nach PCM 16vBit(Mono) 8khz konvertiere. |
Re: Spracherkennung (Einzelworterkennung)
Zitat:
Zitat:
Zitat:
Gruss Thorsten |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Freeware" nach "Open-Source" verschoben.
|
Re: Spracherkennung (Einzelworterkennung)
So, mal wieder was neues.
Ich konnte den DTW selber noch etwas optimieren. Ein Umschalten auf eine andere Soundkarte ist nun auch vorhanden. Gruss Thorsten |
Re: Spracherkennung (Einzelworterkennung)
hmm hab personen und aufnahmen erstellt sehe die auch in der datenbank aber die erkunng klappt überhauptnicht.
also ich hab son stück einer aufnahme per stereo mix aufgenommen und in der db. wenn ich genau das selbe stück jetzt nochmal abspiele bei der erkennung dann sehe ich auch eine kurve aber er meint immer kein symbol erkannt. :pale: |
Re: Spracherkennung (Einzelworterkennung)
Hallo Timi-loader,
ich habe mir das nochmal angesehen und konnte dein Problem nachvollziehen. Du hast vermutlich nur eine Aufnahme, selbst bei mehreren, die sehr stark in der Länge variiren tritt dieses Problem auf. Dann kann nämlich keine Prozentschwelle berechnet werden bzw. sie ist immer auf 0% und du erhälst deshalb keine Erkennung. Probiere erstmal aus, ob du eine Erkennung erhälst, wenn du die Schwelle auf 0% stellst. Ich habe den Quellcode angepasst und neu hochgeladen. Der Benutzer kann nun entscheiden ob ein Längenvergleich durchgeführt werden soll. Ist dies der Fall, werden nur Signale verglichen, die in etwa gleichlang sind (das war bis jetzt der Default). Dann muss nicht jedes Muster mit dem zu erkennenden verglichen werden. Das erhöht die Geschwindigkeit, allerdings wenn nur noch ein Muster passt und damit nur als einziges zum Vergleichen herangezogen wird, dann kann keine Prozentschwelle ermittelt werden. Dies wird jetzt anstelle der Prozentangabe ausgegeben und die Erkennungsschwelle wird dann nicht mehr berücksichtigt. Allerdings ist dann auch keine Aussage mehr möglich, ob das gefundene Muster auch wirklich dem gerade eingesprochenem entspricht. Mir ist diese Problematik bis jetzt nicht aufgefallen, weil ich immer mehrere Muster (Zahlen: 0-9) in der Datenbank vorliegen hatte und diese eben alle ungefähr gleich lang sind, so das immer mehrere zu einem Vergleich herangezogen wurden. Vielen Dank für diesen Hinweis, hoffe ich konnte dir das Problem näherbringen. Grüsse Thorsten |
Re: Spracherkennung (Einzelworterkennung)
Bei mir kommt es direkt nach Programmstart zu folgendem Fehler:
Code:
OS: Windows Vista 32 Bit.
---------------------------
Spracherkennung --------------------------- Aufnahme kann nicht initialisiert werden. --------------------------- OK --------------------------- |
Re: Spracherkennung (Einzelworterkennung)
Das ist schade, ich habe kein Vista.
Quellcode ist ja für eine Fehlersuche vorhanden. Edit: Hast du eventuell mehrere Soundausgabemöglichkeiten, aber nicht alle davon können aufnehmen? Startet das Programm trotzdem? Wenn ja, könntest du mal ein anderes Device auswählen. Gruss Thorsten |
Re: Spracherkennung (Einzelworterkennung)
hallo omata.
ok jetzt versteh ich das problem. denn die aufnahmen die live gemacht werden fangen immer anders an und enden anders. also dein programm nimmt ja ein neues wort dann wahr wenn ne pause war. und ja hab auch nur wenig aufnahmen drinn bzw nur die eine in verschiedenen längen. aber auch bei 0% klappt es nicht. kannst du dein programm so umbaun, dass es auch teile aus einem andern erkennt? bzw wäre auch ne art live-mode dann gut. (also dass man praktisch doppelt recordet immer bei der hälfte des einen den andern schon recordern so könnte man nix verpassen) den neuen quellcode kann ich leider nicht testen da ich nicht klar komme die zeus-komponenten zu installen (dbrtl fehlt.. ach ich hasse delphi personal) mfg achso: bei vielen dazugesprochenen zahlen noch und 0% erkennt er was. aber dann eben alles quer durchs beet^^ |
Re: Spracherkennung (Einzelworterkennung)
Hallo Timi-loader,
die Personal-Version hat kein TDataSet, deshalb kannst du die ZEOS-Komponenten nicht installieren. Wie der Titel schon sagt kann dieses Programm eine Einzelworterkennung. In einem Wort sind normalerweise keine Pausen. Der verwendete DTW-Algorithmus ist zwar ziemlich genau in der Erkennung aber es ist nunmal systembedingt, dass alle Muster verglichen werden müssen. Da der Algorithmus relativ aufwendig ist wird das System bei vielen Mustern sehr langsam. Ich weiss nicht was du vorhast und was du dir vorstellst, was dieses System im Stande ist zu leisten. Spracherkennung ist nichts triviales. Ich habe da Monate dran gesessen und das mal eben umzuprogrammieren ist nicht so einfach bzw. wenn ich da keine wirkliche Verbesserung erkennen kann, dann werde ich da keine Zeit rein investieren. Das System ist schon hoch optimiert, aber Zaubern kann es nunmal nicht. Das Hauptproblem ist nunmal die Größe des Wortschatzes, der DTW ist nur anwendbar bei einem kleinen oder reduzierbaren Wortschatzumfang. Da ist er dann aber unschlagbar! Vielleicht solltest du dich mal mit HMMs und KNNs beschäftigen, mir waren die HMMs damals allerdings einfach zu kompliziert. Siehe ![]() Was du da genau machen möchtest verstehe ich allerdings noch nicht so ganz. Gruss Thorsten |
Re: Spracherkennung (Einzelworterkennung)
Ne also das Programm startet nicht. Es folgen noch 3 bis 4 weitere Fehlermeldungen, die aber nur Zugriffsverletzungen melden. Wenn ich Zeit habe, kann ich mal bisschen debuggen.
|
Re: Spracherkennung (Einzelworterkennung)
Hallo,
ich wollte eigentlich ein kleines privates Programm schreiben auf der Basis von diesem hier... jedoch habe ich Probleme, es überhaupt zu compilieren. Das Problem liegt in der Unit "Main" (und weiterhin wohl auch überall dort, wo die Dateien fehlen). Hier fehlen einige dcu's:
Delphi-Quellcode:
Fehlermeldung:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, BassPlayerExU, BassTypenU, Menus, ZConnection, DB, ZAbstractRODataset, ZAbstractDataset, ZDataset, Grids, DBGrids, DBCtrls, DmConnectionU, FrameAufnahmeU, FFTU, Math, AuswertungU, BassChannelU, WaveToolsU, WaveAnalyseU, WaveFrameU, WaveTypenU, BassRecordingU, Spin; Zitat:
Was mache ich falsch? Fehlen mir einige Daten, die für das Programm nötig sind? Ich dachte, es wäre so weit OpenSource und würde komplett zum Download stehen. Google spuckt da auch nichts aus. Hat jemand nen heißen Tip für mich? Grüße, Blacky1812 |
Re: Spracherkennung (Einzelworterkennung)
nette Sache... werde ich heute Abend testen :>
|
Re: Spracherkennung (Einzelworterkennung)
Zitat:
Zitat:
|
Re: Spracherkennung (Einzelworterkennung)
Ohhhh peinlich, peinlich...
Alles klar :D Sebastian |
AW: Spracherkennung (Einzelworterkennung)
Hi Torsten,
ich kann das Programm zwar starten, aber der Aufnahmebutton ist inaktiv... Was mach ich falsch?? Gruß beanbear6 |
AW: Spracherkennung (Einzelworterkennung)
Hi ich verstehe die dokumentation nicht, kann man sich das programm irgendwie runterladen?
|
AW: Spracherkennung (Einzelworterkennung)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz