filename in nyquist importieren und weiterverarbeiten

  • Hallo!


    Ich versuche seit längerem den dateinamen in nyquist zu importieren, um mit den einzelnen Zeichen sequenzen/töne zu generieren. Leider bin ich, auch mit lesen (aber nicht wirklich verstehen) des manuals, gescheitert.
    Deshalb suche ich jemanden, der mir dabei helfen kann, mir Tipps geben kann oder, noch besser, das ganze für mich programmiert.


    Ich wäre auch bereit für eine Programmierung davon (und noch zusätzlichen Dingen zB die sequenz ins file hineinmixen) eine Aufwandsentschädigung zu leisten.


    Für andere "sachdienliche" Hinweise (andere Programme, links, etc) bin ich auch dankbar.


    Alles Liebe
    Aki

  • Ich erstelle individuelle Neurogramme, das sind Soundfiles, die für eine Person speziell massgescheidert sind und eine spezifische Wirkung (zb gegen Schlaflosigkeit, zur Konzentration, Lernen uvm) hervorrufen, und die möchte ich mit einem Art internen Wiedererkennungscode versehen. Den will ich, weil sich der Sound akustisch teilweise sehr ähnelt und ich sie später voneinander unterscheiden können muss, auch wenn sich der filename geändert hat.
    War das verständlich/nachvollziehbar?
    Ich möchte aber auch eine in der Endlösung möglichst quick&dirty Lösung, dass sich das alles vielleicht mal automatisiert.


    Weisst du eine elegantere/einfachere Möglichkeit?

  • Ich bin soweit, dass ich, wenn ich die Buchstaben in das script einbaue ("F I L E N A M E"), dass dann das drauskommt, was ich will - zumindest als Basis. Das müsste ich dann noch leiser machen und in das file reinmixen, aber das denke ich ist mit Nyquist weniger die Herausforderung als mein jetziges Problem.


    Ich suche aber prinzipiell nach einer Lösung. Wie die dann im Endefekt aussieht und woher die kommt ist mir im Grunde einerlei. Ich möcht diese dann auch selbst verstehen und auch gegebenfalls anpassen können, aber sonst habe ich (derzeit) keine Wünsche.


    Auf meiner Suche binich auf Nyquist gestossen, das mir so ausgesehen hat, dass es mächtig/funktionell genug wäre, um hier auf für die Zukunft keine Wünsche offen zu lassen. Aber wie gesagt, ich bin für vieles offen!

  • ZU deiner Frage:
    Mit nyquist kenne ich mich soweit aus, wie ich es brauche um das oben zustande zu bringen. Habe das aus den bestehenden scripts mir zusammengepastet. Hintergründe bzw mehr weiss ich keine/nicht!

  • Also wie gesagt, den Dateinamen kannst Du nicht von Nyquist aus auslesen. Was Du aber machen kannst (und was viel flexibler ist!): Du kannst ja den Nyquist-Plugins beliebige Parameter übergeben, unter anderem auch beliebige Zeichenketten. Das geht dann z. B. so:


    Code
    ;nyquist plug-in
    ;version 2
    ;type generate
    ;name "Test"
    ;action "Fuehre Test durch.."
    ;info "Ein Test"
    ;control eingabe "Geben Sie eine Zeichenkette ein" string "string"


    Dann kannst Du innerhalb Deines Nyquist-Programms die Variable "eingabe" ganz normal auslesen, weiterverarbeiten usw.

  • Gut! Danke! Das bringt mich einen Schritt weiter.


    Erinnere ich mich recht, dass es in nyquist möglich ist Zeichen aus einem anderen file zu holen? Oder sind mit Zeichen da Sound"zeichen" gemeint? "read-char" ???
    Das hab ich aus dem nyquist manual, aber die Rahmenbedinnungen bzw deren Syntax dazu fehlen mir.


    Mein Hintergedanke ist, dass ich ein script schreiben könnte, in dem ich übergeordnet ein zweites ("Text")file erstelle, in dem mein string, so wie ich ihn in nyquist brauche, steht.

  • Man muss da zwei Sachen unterscheiden: der Nyquist Interpreter in Audacity kann externe Dateien weder lesen noch schreiben (lt. Dominik Mazzoni: 'aus Sicherheitsgründen'). Er kann lediglich von Audacity empfangene Tondaten bearbeiten und dann entweder eine Lisp-Liste, eine Zeichenkette oder eine Tonspur an Audacity zurückgeben. Die Zeichenkette wird dabei als Pop-Up Box (ein Fenster mit Text) in Audacity angezeigt, aber nicht mit in die Datei geschrieben. Das hilft Dir also wahrscheinlich nicht gross weiter.


    Das Nyquist Manual bezieht sich auf die Nyquist Stand-Alone Kommandozeilen Version von Roger Dannenberg, die kann Text- und Soundfiles ohne Probleme lesen und schreiben.


    Soweit ich das verstanden habe möchtest Du einen Identifikationsstring (Zeichenkette) in die Tondatei mit einbauen (im Dateiheader oder sonst irgendwo), damit Du ähnlich klingende Dateien nachträglich noch identifizieren kannst, selbst wenn von Dir (oder wem auch immer) der Dateiname geändert wurde. Frage: Habe ich das richtig verstanden ? Oder soll so etwas wie eine Ansage am Anfang oder Ende der Datei erscheinen ?


    Ich müsste weiterhin wissen, um welches Dateiformat es sich handelt (wav, mp3 oder ähnlich) weil jedes Dateiformat wieder einen anderen Dateiheader hat.


    P.S.: Edgar hat momentan nur bei der Arbeit Internet (ja, ich arbeite Sonntags morgens um halb sechs), und da dauert das manchmal eben ein paar Tage (aber nur selten). Im Zweifelsfall mal oben unter 'Mitglieder > edgar-rft' schauen, da steht meine e-mail Adresse, die ist momentan aber auch nicht viel schneller. Ich werde heute abend aber nochmal vorbeischauen.

  • So pressieren tut es nicht, dass ich nicht auch mal dein einen oder anderen Tag warten kann! Ausserdem hab ich "daneben" auch andere Dinge zu tun!


    Nachdem ich auch noch wissen können möchte, welches file das mal war, wenn es in ein anderes Format konvertiert wurde, fällt - wenn ich das richtig verstehe - der Dateiheader aus.
    Ich habe mir das so vorgestellt, dass ich am Beginn, am Ende und/oder irgendwo in der Mitte eine Soundsequenz/Identifikationsstring habe, der erstens so leise ist, dass er nicht hörbar ist (auch wenn man es volle Lautstärke anhört) und zweitens in einem Frequenzbereich, der für normale Musik meist nicht mehr verwendet wird (und deshalb auch nicht stört). Ich habe mir einen modifizierten dtfm tone bzw die Abfolge schon gebastelt, aber wie schon geschrieben eben nur mit manuelem Zeichenkette in das script einfügen.
    Dann kann ich im Zweifelsfall das soundfile hernehmen und nach einer Prüfung sagen, was das für ein Soundfile ist/war.


    Ich hab auch keine Schwierigkeiten mit dem Nyquist Stand-Alone cli zu arbeiten. Es ist mir sogar lieber, wenn ich es dann auch per scipt automatisieren kann! Aber ich weiss dann aber trotzdem noch nicht wie ich das einlesen anstellen soll.


    War das nachvollziehbar?
    Weisst du da eine Lösung/Vorschlag zu Lösung?

  • Zitat


    ... der erstens so leise ist, dass er nicht hörbar ist (auch wenn man es volle Lautstärke anhört)


    das ist technisch nur mit 24-bit oder 32-bit Formaten realisierbar, die aber nicht in die Kategorie 'Standard-Benutzer Format' fallen. Wenn Deine Kunden (Patienten) die Dateien auf einem Standard CD Spieler (oder ähnlich) anhören sollen entfällt diese Möglichkeit. Mit Standard Tondatenformaten (CD oder mp3 oder ähnlich) ist das nicht machbar.


    Zitat


    ... und zweitens in einem Frequenzbereich, der für normale Musik meist nicht mehr verwendet wird (und deshalb auch nicht stört).


    das ist davon abhängig, wie 'meist' definiert ist. Im Prinzip gibt es in einer 'Standard CD' Datei (44.1kHz-16bit) keinen Bereich, der überhaupt nicht verwendet wird, es ist sogar so, dass 44.1 kHz absichtlich 'zu wenig' ist, damit aus verkauften CDs kein Studio-Master mehr rekonsruierbar ist.


    Im Prinzip kommen eigentlich nur die hohen (bis höchsten) Frequenzbereiche nahe dem Ultraschall in Frage, die bei einer nachträglichen Konvertierung in ein anderes Dateiformat aber auf jeden Fall als allererstes verloren gehen.


    Also irgendwie habe ich da keine realistische Lösung auf Lager.


    Eine gute Nachricht gibt's aber auch: wenn keine Zeichenketten in Dateiheader geschrieben werden sollen sondern es sich nur um eine Funktion der Marke 'Piepstöne aus einer Zeichenkette generieren' handelt ist das mit einem Audacity Plugin machbar. Bedeutend schwieriger wird's allerdings, wenn ein Analysefilter der Marke 'Piepstöne in eine Zeichenkette zurückverwandeln' gebraucht wird. Bei 'Piepston-Sequenzen' bis schätzungsweise 30 Sekunden müsste aber selbst das machbar sein (Nyquist in Audacity muss sich alle Samples im Speicher des Rechners merken, bei zu langen Tondateien läuft gerne mal der Speicher über).

  • Es gibt durchaus Möglichkeiten, Audiodateien mit einem "Wasserzeichen" zu versehen, das man nicht hört und das auch erhalten bleibt, wenn man die Datei in andere Dateiformate konvertiert bzw. komprimiert. Ein nettes Programm, um sowas mal auszutesten, ist z. B. das folgende:


    http://research.microsoft.com/…/Details.aspx?CategoryID=


    Was da mit Nyquist machbar ist, weiß ich natürlich nicht.

  • Also der link zu research/MS klingt sehr interessant! Den werd ich mir mal zu Gemüte führen und euch dann meine Ergebnisse mitteilen!


    Auf jeden Fall mal bis hierher Danke für eure Bemühungen und eure Zeit!

  • Korrektur meiner eigenen Antwort:


    Also ich hatte mit das heute Mittag dann auch nochmal überlegt: man nehme ein PCM Signal, ähnlich einem 'Strichcode' wie er z.B. auf jedem Supermarkt-Preisschild zu finden ist und generiere daraus ein 'Rauschspektrum'-ähnliches Signal, das, wenn man es an einer leisen Stelle unterbringt, etwa am Anfang der Datei, wo noch nichts anderes zu hören ist (auf deutsch: kein anderes Audio-Signal ausser Hintergrundrauschen vorhanden ist), und zwar so, dass es sehr leicht mit einem 'normalen' Rauschsignal verwechselt, jedoch von einem 'Analyzer' Plugin wieder ausgelesen werden kann, so etwas müsste (zumindest mal theoretisch) machbar sein.


    Wie viele 'Umkopierungen' oder Formatkonvertierungen so ein Signal überlebt, muss dann einfach ausprobiert werden. Auf jeden Fall wäre so etwas mit 'Standard CD' oder mp3 Formaten machbar.


    P.S. wenn jemand einen Link zur Originalbeschreibung des 'Watermark' Verfahrens weiss bitte hier rein (oder an meine e-mail Adresse, siehe 'Mitglieder > edgar-rft') posten, ich habe jetzt auf die Schnelle (ca. 10 Minuten Google) nichts brauchbares finden können (was auch irgendwie kein Wunder ist, schliesslich ist es ein 'Kopierschutzverfahren', wenn auch nur im weiteren Sinne). Ich würde dann versuchen herauszufinden, ob das mit Nyquist machbar ist.


    Und ... äääh... natürlich wichtig in diesem Zusammenhang: bitte keine illegalen Links in ein öffentliches Forum posten.

  • Es gibt nicht _das_ Watermark-Verfahren. Es gibt mehrere Watermark-Verfahren, die teilweise nach verschiedenen Prinzipien arbeiten und verschiedene Vor- und Nachteile haben. Die Auswahlkriterien sind im wesentlichen:


    * Wieviel Watermark-Daten können in wieviel Audio untergebracht werden? Es ist klar, dass es je mehr Daten es sind wahrscheinlicher wird, dass man es irgendwann hört


    * Wie "robust" sind die Verfahren gegen Formatkonvertierungen (z.B. WAV -> MP3, WMA -> MP3, MP3 -> CD, MP3 320 kb -> MP3 128 kb, 24 bit -> 16 bit usw.)? Auch hier ist klar, dass intuitiv gilt: je "robuster" das Verfahren ist, desto "hörbarer" ist es


    Das Gleiche gibt es übrigens auch für Video und Bilddaten.


    Über dieses Thema gibt es inzwischen ziemlich viel Literatur und die Sachen werden durchaus in der Praxis eingesetzt (z. B. Pre-Releases von Videos, Songs usw. werden mit Watermarks "getaggt", damit man, falls was davon im Internet auftaucht, rausfindet, wer es war). Das Ganze ist aber naturgemäß relativ mathematiklastig und wegen der ganzen Transformationen in irgendwelche komplexen Wellenzahlräume, (wie halt DSP-Programmierung immer) relativ schwer verständlich.

  • Eine (meiner Meinung nach) recht brauchbare Beschreibung, wie 'Watermarking' überhaupt funktioniert findet sich unter http://www.igd.fraunhofer.de/igd-a8/syscop/audio.html


    Ich müsste halt von aki wissen, ob es in erster Linie um so etwas wie Kopierschutz geht oder einfach nur um 'Seriennummern in Audiodateien'. Für einen richtigen Kopierschutz reicht meine 'Supermakt Strichcode' Idee natürlich hinten und vorne nicht und 'Watermarking' wird vom Aufwand her zur Wissenschaft.

  • Die eigentliche Idee ist schon eine Art Kopierschutz (im weitesten Sinne) und mein erster Zugang war so eine Supermarkt Strichcode IDee. Aber nachdem es da schon fertige Systeme gibt, bin ich geneigt, diese - falls in einen vernünftigen finanziellen Rahmen- zu nehmen.


    Ich habe http://www.metois.com/Eymwatermark/eymawm.htm ausprobiert und die Auslastung meines Laptops war zu hoch und dementsprechend zu viele Minuten ausser Gefecht! Ich muss files watermarken, die bis zu 700 MB groß sind!


    Bei der MS Geschichte kann ich mit der decodierung nichts anfangen /auslesen. Die Vorgänge selbst laufen recht passabel.


    So wie es im Moment für mich aussieht, ist nyquist vielleicht doch nicht die optimale Lösung für diese Sache.