![]() |
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:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 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