Musikvisualisierung, Farbmusik, visuelle Musik etc

Pixilang ist langsam und was man kriegt ist oldschool Pixelgrafik, uU noch in low res..
Vorteil für mich ist dass es überschaubar ist und man schnell reinkommt, und es auf Android läuft dh ich hab gar keine Alternative.
Lua könnte noch ne Alternative sein aber sicher nicht so einstiegsfreundlich
 
optisch ein etwas modernerer Ansatz

selbe Analyse, es werden die ersten 12 Harmonischen von 12 Grundtönen im Kreis projeziert, als Partikelwolke, und die gedreht.


https://youtu.be/-C_hHamb4Qg
 
Zuletzt bearbeitet von einem Moderator:
Das sieht doch ganz cool aus. Für ein Video, mit dem ich was vor hätte, würde ich aber generell mehrere unterschiedliche Elemente in die Visualisierung reinpacken. Ich finde, das sieht dann einfach interessanter aus. Wenn das Ganze in MJpeg abspeicherbar ist, könnte man ja auch verfremdete Echtbilder/-videos drunterpappen, vielleicht in Grautönen. Dann ist nicht so viel schwarze Langeweile da ...
 
zum Video von gestern gibt es eine Alternativversion
die manchen vielle8cht besser gefällt

https://youtu.be/JOxrq-ywml8


man muss bei sowas aber schauen dass es nicgt zu beliebig wird
auch wenns zu dem Track ganz gut passt.
 
Ich bin anscheinend der Einzige, der hier mitlieset. ;-) Mir gefällt's ganz gut. Was passiert da?
n * (Aktuelles -1) Videoframe weichzeichnen und als Hintergrund fur das aktuelle nehmen? Falls du verstehst, was ich meine ....
 
Ich bin anscheinend der Einzige, der hier mitlieset. ;-) Mir gefällt's ganz gut. Was passiert da?
n * (Aktuelles -1) Videoframe weichzeichnen und als Hintergrund fur das aktuelle nehmen? Falls du verstehst, was ich meine ....
Ja, so ähnlich. Kurz gesagt wird das Bild gestretched und auf das neue Bild addiert.
Das Bild wird erst in doppelter Größe gerechnet und statt Pixel eine Art 3D Kreuz aus 7 Pixeln gesetzt, wie ein 3 D + Symbol, weil es kein Antialiasing gibt und nur Einzelpixel.
Der Frame wird dann 8 Pixel vergrößert mit linearer Interpolation: erst vertikal dann gedreht um 90 Grad nochmal gestretched und zurückgedreht. Das sind eingebaute Operationen die recht flott sind und wahrscheinlich zT gar keine Daten verschieben. Dann wird vom RGB Wert #FEFEFE abgezogen un das addiert auf das neue Bild und dann um die Hälfte verkleinert.

Die Wolke besteht aus 12 Kreisen, in jedem Kreis werden die ersten 24 Harmonischen projeziert wobei der Realteil den Radius vergrössert und der Imaginārteil nach Z geht, was dann aus einem Sinuston eine Spirale macht. Der Kreis wird gedreht. Die 3D Drehungen sind eingebaut, hab ich erst gesehen und verstanden nachdem ich selbst welche programiert hatte, sind aber ganz easy zu nutzen.
Edit: und am Schluss nochmal in nem anderen Programm invertiert, dh Addition ist dann Subtraktion und umgekehrt
 
Zuletzt bearbeitet von einem Moderator:
Dazu fält mir ein: unterstützt Pixilang eigentlich die Power moderner Grafikprozessoren (intern oder auch in der Sprache selbst)? Da könnte man ja theorethisch wahnsinnig aufwendige Dinge mit hinbekommen. Leider habe ich momentan keine Zeit für eine PixiVerseLang ... ;-) Aber wer weiß, vielleicht in 1-2 Jahren?
 
