![]() |
ENGLISH VERSION |
|
| Links | | | Forum | | | Kommentare | | | News melden |
| Chat | | | Umfragen | | | Newsticker | | | Archiv |
| amiga-news.de Forum > Programmierung > Tonerkennung | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
| -1- 2 3 4 5 6 Letzte | [ - Beitrag schreiben - ] |
|
28.07.2006, 23:26 Uhr MaikG Posts: 5172 Nutzer |
Ich hab mein Handy am Amiga angeschlossen, das Handy nimmt automatisch ab. Das ist erstmal um die knappheit der Ein/Ausgänge zu umgehen. Ich kann also meine Alarmanlage anrufen, meinen Namen als "Passwort" sagen und Status etc. abfragen. Nun habe ich die Spracherkennung über die voice.library gemacht, diese ist nun nicht sehr genau. Per Handy wirds dann noch etwas schlechter. Nun wollte ich zumindest das Passwort per DTMF machen, weil im extremfall 5 mal in der Öffentlichkeit meinen Namen zu sagen ist etwas doof. Ausserdem, rein Theoretisch wenn den jemand nachspricht könnte den die voice.library ebenfalls durchlassen, wie gesagt die genauigkeit ist begrenzt. Ja, DTMF sind es jeweils 2 Sinustöne unterschiedlicher Frequenz. Auf den Sampler kann ich Hardwaretechnisch zugreifen und eine Wellenform "zeichnen". Aber wie man damit irgendwas sinnvolles anstellt weiss ich nicht. Ein Bild kann ich da schon viel eher analysieren. [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 00:15 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Am einfachsten wäre es eine FFT (Fast Fourier Transformation) zu machen, die wandelt ein Amplituden in ein Frequenzspektrum um, dann hast du an genau den Stellen, die der Frequenz der beiden Sinus Schwingungen entsprechen einen Peak. [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 09:32 Uhr MaikG Posts: 5172 Nutzer |
>Am einfachsten wäre es eine FFT (Fast Fourier Transformation) zu >machen, die wandelt ein Amplituden in ein Frequenzspektrum um, >dann hast du an genau den Stellen, die der Frequenz der beiden >Sinus Schwingungen entsprechen einen Peak. Also wie ein Frequenzanzeiger mit so Balken. Und für dumme, wie geht das Programmiertechnisch? [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 10:47 Uhr bubblebobble Posts: 707 Nutzer |
Für Dumme geht das programmtechnisch gar nicht. Für alle anderen: Die FFT wandelt ein sog. Zeitfenster (also z.B. 1024 Samples) in das dazugehörige Spektrum um, also 1024 complexe Werte, die die Amplitude und die Phase der Frequenzanteile darstellt. (bzw. Sinus und Cosinus Anteil bei der FFT, kann man aber hin- und her wandeln). Was du brauchst ist das Leistungsspektrum, das dir die Energie von jedem Frequenzband gibt. Das erhält man durch Leistung = Wurzel(sinusAnteil hoch 2 + cosinusAnteil hoch 2) Wenn du jetzt ein Beep, bestehend aus zwei Frequenzen hinein gibst, sind alle Frequenzen recht gering (Rauschen) und auf zwei Frequenzbändern würdest du einen hohen Ausschlag bekommen, daran kann man den Beep erkennen. Welche das sind, hängt von den Frequenzen des Beeps ab, der Samplefrequenz und der FFT Länge. Die FFT ist normalerweise so implementiert, dass die Eingabe eine Zweierpotenz ist, also 128, 256, 512, 1024, 2048 usw. Das erste Band ist der Gleichstromanteil, für uns uninteressant. Das zweite Band ist die Frequenz, deren Schwingung gerade einmal in das Zeitfenster passt. Das dritte Band representiert die Frequenz, die zweimal in das Zeitfenster passt usw. (lineare Scala). Da die obere Hälfte des Spektrums sich in der Mitte quasi spiegelt, interessieren uns auch nur die unteren 257 Werte, wenn die FFT 512 "Punkte" gross war. Implementationen für die FFT findest du an jeder Ecke im Internet, Onkel Googel hilft dir da sicher weiter, auch Tante Wikipedia hat einiges zum Thema FFT zu bieten. Für Amiblitz2 findest du die fft.inlcude in meinem Sourcecodearchiv, http://www.hd-rec.de/Archive/TK_AB2_Sources.lha Als Verfeinerung sollte man das Zeitfenster zunächst mit einer Fensterfunktion versehen, für deine Zwecke wäre ein "Hanningfenster" am besten. Das verhindert, das der zu erwartende "Knacks" am Anfang und am Ende des hart herausgeschnittenen Zeitfensters gedämpft wird, und dadurch nicht das Spektrum verwäscht. (Leaking Effekt) Auch das findest du in meiner fft.include. Wenn du das ganze erstmal testen willst, schau dir doch in HD-Rec den Spektralizer an. Setze diesen DSP Effekt auf den Input Kanal, und schicke den Beep in die Soundkarte. Dann solltest du zwei sehr klare Peaks sehen. Mit einem einfachen Schwellwert könnte man das leicht erkennen. Achso, was für ein Amiga denn ? Selbst ein 60er könnte an die Grenze kommen, die FFT in Echtzeit zu machen, da es relativ aufwendig ist. Aber du brauchst ja nicht ständig analysieren, man kann auch jedes zweite Fenster verwerfen, das sollte für deine Zwecke auch noch dicke reichen. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ Dieser Beitrag wurde von bubblebobble am 29.07.2006 um 10:53 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 13:39 Uhr Chritoph Posts: 549 Nutzer |
Zitat: Ernsthaft? Wie mischt AHI dann die Kanäle? (Ja, die Frage IST ernst gemeint.) -- A4000T-128MB-233MHz 604e-50MHz 68060-SCSI Platten-Voodoo 3 3000/Mediator/SB4.1 digital/Highway/Norway/RLT8029/Arxon Scandoubler/interner Monitorswitch<-voll KRANK! A1200-32MB-50MHz 68030&68882-IDE Platten-Fiberline Netzwerkkarte [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 15:41 Uhr Holger Posts: 8116 Nutzer |
Zitat: Jedenfalls nicht über FFT. Da werden einfach nur die Samplewerte addiert und meistens noch durch die Anzahl Kanäle geteilt, um innerhalb des zulässigen Wertebereichs zu bleiben. Das war's auch schon. FFT kommt beim Mischen nur dann in's Spiel, wenn Du einen Equalizer hast, mit dem Du einzelne Frequenzbereiche verstärken/dämpfen kannst. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 16:12 Uhr Chritoph Posts: 549 Nutzer |
@Holger: Okay, ich kann das im moment zwar kaum glauben, nehme das aber mal so hin. Ich hab eh vor nach meiner Diplomarbeit bissel 68k zu hacken, wirklich schnelle FFT steht da mit auf dem Zettel, dann weiss ich mehr hierzu zu berichten. -- A4000T-128MB-233MHz 604e-50MHz 68060-SCSI Platten-Voodoo 3 3000/Mediator/SB4.1 digital/Highway/Norway/RLT8029/Arxon Scandoubler/interner Monitorswitch<-voll KRANK! A1200-32MB-50MHz 68030&68882-IDE Platten-Fiberline Netzwerkkarte [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 18:11 Uhr bubblebobble Posts: 707 Nutzer |
Kanäle mischen ist doch kinderleicht im Zeitbereich, einfach die Sample Werte addieren, oder was hast du gedacht ? FFT ist da nirgneds im Spiel bei AHI. Das braucht man nur für DSP Effekte, die im Frequenzbereich arbeiten, da gibt es aber gar nicht mal so viele. Bei HD-Rec brauche ich das nur für den Spektralizer (Spektrometer). Ich arbeite gerade noch an einem Formant-erhaltenden Pitch shifter und an einem Denoiser, da kann man das auch gebrauchen. Viele Effekte berechnet man effizienter im Zeitbereich, auch Equalizer. Ein 60er packt zwar eine FFT in Echtzeit, wenn es effizient implementiert ist, aber z.B. bei überlappenden Fenstern und/oder mit Rücktransformation wird es eng. Das siehst du am MP3 abspielen. Das ist im Prinzip nur eine inverse FFT (von dem entzippen mal abgesehen). Und das braucht schon mehr als 50% CPU. Wobei mir einfällt, für die Tonerkennung reicht ja 16 oder 8kHz Samplingrate und mono. Da kann man natürlich einiges einsparen im Vergleich zu 44.1kHz und stereo. BTW, ich habe auch FFT Code, der mit Integer Werten rechnet, und trotzdem recht genau ist. Das wäre auf einem 60er in Assembler umgesetzt vermutlich das schnellste was möglich ist. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 18:24 Uhr MaikG Posts: 5172 Nutzer |
>FFT wandelt ein sog. Zeitfenster (also z.B. 1024 Samples) in das >dazugehörige Spektrum um, also 1024 complexe Werte, die die >Amplitude und die Phase der Frequenzanteile darstellt. >(bzw. Sinus und Cosinus Anteil bei der FFT, kann man aber hin- und >her wandeln). >Was du brauchst ist das Leistungsspektrum, das dir die Energie von >jedem Frequenzband gibt. Das erhält man durch >Leistung = Wurzel(sinusAnteil hoch 2 + cosinusAnteil hoch 2) Ein bisschen hab ich verstanden, ich brauche ein Equlizier Beispiel, wie z.B. in Amplifier oder Megalosound :-) >http://www.hd-rec.de/Archive/TK_AB2_Sources.lha Ich guck. >Achso, was für ein Amiga denn ? Selbst ein 60er könnte an die >Grenze kommen, die FFT in Echtzeit zu machen, da es relativ >aufwendig ist. Verstehe ich nicht Megalosound zeigt mir den Equi auf 68000. Ist ein 030er. [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 18:57 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Zitat: Es ist ja auch nicht so, daß Maik wirklich Realtime-Verhalten braucht, es reicht wohl ein paar Samples auszuschneiden und darauf die FFT anzuwenden. [ - Antworten - Zitieren - Direktlink - ] |
|
29.07.2006, 23:02 Uhr MaikG Posts: 5172 Nutzer |
>Es ist ja auch nicht so, daß Maik wirklich Realtime-Verhalten >braucht, es reicht wohl ein paar Samples auszuschneiden und darauf >die FFT anzuwenden. Wie schell solche DTMF töne sind ist ja bekannt und schnell sollte es gehen. Ich überleg schon ob ich die DTMF erkennung nicht über die Spracherkennung mache, die Töne sind ja immer exakt. Nur es ist auch so eine frage wie schnell so kurze sequenzen hintereinander weg verarbeitet werden können. Das BB zeugs müsste ich erstmal umwandeln um überhaupt mal ASCII zu sehen. [ - Antworten - Zitieren - Direktlink - ] |
|
30.07.2006, 14:30 Uhr bubblebobble Posts: 707 Nutzer |
Hier sind mal die wichtigsten Funktionen. Die FFT nimmt 32bit integer mono samples, and wandelt es in complexe floats um. Wenn du willst, kann ich dir den kompletten Code als ASCII schicken. Die FFT macht genau das, was du brauchst. So würde ich das machen. Ob du nun diesen Code verwendest oder eine andere aus dem Netz ist egal. Vielleicht kommst du mit einem C Beispiel besser klar. Dieser hier ist auch schon etwas optimiert, und deshalb aufwendiger als nötig, z.B. werden Tables vorberechnet. code: -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
|
30.07.2006, 18:15 Uhr MaikG Posts: 5172 Nutzer |
>Die FFT nimmt 32bit integer mono samples, and wandelt es in >complexe floats um. Dann müsste ich ja den z.B. 8000 HZ 8 Bit Sample erst in 32 Bit wandeln? Ist ein eigenartiger Basic dialekt, aber schlimmer als C wird der auch nicht sein. [ - Antworten - Zitieren - Direktlink - ] |
|
30.07.2006, 22:55 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Hier eine hoffentlich leicht verständlichere Version, langsam und mit Floatingpoints aber eigentlich genau für deinen Anwendungszweck bestimmt.C code: das Wichtigste ist die Funktion FFT(), diese habe ich für 8BIT signed Werte ausgelegt genau für die damaligen Amiga Paralellport Sampler. die Funktion pow(n,m) liefert den Wert n ^ m zurück. der erste Parameter von FFT() gibt den Eingangspuffer d.h. die gesampleten Werte, dieser Puffer ist 2^mlog2 Bytes gross, d.h. wenn du 512 Samples hast muß mlog2=9 sein, denn 2^9 = 512. der OutPuffer (zweiter Parameter) muß die gleiche größe die der Eingangspuffer haben dieser enthält dann die Leistungen der einzelnen Frequenzbänder, dieser ist jedoch Spiegelsymetrisch, d.h. es sind nur die Werte bis zur hälfte interessant, der linke Wert enthält dann die Leistung des kleinsten Frequenz der mittlere die der höchstens Frequenz (= halbe Abtastfrequenz, die für die FFT jedoch nicht benötigt wird). Das Beispiel mischt drei Sinuswellen unterschiedlicher Frequenz zusammen und zeigt dann das Frequenzspektrum dieser Welle an, wie du an der Ausgabe erkennen kannst haben genau die drei Bänder die höchste Leistung, die den Frequenzen der gemischten Wellen entsprechen. 100% kannst du die Frequenz kaum herausfinden, da du (2^mlog2 / 2) Bänder nach der FFT erhälst, d.h. wenn die Samples mit der Abtsatfrequenz von 44100Hz gesamplet worden, die maximale Frequenz dann 22050 ist, die Möglich ist. Damit ist der Abstand zwischen den einzelnen Bändern 22050 / (2^mlog2 / 2). Damit ist die Auflösung umso besser je größer mlog2 ist. Also: erstelle z.B. zwei Puffer mit 1024 Bytes, damit ist nlog2=10 kopiere in den ersten Puffer die Samples aus dem Sampler und führe auf diesen Puffer die hanningfunktion aus, führe dann auf den gleichen puffer FFT(inpuffer, outpuffer, 10) aus. [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 12:33 Uhr bubblebobble Posts: 707 Nutzer |
@Daruis Normalerweise muss man doch erst permutieren, und dann transformieren. In deinem Code ist das andersherum. Ich glaube nicht dass das funktioniert. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 15:16 Uhr Holger Posts: 8116 Nutzer |
Zitat: Ich bin ja nu wirklich kein Optimierungs-Fanatiker, aber hier bietet sich definitiv an, (int)pow(2, x) durch 1<<x zu ersetzen, weil es doch mehrfach vorkommt, und teilweise in compile-time Konstanten resultiert, aber eben nur, wenn man keine externen Funktionen aufruft. Gerade alte Amigs werden es danken, wenn man für einfache Integer-Operationen nicht die FPU bemüht. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 17:58 Uhr MaikG Posts: 5172 Nutzer |
Oh, man das sieht so kompliziert aus. Kann man nicht die ca. 6 zu erwartenden Frequenzen über das Sample legen und wenn die Amplitude dann fast 0 ist hat man die richtigen Frequenzen(Frequenzauslöschung). Ich hab übrigens keine FPU. [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 19:29 Uhr Holger Posts: 8116 Nutzer |
Zitat: Nein, denn da Du nicht die Phasenverschiebung kennst, kannst Du auch das Gegenteil erreichen -> Amplitudenverdoppelung. Oder, was am wahrscheinlichsten ist, irgendetwas dazwischen, was Dir überhaupt nicht weiterhilft. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 19:43 Uhr bubblebobble Posts: 707 Nutzer |
So kompliziert ist das nicht. Du musst ja den FFT loop nicht unbedingt verstehen, reicht wenn du die Funktion aufrufst. Im Aminet gibts es übrigends die easyFFT library, falls du das nicht selbst coden willst. Ich könnte auch meine FFT.inlcude mal in eine Lib packen. Dann sieht das so aus: ffthandle = fft_init(order) if (ffthandle) { fft_sethanning(ffthandle) fft_do_mono(ffthandle,sourcebuffer,destbuffer) fft_free(ffthandle) } Wobei dann order=10 für ein Fenster von 1024 samples ist. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 21:25 Uhr Holger Posts: 8116 Nutzer |
Offenbar ist der Goertzel Algorithmus für die Aufgabe besser geeignet. Auf der englischen Wikipediaseite zu dem Algorithmus gibt's auch gleich einen passenden Quellcode: wiki:Goertzel algorithm#Sample code DTMF mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 22:07 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Zitat: ??? ich weiß nicht was nicht Funktionieren soll, den Code habe ich schon vor 15 Jahren in 68k ASM benutzt um aus gesampleten Samples Frequenzbänder anzuzeigen und das hat auch 1000000% geklappt. Der Algorithmus ist von Sande und Tukey, stammt aus dem Mathematischen Taschenbuch von Stöcker, ich denke das dürfte so OK sein. [ Dieser Beitrag wurde von DariusBrewka am 31.07.2006 um 22:15 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 22:14 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Zitat: Das war mir schon klar, eigentlich wollte ich ja 2^m benutzen bis ich gemerkt habe das das in C nicht geht, da Maik AFAIK nicht C programmiert habe ich gedacht pow() wäre eindeutiger als 1<<m. Der code war definitiv nicht dazu gedacht Geschwindigkeitsrekorde aufzustellen, er läuft auch ohne doubles nur sind dann die Ergebnisse nicht so exakt. Außerdem habe ich lieber auf 1 normierte Samples. Habe halt nur schnell was geschrieben, was Maik's Anwendungsgebiet genau abdeckt. Aber wie dem auch sei, die sagen wir auch wenns 100 pows() sein sollten die dürften selbst auf einem c64er nicht ins Gewicht fallen. [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 22:25 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Nunja für eine 128 Punkt fft, mlog2 = 7 und drei Sinuswellen mit den Frequenzen von 700Hz, 5000Hz und 19000Hz bekomme ich die folgende Ausgabecode: ohne Hanningfenster ist die Ausgabe aber besser, ich weiß nicht ob die Hanningfunktion bei mir Richtig ist, ggf. ist hier etwas nicht korrekt. oder mit den Wellen von 50Hz, 70Hz und 190Hz und mlog2 = 9 und abtast=512Hz code: also ohne hanning 100% exakt [ Dieser Beitrag wurde von DariusBrewka am 31.07.2006 um 22:36 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
|
31.07.2006, 23:01 Uhr MaikG Posts: 5172 Nutzer |
>Im Aminet gibts es übrigends die easyFFT library, falls du das >nicht selbst coden willst. Ist wohl einfacher als den BB oder C code umzusetzten. Guck ich mir morgen mal an, muss ja auch schnell genug sein, weil ich tippe ja schnell :-) [ - Antworten - Zitieren - Direktlink - ] |
|
01.08.2006, 11:16 Uhr bubblebobble Posts: 707 Nutzer |
@Maik In welcher Sprache willst du das denn coden ? @Darius Das Hanning Fenster bringt nur was, wenn deine Sinus Schwingungen nicht bei 0 anfangen. Wenn du die künstlich berechnet hast, und z.B. bei Sin(0) angefangen hast, dann sind sie schon quasi perfekt, und das Hanning Fenster stört nur. In der Realität bekommst du dein Fenster aber mittenheraus, und dann ist ein Knacks im Fenster der die hohen Frequenzen verwäscht. 128 Punkt FFT ist auch noch sehr ungenau, wobei das in deinem Beispiel schon reichen würde. Es geht ja nur darum, das Signal von anderen Signalen zu unterscheiden. BTW, wenn das aus dem Stöcker ist wirds schon stimmen. Wundert mich aber. Normalerweise sortiert man die Samples zuerst um, und wendet dann den Butterfly Algorithmus an. Dass es auch umgekehrt geht ist mir neu. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
|
01.08.2006, 12:10 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Zitat: Das mit 128 ist mir schon klar, ich hätte auch mlog2=13 machen können, dann wäre Petra sicherlich nicht so glücklich über die 8192 Zeilen die ich hier hätte angeben müssen. Zitat: Naja, ich denke das kommt auf den Algorithmus an, wie gesagt beim Stöcker ists Sande-Tukey, aber so genau habe ich mir das nie angeschaut, war nur am Ergebnis interessiert. [ - Antworten - Zitieren - Direktlink - ] |
|
01.08.2006, 14:55 Uhr Solar Posts: 3680 Nutzer |
Zitat: 100 double-pow()s gegenüber der gleichen Anzahl Integer-Shifts? Du würdest Dich wundern... [ - Antworten - Zitieren - Direktlink - ] |
|
01.08.2006, 18:00 Uhr MaikG Posts: 5172 Nutzer |
>In welcher Sprache willst du das denn coden ? Maxon Basic, darin läuft ja auch der Rest des Alarmsystems. [ - Antworten - Zitieren - Direktlink - ] |
|
02.08.2006, 00:02 Uhr Holger Posts: 8116 Nutzer |
@MaikG: Hast Du Dir mal das Beispiel für die DTMF-Erkennung mittels Goertzel-Algorithmus angesehen? Der scheint für diesen Zweck deutlich effizienter zu sein, insb. wenn man das Programm in Basic für einen nicht-FPU ausgestatteten Amiga schreiben will. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
|
02.08.2006, 09:55 Uhr MaikG Posts: 5172 Nutzer |
>Hast Du Dir mal das Beispiel für die DTMF-Erkennung mittels >Goertzel-Algorithmus angesehen? Der scheint für diesen Zweck >deutlich effizienter zu sein, insb. wenn man das Programm in >Basic für einen nicht-FPU ausgestatteten Amiga schreiben will. Wo gibt es das? [ - Antworten - Zitieren - Direktlink - ] |
| -1- 2 3 4 5 6 Letzte | [ - Beitrag schreiben - ] |
| amiga-news.de Forum > Programmierung > Tonerkennung | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
|
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2025 by amiga-news.de - alle Rechte vorbehalten. |