LISP for dummies? - [b]Ausführliches[/b] Tutorial online?

  • >>Vorhin habe ich rise und fall in der Funktion verändert und die resultierende Kurve änderte ihre Form. Ist das nicht attack und decay?


    >Antwort: Ja - Frage: was ist das für ein System (Win/Mac/Linux) und was für eine Audacity Version ?


    XP, Audacity 123. Sah alles ganz logisch aus, nur die entstandene "Hüllkurve" war um viele zig samples zeitlich nach hinten versetzt, also unbrauchbar zur Flankendetektion.


    >Mein Standard-Trick geht so: (setf s (max s (scale -1 s))) Das ist ein Doppelweggleichrichter (alle negativen Samples werden "hochgeklappt" in den positiven Bereich, damit hast Du die doppelte Zeitauflösung)


    Also so etwas wie eine abs- oder Betragsfunktion. Das muß ich mir herauskopieren, darauf komme ich sonst nicht..


    > - danach kannst Du einen ganz normalen Tiefpass nehmen zum Integrieren


    Die Tiefpässe in beat.ny verschmieren nur die Flanken...


    >Für eine Flanke von z.B. einem einzigen Sample reicht ein einfacher Tiefpass natürlich hinten und vorne nicht.


    Ebent :(


    >Weiteres Problem: ab Tiefpässen 2.Ordnung (Butterworth etc.) gibt es zunehmend Probleme mit Überschwingern im Resonanzbereich in der Nähe der Übergangsfrequenz des Filters. Da erzeugt dann der Filter bei kurzen Signalen mehr Fehler als dass er filtert.


    Habe ich gesehen, als ich den Netzbrumm ziemlich drastisch mit -32dB und gesenkt und den Rest mit +32db angehoben habe :)



    >Die einzigst machbare Lösüng dürfte also wirklich eine arithmetische Analyse von Samplereihen sein. Im Prinzip bist Du mit den BeatFinder da schon auf der richtigen Baustelle. Mit snd-fetch ist es machbar, jedes Sample einzeln zu untersuchen und über ein Fenster von so-und-so viel Samples (wie viele genau muss noch ausprobiert werden) ist auch ein Flankendetektor machbar.


    So ungefähr hatte ich das gedacht.



    >Auch noch wichtig: max 2,1 sek bedeutet: wenn sich der Flankendetektor nur um ein einziges Sample verhaut, haben wir einen Messfehler von mindestens 2.1 Sekunden am Backen.


    Wenn Du den Meßwert einer Sekunde auf den Tag hochrechnest, ja. Aber man kann ja leicht, da es periodische Ereignisse sind, über 30 bis 60 sek messen. Per Hand klappte das sehr gut, Reproduzierbarkeiten um 0,005 sek/d.



    Thema Genauigkeit von Quarzoszillatoren: Die Standard Quarzuhren-Chips sind für die menschliche Körpertemperatur ausgelegt weil in einer Armbanduhr ist die eigene Körperwärme die Temperaturregelung (kein Witz).
    Der Grund warum z.B. die Uhr im Rechner meist grauenhaft falsch geht (mehrere Minuten pro Monat bei mir) ist ganz einfach der, dass es im Rechner drin keine konstanten 38 Grad hat.



    >Wenn Du wirklich konstante Quarzfrequenzen willst brauchst Du einen Quarzofen (ein paar Windungen Heizdraht um den Quarz und eine Regelung, die die Temperatur konstant hält).



    >Da es ja wahrscheinlich um Uhrmacher-Probleme geht: ein GPS oder Funkuhrmodul tut es wahrscheinlich auch, ich mache mir eigentlich viel grössere Sorgen um die Genauigkeit der Soundkarte und der Nyquist Filter. Der Jitter der Soundkarte ist wahrscheinlich das geringste Problem, das eigentliche Problem ist die Frequenzenauigkeit.


    Genau. Bei der ersten Messung 8001 statt 8000 Hz, 22050,8 statt 22050, 44101,8 statt 44100. Am Folgetag 22043Hz und das ist schon dramatisch.


    Genau für diese Frequenzkalibrierung brauche ich entweder
    1. einen sehr guten Quarz (Bauaufwand, Kosten)
    2. ein GPS-Modul
    3. Funkuhr (schlecht wegen Jitter, gut wegen Langzeitgenauigkeit
    4. eine gute Quarzuhr (gut wg. Jitter, fraglich wg. Langzeitgenauigkeit.


    Für den Anfang habe ich mir mit einem genau gehenden Quarzwecker (4.) beholfen, jetzt muß ich noch das Conrad-Funkuhrmodul anschließen.


    Plan ist, bei der Aufnahme der Uhr-Ticks wie jetzt den Quarzwecker und/oder die Funkuhr mitlaufen zu lassen.


    >Man müsste im Prinzip die Quarzfrequenz der Soundkarte während der Aufnahme messen, nur wie (ohne externen Hardware Frequenzzähler)


    s.o. Quarzwecker. Siehst Du auf der Webseite, Signal A.


    >Nochmal Thema "eigenständige Applikationen mit XLisp": es gibt Nyquist Executables (also XLisp+Nyquist ohne Audacity) für Windows, Mac und Linux. Damit könntest Du per Command Line z.B. Nyquist Filter als Lisp-Dateien ausführen lassen. Ist jetzt keine super-tolle Lösung, aber so wäre es möglich, die Geschichte hinterher zu automatisieren. Einziger Haken: Nyquist kann (noch) nicht aufnehmen, dazu bräuchtest Du noch einen Command-Line Audio-Rekorder. Aber auch das ist kein riesiges Problem.


    Ist doch mal eine Perspektive.
    BTW: kennst Du einen einfachen Weg, zeitgesteuerte Aufnahmen unter XP zu machen?


    Gruß
    Alexander

  • > Plan ist, bei der Aufnahme der Uhr-Ticks wie jetzt den Quarzwecker und/oder die Funkuhr mitlaufen zu lassen.


    Wenn man z.B. bei einer Stereoaufnahme auf einer Spur das Referenzsignal aufnehmen würde und auf der anderen das Ticken bräuchte man doch eigentlich nur die Differenz analysieren und der Quarzfehler der Soundkarte wäre egal - ist das vielleicht eine Lösung ?


    Command-Line Rekorder für WinXP kommt nachher, ich hatte da zwei Stück vor zwei oder drei Wochen erst, muss ich aber erst ins Radio fahren - bis nachher.

  • >> Plan ist, bei der Aufnahme der Uhr-Ticks wie jetzt den Quarzwecker und/oder die Funkuhr mitlaufen zu lassen.


    >Wenn man z.B. bei einer Stereoaufnahme auf einer Spur das Referenzsignal aufnehmen würde und auf der anderen das Ticken bräuchte man doch eigentlich nur die Differenz analysieren und der Quarzfehler der Soundkarte wäre egal - ist das vielleicht eine Lösung ?


    Genau das habe ich vor. Mono siehst du das auch schon auf den Screenshots in dem Link, den ich angegeben hatte.

  • Jetz hab' ich's kapiert. Ich hatte das nur schon wieder verdrängt weil zwei überlagerte Ticks in einer Monospur wieder auseinanderzukriegen und dann auch noch Samplegenau halte ich für illusorisch. Mit Stereo müsste das aber machbar sein.


    Command-Line wav Recorder kriegst Du auf http://www.bartdart.com/ - heisst cmd2wav.exe - Zusammen mit dem Windows "at" command kannst Du die Einschaltzeit und über Parameter die Aufnahmedauer (und noch viele andere Sachen) einstellen.

  • > weil zwei überlagerte Ticks in einer Monospur wieder auseinanderzukriegen und dann auch noch Samplegenau halte ich für illusorisch. Mit Stereo müsste das aber machbar sein.


    Mono sollte auch gehen:
    Zunächst erkennen aller Tics.
    Dann prüfen:
    gibt es 0,99 bis 1,1 sek weiter noch einen Tick? Danach noch einen?
    Fein, dann sind das die Referenzsignale.
    Alles andere sind Störgeräusche und zu untersuchende Ticks.
    Liegen die in regelmäßigen Abständen?
    Fein, dann sind das die Uhrwerkticks.


    "Fertig"