jain, es gibt ne Basic OpenGL ES Unterstützung, und das sollte ja von der Hardware unterstützt werden
Allerdings kenn ich mich einerseits damit nicht aus und andererseits ist die Unterstützung etwas krude weil mehrere OpenGL Befehle in Pixilang eigne quasi OpenGL Befehle zusammengefasst sind. Aber Open GL ES Shaderlanguage 1.0 wird unterstützt.

Das läuft weitgehen über und innerhalb einer definierbaren Callback Funktion, was ebenfalls ein Konzept ist mit dem ich mich nicht auskenne.

Würde da gerne besser durchblicken.

Aber was Lernaufwand sonst angeht ist Pixilang sehr überschaubar, ich kenn zwar jetzt nicht alles auswendig aber denke dass ich inzwischen etwa den Überblick habe was alles da ist.
Vieles wird nur mit einem Satz abgehandelt.
zB kann man den "Containern" beliebig Properties andichten, hab das noch nicht genutzt obwohl das für so Partikelkram wahrscheinlich praktisch ist.

Dazu gibt es eine Reihe Minibeispiele die es erklären.
Das Manual ist kleiner als so manches Synthmanual.
 
Würde da gerne besser durchblicken.
Callbacks sind ganz einfach Funktionen, die "zurück" aufgerufen werden. Sagt ja der Name. ;-)

Länger:
Wenn OpenGL (oder was für eine Software auch immer, nennen wie sie API XYZ) selbst nicht entscheiden kann oder will, wie oder was mit bestimmten Daten passieren soll, dann wird in der API die Möglichkeit geboten, einen Callback als Parameter anzugeben (oder wie auch immer). Das ist eine von dem Benutzer der API (DIR!) erstellbare Funtion mit entsprechend von der API festgelegten Parametern, die dann zur Laufzeit aufgerufen wird.

Ganz einfach:
1. OpenGL/API XYZ weiß nicht wass der Anwender an der Stelle mit Daten machen möchte
2. OpenGL/API XYZ benutzt an dieser Stelle eine Callbackfunktion
3. Anwender von OpenGL/API XYZ schreibt eine Funktion mit seiner gewünschten Funktionalität und von OPen/API XYZ festgelegten Parametern
4. Anwender übergibt die Funktion an entsprechender Stelle an entsprechender Stelle
5. OpenGL/API XYZ "weiss" immer noch nicht, was der Anwender machen will, ist ihm/ihr aber egal, weil der Anwender ja eine Funktion zur Verfügung gestellt hat. Diese rufz OpenGL / API XYZ "einfach" (natürlich gehört da noch ein wenig mehr dazu) auf.
6. Der Kreis schließt sich.

Sehr einfaches, konkretes Beispiel: Ctrl+C in "Terminals":
1. Das Standardverhalten, dass als Callback-Handler implementiert ist, ist es, ein Signal an den Vordergrundprozess im Terminal zu senden, dass den Prozess unterbricht.
2. Man kann einen eigenen Handler (Callback!) registrieren, der z. B. "Wirklich beenden j/n" ausgibt und erst bei Drücken auf die Taste j das Programm beendet. Ansonsten beendet sich die Handlerfunktion und es geht einfach weiter.

Das war jetzt keine technisch 1Akorrekte Beschreibung in Fachjargons, sondern eine hoffentlich auch für "Uneingeweihte" einigermaßen verständliche. ;-)
 
Zuletzt bearbeitet von einem Moderator:
Ich lese hier regelmässig mit, aber irgendwie schrecken mich die Diskussionen ab selbst was zu posten. Habe da auf keinen Fall ein hohes Niveau, außerdem sind meine Sache in schwarz-weiß.... ;-)
 
Würde ich heute vermutlich nicht mehr so machen, wenn ich mir das so anschaue. Sowohl musikalisch als auch visuell. Das zweite kann ich erst posten, wenn am Mittwoch die aktuelle Battle (Abstimmung) vorbei ist....

Bassdrive (2021)
 
ich finds gut. Musikalisch erwartet man aber dass der Track massiv loslegt, das kündigt so ne Spannung an.
 


News

Zurück
Oben