Hat dieser Noise-Algorithmus einen Namen?

Dieses Thema im Forum "Web & Algorhythmics" wurde erstellt von flowdy, 31. Mai 2018.

  1. flowdy

    flowdy ..

    Hallo,

    klassisches weißes Rauschen wird ja einfach mit gleichverteilten Zufallswerten generiert. Rosa rauschen, braunes oder rotes Rauschen entsteht, indem man weißes Rauschen durch Low-Pass-Filter jagt, soweit habe ich es zumindest verstanden. Richtig?

    Inspiriert von der Voss-Methode zur Generierung von fraktalem Rauschen (n. Gareth: Musimathics I), die von einer Grundfrequenz f ausgehend nur alle n Samples – n = SAMPLING_RATE / f – die Amplitude auf einen anderen Zufallswert ändert und auf diesem Prinzip basierend auch Werte für 2f, 4f, 8f, ... 2^x*f würfelt und reinmittelt.

    Das hat mich doch sehr daran erinnert, wie harmonische Klänge entstehen: Teiltöne mit verschiedenen Amplitudenmaxima und Hüllkurven, deren Frequenzen jeweils ein vielfaches der Grundfrequenz ... und so weiter, euch brauch ich das bestimmt nicht wiederkäuen.

    Jedenfalls könnte man doch diese Teilräusche analog zusammensetzen, also einfach mit Vielfachen statt Zweierpotenzen arbeiten, und jedem Teilrausch eine eigene Hüllkurve verpassen, oder?

    Meine Frage: Wie immer eine nette Vorstellung, aber auch etwas unrealistisch, dass meine Idee was bahnbrechend neues wäre, zumal sie ja ziemlich trivial ist. Kennt man dieses Verfahren unter einem Namen? Geht mir ständig so, dass ich ein Rad neu erfinde und dann nicht zu bezeichnen weiß. Den Oszillator, der einfach f-mal die Sekunde die Amplitude auf einen anderen Zufallswert ändert, hab ich einfach mal provisorisch "crack" getauft in meinem Soft-Synthi-Projekt, und eingereiht zu den anderen Oszi-Primitiven "sine", "square", "sawtooth", "triangle" und "noise".

    Anhang 1: Teilräusche und ihre Amplitudenverläufe, fürs Auge
    Anhang 2: Dasselbe für Ohren
    Anhang 3: Zum Vergleich, die Variante mit äh, selbes Problem ... "frequency-based constrained noise" (vermutlich = Braunes Rauschen)


    Viele Grüße,
    flowdy

    P.S. Mein Soft-Synthi-Projekt habe ich schon mal an anderer Stelle in diesem Forum vorgestellt. Leider bisher keine Resonanz, womöglich war das Unterforum auch haarscharf an der Zielgruppe vorbei? Verschiebungsaktionen stehe ich offen gegenüber.
     

    Anhänge:

    Max gefällt das.
  2. tichoid

    tichoid Maschinist

    Kann mich auch täuschen, aber ist das dann nicht einfach 'Rauschen'?
     
  3. Bernie

    Bernie Alien

    Als Musiker interessiert mich die ganze Theorie dahinter sehr wenig, mir ist nur wichtig, wie das dann am Ende klingt.
    Um ungewöhnliches Rauschen in allen Variationen zu generieren, habe ich bereits mehr als genug Möglichkeiten und ob das Rauschen dann weiß, rosa, braun oder blau-gestreift ist, juckt die Hörer meiner Musik am Ende auch nicht.
     
  4. Max

    Max |

    Sobald man eine Frequenz zuordnen kann, ist es eigentlich nach Definition kein Rauschen mehr - aber dafür sollte es dann auch tonal spielbar sein.

    Die Beispiele klingen für mich sehr "digital" bzw. nach "bit-crushing", mit vielen harschen Artefakten in den Höhen. Aber mit Filter danach kann man damit sicher coole Sachen machen.

    Rosa Rauschen ist wohl das "natürlichste" Rauschen: die Energie des Signals ist dabei in jeder Oktave gleich, d.h. je höher die Frequenz desto leiser. Im Gegensatz dazu ist weißes Rauschen in den Höhen deutlich "überbetont".
     
  5. mnb

    mnb -

    erinnert mich ein wenig an ein "kochrezept" fuer rosa rauschen: rauschen bzw. zufallswerte mit unterschiedlicher 'frequenz' werden addiert, wobei die frequenzverhaeltnisse (sampleraten)
    dann gerne in irgendeinem harmonischen verhaeltnis zueinander stehen duerfen. dh. die frequenzen sind dann nicht gleichverteilt, sondern es gibt mehr tiefe als hohe und so.
    "brownian noise" (oder random walk noise (genauso kann man das auch erzeugen)) klingt dann aber noch mehr nach meer.
     
  6. Summa

    Summa hate is always foolish…and love, is always wise...

    @flowdy

    Die Composite Cracks Version klingt wie S&H oder Rate Reducer Noise bzw. wie Noise vom ATARI Telespiel oder dem Pokey Chip (ATARI 400/800/XL/XE).

     
    Zuletzt bearbeitet: 31. Mai 2018
  7. flowdy

    flowdy ..

    Ich lade am besten noch mal zwei Dateien hoch, die mit den selben Konfigurationen erstellt wurden, aber diesmal mit einer "Frequenz" von 50 Hz.

    Beides ist "Rauschen"? Das sollte jetzt weniger klar sein. Meine Ohren widersprechen jedenfalls. Das eine klingt wie verwirbelter Wind oder theoretsch beschrieben wie ein Sinuston, der vom Ausgangssignal eines White-Noise-Generators mit starkem Index amplitudenmoduliert wird, und dabei ist gar keine Sinusfunktion beteiligt. Schon interessant, experimentell zu erleben, wie das Ohr dazu neigt, Sinusschwingungen herauszuhören, wo rechnerisch kein Sinus drinsteckt. Verantwortlich dafür ist eine Gleichgewichtsfunktion, die dafür sorgt, dass die Amplituden im positiven wie auch negativen Bereich quantitativ (summarisch) für eine "Periodendauer" ungefähr gleich verteilt sind. Aber wie sollte das Ohr das auch wissen. Es ist wahrscheinlich das Gehirn, das "Wind" ausschließt, da eine gewisse Regelhaftigkeit vorliegt, und schließlich irgendeinen Ton hineindichtet.

    Der andere Ton hat bei so niedigen "Frequenzen" nach meinem Kenntnisstand wenig mit Ereignissen in der Natur zu tun, allenfalls mit elektrischen Entladungen. Je höher die Frequenz, umso mehr nähert sich sich dieses Ratschen dem weißen Rauschen an.
    Dann würde ich in der Dokumentation zwischen knistrigem und dichtem Rauschen unterscheiden, cracking vs. dense noise auf Englisch.
    Ich überlege gerade, ob ich die beiden Rauschgeneratoren zu einem kombinieren könnte, Das geht bestimmt irgendwie: Diesem Generator könnte man eine Frequenz mitgeben und ein weiterer Parameter, eine Art Winkelangabe auf der kontinuierlichen Skala zwischen den Extremen horizontaler Modus (Amplitudenänderung gilt für SAMPLING_RATE/f Samples) und vertikaler Modus (maximale Amplitudendifferenz von einem Sample zum vorigen)

    Als jemand, der gerne Handbücher liest, bevor er einen Finger rührt, ist mir der experimentelle Ansatz vergleichsweise ungewohnt. Hat halt den Nachteil, sich immer von anderen beschreiben zu lassen, was man da gemacht hat. "Inverse Recherche", wenn man so will, nach dem Motto: Habe Lösung, suche Problem.

    Digital, unnatürlich dürfte wohl alles klingen, wo lediglich drei Teiltöne/-räusche beteiligt sind. Man könnte diese Anzahl wohl additiv-synthetisch erhöhen, oder die Teilräusche mit Modulationen versehen (AM oderFM, aber diese Unterscheidung macht wohl erst recht bei Räuschen wenig Sinn), um sie mit "Oberräuschen" anzureichern. Sonst fällt mir keine Möglichkeit ein, das Rauschen natürlicher zu machen.

    Wegen der Gleichverteilung hat das aber eher psychoakustische Gründe, Höhen sind en masse deutlich unangenehmer als Tiefen. Das heißt weitere Amplitudendistanzen von einem Sample zum anderen fallen überproportional deutlicher auf als geringere – könnte ich mir zumindest vorstellen.
     

    Anhänge:

    Max gefällt das.
  8. Summa

    Summa hate is always foolish…and love, is always wise...

    Max gefällt das.
  9. Summa

    Summa hate is always foolish…and love, is always wise...

    Anhänge:

    • SandH.mp3
      Dateigröße:
      257,1 KB
      Aufrufe:
      156
  10. swissdoc

    swissdoc back on duty

    Nein, es ist abgetastetes Rauschen. Da vor der Abtastung nicht Nyquist (bandbegrenzt) gefiltert wird, bekommt man lustige Aliasing-Artefakte.
     
  11. flowdy

    flowdy ..

    Warum "abgetastet"? Und tritt der Effekt nicht auch etwa bei der Rechteckschwingung auf? Salopp gesagt, würde ein Nyquist-Filter für mehr oder weniger "gerundete Ecken" sorgen, oder? Mit Synthese durch Filter und Filterketten kenn ich mich nicht so aus, möglich, dass meine Fragen mich als Unwissender outen. Sagen wir, ich hätte so einen Filter nachgeschaltet, und ich würde eine Rauschfrequenz von sagen wir 40 KHz einstellen: Dann hätte ich keine Artefakte, aber doch auch kein Signal, oder?
     
  12. swissdoc

    swissdoc back on duty


    Den Oszillator, der einfach f-mal die Sekunde die Amplitude auf einen anderen Zufallswert ändert...

    Du müsstest das Rauschen bandbegrenzen und dann Abtasten. Dann Crackt es halt auch nicht mehr. Aber das erklärt den Effekt.
     
  13. flowdy

    flowdy ..

    Wenn du mit "bandbegrenzen" auf einen modularen Hi/Lowpass-Filter anspielst – da muss ich passen, tue das aber leichthin und freimütig. Mein Synthesizer ist nicht modular, ganz bewusst. Die Potenziale, die mir dadurch entgehen, mache ich anders hoffentlich mehr als wieder wett. (Kann mir das auch leisten, da mir Echtzeitfähigkeit unwichtig ist).

    Ich habe nun den Abtaster dahingehend verändert, dass er nicht einfach abrupt die Amplitude ändert. Sondern Sample für Sample kontinuierlich vom vorigen zum nächsten Zufallswert schreitet. Wir haben es also nicht mehr mit rechten Winkeln zu tun, sondern mit allen möglichen Winkeln zwischen 90 und -90 Grad, Zickzackkurven. Das dürfte die Artefakte doch auch reduzieren, nicht? Höre die angehängte Datei:
    play: https://www.sequencer.de/synthesizer/attachments/cracknoise_220hz-mp3.35076
     

    Anhänge:

    Zuletzt bearbeitet: 3. Juni 2018
  14. ckoehler

    ckoehler Das Leben ist schön

    Ich habe das nur kurz überflogen und bestimmt auch nicht richtig verstanden. Sample and Hold wird aus Rauschen generiert und damit lässt sich dann alles modulieren wie Amplitude, Frequenz oder was auch immer. Kann man dann noch multiplizieren und auf den Hüllkurven etc. anwenden. Ob da jetzt was cooles neues bei raus kommt, keine Ahnung.
     
  15. serge

    serge ||||||||

    Einen eigenen Begriff kenne ich dafür nicht, aber das klangliche Ergebnis ist bekannt und wird im modularen Synthesizer so hergestellt: Rauschen (gerne auch gefiltert) durchläuft ein Sample&Hold, das im Audiofrequenzbereich getaktet wird, der Ausgang des S&H ist zu hören. Oder für DAW-Benutzer: Rauschen durch einen Bitcrusher/Downsampler jagen, schicken, scheuchen.

    Am gewählten Unterforum liegt es meiner Ansicht nach nicht, sondern daran, dass Dir für Dein Projekt…
    …und dass Dein Offline-Synthesizer Sompyler…
    …und…
    erwartet, so dass man …
    …eingeben muss.

    Wenn Dir für Dein Projekt die Echtzeitfähigkeit wirklich so unwichtig ist, dass der Anwender bei laufender Musikerzeugung tatsächlich keinerlei Einfluß mehr auf die Klang und Komposition nehmen kann, sprich dass die ganze Veranstaltung nun in gar keinem Aspekt in Echtzeit spielbar sein sollte, dann fiele es in einem ganz fundamentalen Punkt hinter andere Synthese- und Kompositionsbeschreibungssprachen wie CSound und Supercollider zurück, dass dies vielleicht das fehlende Interesse erklären könnte.

    Davon abgesehen kann ich mich nicht erinnern, hier im Forum Posts über CSound oder Supercollider gelesen zu haben, die darauf schließen ließen, dass diese Personen (a) solche Sprachen hinreichend gut beherrschen würden, dass sie (b) Interesse an einer weiteren Synthese- und Kompositionsbeschreibungssprache gehabt hätten.

    Aber natürlich kann ich völlig daneben liegen, schließlich lese ich nicht alle Posts, und es kann ja Foristen geben, die sich für Synthese- und Kompositionsbeschreibungssprachen interessieren, aber dennoch nicht posten.

    Wünsche Dir in jedem Fall weiterhin viel Freude bei Deinem Projekt!
     
  16. flowdy

    flowdy ..

    Durch deinen und ckoehlers Beitrag habe ich jetzt auch ungefähr eine Ahnung, wie Sample&Hold funktioniert. Das ist offenbar ein zweidimensionaler Generator, bei dem nicht nur die qualitative Dimension der Amplitude, sondern auch die quantitative Dimension der Länge mit Zufallswerten unabhängig voneinander in parametrisierten Wertebereichen gespeist wird. Summas Beispiel zeigt, wie man S&H mit einer Hüllkurve in Richtung weißes Rauschen bringt und wieder zurück.

    Hm, ich könnte meinen Primitiven jetzt, da "cracks" eine weniger passende Bezeichnung ist, in Anlehnung an Sample&Hold "Slope&Hold" nennen. Auch überlegen könnte ich, die vertikale Auslenkung per Window beschränkbar zu machen. Aber das hieße, dass ich dem Generator mehr als einen Parameter, die Frequenz, mitgeben müsste. Je enger allerdings das vertikale Window, der Wertebereich der Amplitudendifferenz ist, umso mehr verliert der Rausch seinen Rauschcharakter und wird zu schwach und zu periodisch.

    Deine Vermutung, @serge, warum mein Projekt wenig Resonanz findet, leuchtet mir ein. Mir ist ja durchaus klar, dass man mit dem Sompyler nicht ernsthaft Musik machen kann, auch wenn das natürlich ein schöner Traum wär. Programmierte Musik hat etwas von »Ceci n'est pas de la musique« (Anspielung an Magrittes »Treachery of Images«, u.a. »Ceci n'est pas une pipe«), andererseits ist es mit aller Musik aus der Konserve – MP3-Player usw. – ja nicht anders.
    Ich bin halt in erster Linie Softwareentwickler, der im Prinzip nicht mehr so gerne Softwareentwickler ist (alles hat eine moralische Dimension, und langsam gibt es mir zu viel Software auf der Welt, die nicht von denen benutzt wird, die sie programmiert haben), aber diese Tätigkeit immer noch so liebt, dass er sich auf diese Weise in das Thema Musik einarbeitet.
    Einfach andere existierende Synthies kennenzulernen, die gibt es ja wie Sand am Meer, würde an meinen Ambitionen vorbeiführen. Ich will selbst machen, so viel wie möglich und vernünftig, vor steilen Lernkurven scheue ich mich nicht.
     
  17. swissdoc

    swissdoc back on duty

    Ich spiele auf rein gar nichts an, zumindest nichts in Bezug auf modulares Irgendwie. Aber schau Dir mal das Abtast-Theorem an: https://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem
    Gut ist auch diese Page: http://www.dspguide.com/ sowie die Nummerical Recipies: https://books.google.ch/books?id=1a...bAhXEBiwKHZ4GCJsQ6AEIJzAA#v=onepage&q&f=false
     
    Zuletzt bearbeitet: 5. Juni 2018
  18. flowdy

    flowdy ..

    @swissdoc: Berufsbedingt habe ich zunächst ein Problem damit, dass du hier offensichtliche Raubkopien verlinkst (4. Link: ...ru/bookz/...), mich wundert, dass das nicht moderiert wird. Ich habe mir das physische Buch aus der Unibib besorgt, kostet auch nix, ist aber legal.

    Was ich auch nachdem ich mir diverse Erklärungen angekuckt habe, immer noch nicht verstehe ist, warum bei explizit zufallsbasierten Algorithmen überhaupt von Artefakten zu sprechen ist. Ja, es kracht, aber das würde ich nicht als Artefakte bezeichnen, sondern ist hörbares Charakteristikum des berechneten Signals, genau wie es beabsichtigt/modelliert wurde. Wenn, dann müsste weißes Rauschen ja nur aus "Artefakten" bestehen. Aber das ist ja unsinnig insofern, dass Zufallswerte gar nicht »falsch« sein können, gegen die Intention, sonst wären sie ja nicht mehr zufällig.

    Wie gesagt, die Eigenheit dieses Rauschens ist, dass für jedes n-te Sample ein neuer Zufallswert gezogen wird, wobei n = ceil( SAMPLING_RATE / (2*freq) ) [ceil bedeutet aufrunden]. Alles ab der Nyquist-Frequenz, bei 48k Abtastrate also 24kHz, ist also mit weißem Rauschen identisch. Ich würde mich freuen, wenn du oder wer anders mir erklärt, wo ich falsch liege, Link reicht natürlich. Nyquistfilter auf Rauschen anzuwenden würde dieses Rauschen nur ebenso willkürlich verfälschen wie ich hier mit meinen Verfahren.

    Ich habe ja oben schon dargelegt, dass dieses Krachen aufgeweicht wird, indem nicht die Amplitude abrupt geändert wird, sondern graduell linear zwischen n und n+1. So belasse ich es nun auch.
     
  19. swissdoc

    swissdoc back on duty

    Du kannst mit Melden die Mods ankicken. Mir war das mit der Raubkopie nicht aufgefallen. Der Link ist geändert. Google Books ist hoffentlich gut für Dich? https://en.wikipedia.org/wiki/Don't_be_evil

    Intuitiv ist mir klar, dass Du mit diesem crack Ansatz das Sampling Theorem verletzt. Rauschen ist ja analog und das mit den Zufallswerten eine Simulation (wobei man hier auch noch mit den Pseudozufallszahlen zu kämpfen hat). Auch wenn man analog abtastet, also einen S&H nimmt und irgendwie taktet, hat man das Sampling Theorem am Hals und musst vorher bandbegrenzen. Auch muss man bei der Wiedergabe einen Rekonstruktionsfilter verwenden.

    Die von Dir implementierte Lineare-Interpolation stellt eine Art Tiefpassfilter dar, das ist dann der Rekonstruktionsfilter. Hier ist aber die Lineare-Interpolation auch eher willkürlich gewählt. Nicht falsch verstehen: Wenn es gut klingt, ist es gut. Ich versuche nur so von der wahren Lehre her zu erklären, was passiert. Das ist eben Aliasing, weil das Sampling Theorem verletzt wird.

    Höre Dir mal so eine digitale Grusskarte an. Dort wird mit grosser Wahrscheinlichkeit bei der digitalisierung der Grussbotschaft nicht bandbegrenzt und beim Abspielen schon gar nicht. Zu teuer. So klingt es dann auch. Voll mit Aliasing. Ähnlich bei crack. Ein PPG würde ohne Aliasing aber auch langweilig klingen. Siehe Wavetables im Quantum :mrgreen: