Freitag, 23. Juli 2021

LD 02 - Velocity in Dreams

I am supposedly at "square 1" of lucid dreaming again, per last post, but I am really not - I thought about writing about a specific topic on the blog, and promptly had 2 lucid dreams that were already influenced by what I was planning to write about. I kind of needed the idea of *starting anew*, but obviously that's completely arbitrary, I'm just somewhere along the road.

~

So, velocity. - Huh? Why do I think about velocity?

Well. Despite the entire surroundings in a dream being decidedly not-real, and therefore not bound to any rules, they usually conform to a lot of assumptions based on what I experience in my daily life in this world.

For example, if something looks far away, then it is supposed to take a while to get there. If something is so far away that I can't even see it (or I just know it's super far away) then it should take even longer.

But why? The only real distance is the one in my mind, right? If I want to go to Africa, all I have to do is make it so Africa starts right aroung the corner. Of course, my mind fights back, because in WL (waking life) this is an absurd statement.

In today´s LD I remembered this idea:

I manage to get out of my bed and into the dream version of the room I am sleeping in. As usual I spend the first moments establishing the dream, I put as much focus as possible into the sensation of my feet on the floor and move away from the bed, through the rest of the flat, and run outside into the inner courtyard. IRL, there is not much to go after that, a fence would block the way into the garden. In my dreams however, this fence usually doesn't exist, and I can run directly onto the meadow. I can feel the grass under my naked feet - that was another thing I was wondering about recently, how much sensation I really had in my dreams, since I often don't spend any thought on that. 

For some reason, I really want to touch some nice cool water. Looking at the closest tree, I decided that there will be water behind it. I go there, and there is a small puddle of water right next to the strunk. I use it to wash my face and enjoy the sensation. I want more water, so I pull deeper into the puddle, but  there is just a lot of mud. I take a large junk of mud and put it onto my face, and then onto my hair. I am reminded of Nnedi Okorafor´s novella Binti, where the protagonist comes from a specific Nigerian tribe that uses a specific kind of mud or clay to put it in their hair. On the tree is now a mirror, but a very dysfunctional one: While it sometimes mirrors my movements, half of the time the person in the mirror does slightly other things. I use the mirror to look at my hair, A bit later into the dream, an african person turns up and offers to dance with me for a bit.

I don't usually have dreams that are about foreign places, but the idea of "Africa right behind the corner" had been in my mind, hence the theme. I didn't travel anywhere though, I was just in an unspecified meadow, next to a nice old tree. You could say me putting mud into my hair was technically cultural appropriation of some sorts, but for me it was really just about getting a different sensation. Mud feels really nice, and I can't smear it into my hair IRL without quite some suffering consequences. ;-) Anyway, what I do in my dreams is no concern of ethics - only how and if I write about them is.

~

The second thing that made me think about velocity is the experience of speed, and of rapidly changing environments. If I sit in a fast-running train, it is to be expected that things will just woosh past me, and I can't even see them properly. In a dream, this could a bit of a problem, as my mind has to come up with new scenes in a rapid succession. It can do that, but when I fly very fast, I tend to lose contact with my environment after a while, especially since no part of my body actually touches anything besides air, which tends to count as "nothing" or perhaps some sensation of wind.

One way to look at it, would be, that my experience would be similar to someone watching TV; I sit still in a chair, but what I see can be very fast. The dream ultimately is like a virtual reality, but there is no actual space I am bolting through, I just get (some of) the sensations I would have if I did move.

Another dream of today:

As I become aware of my dream-state, I am running on the street, focussing on the feeling of my feet on the ground at first, then eventually deciding on flying. As I move upward a bit, the scene I was in fades away fast, I am accelerating towards the (very beautifully coloured) horizon, while below me, treetops rush past me. At some point, there is very little sensation of actually being there, and it is more like watching a zoomquilt. I did enjoy the changing patterns of pink sky and green leaves though.

 ~

As I write this, I feel I'm more and more unhappy about the sheer number of assumptions I make about what is possible in my dreams, despite knowing from other people´s accounts, that those limits can be surpassed. There are people for whom their dream environment is so stable and unchangable that it behaves way more like a real place than a virtual reality. Why am I deconstructing my dreams to such a degree?

I want to mention that one of my side-goals for pracising lucid dreaming is to get inspiration for my fantasy worlds, in which dreams, while also deeply personal at times, can be actual places. So I'm torn between two contradicting views - one pretends to be scientific (while ignoring some data), the other one pretends to be fantastic (while sometimes being closer to actual experience).

So, where to go? I feel like over-analyzing dreams in that way does not actually help me at all. My plan was to improve my dream-control, and to do that by shredding away my misconceptions about what rules a dream has to follow. But if I'm honest, the dreams I find most interesting are not those where the dreamer is in full control, but those where the dream environment resists manipulation.

So I'd better focus on sensations (as I already did in today´s dreams!) and exploration. I got sidetracked A LOT, holy fuck.

So here's the actual points of this post:

1) There is no point in moving through dreams in a high velocity, unless experiencing velocity is the goal.

2) To travel somewhere is to assume that I am not already there, which may not be necessary at all times.

~

Next up, I want to:

a) more sensations! including eating, bc eating lots of food without any concern for health is cool

b) have some actual conversations (it has been a while) like asking people who they are

For the second one to happen, I seem to need a bit more time. My dreams tend to start with me being completely alone (even if I'm in a cityscape), and other people only appear when I got distracted by some other activity. I've had complicated analytical ideas about *why* that is the case, but honestly, I might make more progress by throwing those into a dustbin for now; idk.

~

Restricting myself to writing in english is more exhausting than I thought it would be. There is no reason to do so, if I truly do this for myself and not for other people. I thought that writing in a different language than in the past 15 years would force me to think differently, but that doesn't seem to be the case overall.

Future posts will therefore be in whatever language I feel like writing at the time.

Dienstag, 20. Juli 2021

Back to Square One! - Writing & Lucid Dreaming (and how I got to where I am now)

Introduction

Back in 2006 I started getting into Lucid Dreaming. I bought books, and started a daily dream journal which I would keep up diligently for half a decade. I joined an online community which quickly became a major influence on many aspects of my life - artistically, spiritually (until I parted with esotericism in the early 2010s), philosophically, politically; I watched and participated in countless debates on the nature of conciousness (on good days), on whether you can actually leave your body (on worse days) and on my own basic human rights (on really bad days). As I met more people personally, my focus slowly drifted aways from Lucid Dreaming itself, naturally, as there is only so much to discuss technique-wise, until you hit the barrier of "yeah it kinda works differently for everyone".

This spring, I finally decided to leave. I really feel like I have outgrown the place. Instead of taking/sharing inspiration, exchanging expertise, helping newbies, all I did was getting drawn into debates, most or all not really worth my time. In the last 15 years, I moved significantly to the queerfeminist left, while the community stayed firmly liberal-centrist, with the occasional leftists, but also occasional far-right "just asking questions" trolls. Add to that the covid-skeptics, anti-vaxxers, creepy misogynists, and just about every flavour of esoteric believers... while certainly entertaining at times, ultimately it ended up a waste of time and energy.

Reboots

I will admit, the last half year has been kinda rough. My physical and mental health went down and my wrists still make it impossible for me to play piano, amongst many other things. But while all that was going on, I made huge progress elsewhere. With writing one of the few things my wrists and my depression consistently allowed me to do, that is where my focus went.

I was unhappy with my world-building for a long time. I was constantly holding myself back in fear of other´s reaction, and there was all this "leftover energy" from not really having a good place anymore to let myself go wild into surreal/metaphysical thinking. Finally, I had enough. Screw this, I told myself, I'm doing what I want, and if people don't like it, or think that I' losing my sanity - so be it.

}{ was born, the anti-world, where no rules of conventional worldbuilding apply other than "everything can happen". I won't go into detail here, I'm just mentioning it because this project was like the bursting of a dam. I don't think I have ever been more productive in my worldbuilding than the last months. I seemlessly went from writing absurdist meta-commentary of my own life to world-building my main fantasy worlds, and from there to a new, more fluid understanding of who I am and what I want. And with that came the realization that I needed to stop wasting my time on people that weren't coming with me anyways.

Go forward, don't look back too much.

Square One

So here I am. Lucid Dreaming.

["Da steh ich nun, ich armer Tor, und bin so klug als wie zuvor..."] 

Yesyes, thank you Mr. Goethe! Anyways. I am interested to see whether I can get some of that fascination back that had gripped me back in 2006, when it felt like I had basically discovered an actually working magic. The promise of "endless possibilities" faded away soon, met with the realization that endless possibilities, by definition, also included "kinda mediocre, boring experiences". The worthwile lucid dreams were spread out far between tons of false successes - where I did become aware of my dream-state only to quickly lose control, be dropped in ever-new variations of the same boring empty dreamscape (usually the house where I grew up in), or just in a dark void.

If I have learned something from the last months of worldbuilding, it's that it is always a good idea to check where I am; trying to figure out the issues I am having as precisely as possible. So that is what I want to try next. And while I'm doing that, I might as well see if I can give some basic introductions into LDing for people that have no experience. That is also a good way for myself to find out what I don't know or have never understood properly. Let's see.

Lucid Dreaming 101

So, for all the newbies: What even is lucid dreaming? :)

Well, the basic definition: A lucid dream (LD) is a dream where the dreamer is aware that they are dreaming, and have some control over the dream.

This isn't the only way to define it. Some people consider being aware of the dream-state to be sufficient in order to count as lucid, some people go way farther on the control-side. German pioneer Paul Tholey´s criteria include being able to have full sensations (being able to see, hear, smell, ...), having a good memory of what happened, or even understanding the meaning of a dream while dreaming. ["Klarheit über den Sinn des Traumes"] That last point of course raises the question: Do dreams even have meanings? And if so, what do we mean with that?

I'd say that there is some consensus that lucidity exists on a multi-dimensional scale: One can be fully aware of the dream-state while having poor control, or vice versa be able to navigate through a dream effortlessy while not even thinking about it as being a dream.

Abbreviations

Lucid Dreaming communities have come up with a lot of jargon and acronyms - far too many, honestly - and I'm not sure if I want to use them here. If I force myself to avoid commonly used language it might even drive me towards a better understanding, since often, if you have learned what a word means, you fall into the trap of also thinking that you know a lot about it.

So, just for the sake of giving sort of the minimum, the most common distinction being made is whether one enters a dream directly from waking state (ie staying lucid during falling asleep) or gaining lucidity during an ongoing dream, whether through some kind of sudden realization, or gradually.

The first one is called WILD (wake-initiated lucid dream), the latter DILD (dream-initiated lucid dream). Those terms, as far as I know, were coined by dream researcher Stephen LaBerge, who was also (one of) the first to prove that LDs are actually a real phenomenon to the wider scientific community. Paul Tholey used a similar dichotomy, he wrote about Klarheit bewahrende Technik (technique of staying lucid) and Klarheit gewinnende Technik (technique of becoming lucid).

From there, language evolved over the years, so nowadays a verb to wild could just mean to be in the process of (attempting to) entering a dream-state (and not refer to to be dreaming a dream that was entered directly from waking-state) I should also add that the "directly going from being awake to being in a dream" is something that many dreamers don't actually experience that literally; it can also be about staying just aware enough that you can regain full(er) consciousness when the dream has formed.

And now?

This state of in-between is currently the one that is most interesting to me to pursue - in part because I sometimes only have very limited time to dream between one louder snore of my partner to the next. :D

Another goal is getting access to earlier dreams, the ones that happen when I am still very much asleep, and therefore less at risk of just randomly waking up over and over again.

Lastly, I have to figure out a way to deal with memory. I have a major handicap in that I am quite literally unable to keep a written dream-journal (even if I was super-motivated, which, honestly, I'm really not) because of my wrist issues. That almost forces me into a position where my main focus is the actual dreaming and not so much remembering it. From a journaling, analyzing and re-living perspective that sucks. But I'm gonna try make the best of it, because, in principle, I actually like the idea of putting the focus right there, on the actual thing.

That's it for now. As usual, I cannot promise that I will continue this, but as I have explained, I'm kind of out of places to go with this one interest of mine, so if I have something to say, I might as well do it on a blog - a space that I have more personal control over. Dreams are pretty personal, after all.

J C

Samstag, 19. Juni 2021

Üpdäätle -55-

Ich hab hier im letzten Jahr praktisch nicht mehr gebloggt. Ich sah keinen Sinn darin - wenn ich etwas von dem, was ich mache, bewerben will, haben Twitter und Facebook den Vorteil, dass es mehr als so ca. 2-3 Personen sehen. Dieser Blog ist ja nicht einmal über Google auffindbar. Da mein gesamter derzeitiger kreativer Output also anderswo besser aufgehoben ist, bleibt für den Blog nichts übrig.

Kürzlich habe ich allerdings eine Community verlassen, in der ich über viele Jahre (mein halbes Leben) aktiv war, weil ich gemerkt habe, dass ich dort nur noch politische Posts verfasse, und dabei hauptsächlich auf Leute reagiere, die meine Aufmerksamkeit nicht wert sind (z.B. Corona-Leugner*innen/Verharmloser*innen), und dabei immer mehr cranky wurde. Das war ne schlechte Entwicklung, also lasse ich das.

Dadurch wird der Themenbereich "Politik" und "Weltbilder" allerdings wieder frei, und ganz ehrlich möchte ich darüber eh nur an einem Ort schreiben, wo es wirklich nur ganz wenige Leute lesen, da meine eigenen Meinungen konstant im Fluss sind. Vielen Leuten in meiner Umgebung bin ich zu linksradikal, einigen Linksradikalen wiederum zu liberal, glaub ich...

Von daher - könnte sein, dass ich dazu mal was poste, entweder auf Englisch oder auf Deutsch. Kann aber auch sein, dass ich es bleiben lasse, ich verspreche nichts. :)

Jundurg

Freitag, 12. Februar 2021

Üpdääte -54-

 Nach dem Abschluss meines Kompositionsstudiums im Juni fiel erstmal ein Gewicht von mir ab. Ein Abschnitt meines Lebens abgeschlossen, das Komponieren "für die Uni" hat ein Ende. Das hatte es zwar vorher schon, aber dann eben offiziell.

Meine Einstellung zu Musik änderte sich den Umständen entsprechend: Seit Beginn der Pandemie bin ich fast nie alleine zuhause - stundenlang laut Musik hören, gehört der Vergangenheit an, und wenn ich doch Musik höre, dann ist es eine andere, als ich sonst hören würde.

Ich habe das Hören großteils verlegt auf die Zeit, in der ich außer Haus bin; der tägliche Spaziergang an der immergleichen Straße entlang (ausgewählt, weil sie tendentiell noch die ruhigste Strecke bietet, aber auch dort lärmt es teilweise sehr), mit Kopfhörern - den billigsten, die ich kriegen konnte, denn letzten Frühling stand ich finanziell etwas mehr unter Druck.

Soundqualität also - kann ich unter diesen Umständen vergessen. Leise Musik - funktioniert nicht. Und zuhause gibt's erstmal Computerspielmusik, oder Mozart, Schubert, ... nach einer Weile Wiener Klassik war für mich selbst Dvorak zu stressig. Das Ding ist, während einer Pandemie zusammenleben heißt für mich, meinen Gefühlshaushalt stets im Auge zu behalten. Am wichtigsten sind daher die Projekte, die viel Zeit beanspruchen, am besten Programmieren.

Seit Anfang des Jahres tu ich mir auch da schwer, denn meine Sehnenscheidenentzündung hatte sich wieder einmal verschlimmert, und ist auch jetzt noch ein Dauerfaktor. Ich habe wochenlang nicht Klavier gespielt, und konnte auch eine zeitlang nicht tippen. Nächste Woche muss ich mit meiner maroden Hand dann noch zwei schriftliche Prüfungen schreiben...

Aber der Druck, der von mir fiel, kehrt doch auch immer wieder zurück. Mein elf Jahre jüngeres Ex-Ich macht sich bemerkbar, seine großen Pläne geistern in meinem Kopf herum. Ich mache mir Vorwürfe, nicht mehr geleistet zu haben - "meine besten Kompositionen schrieb ich mit 20/21, danach kamen immer nur weitere Sackgassen, .. oder Ausreden" geht mir durch den Kopf.

Ich wurde zur Komponist*in erzogen. Ich trenne mich von dem Gedanken, dass ich eben Komponist*in bin, dieser Essentialismus gehört für mich allmählich der Vergangenheit an. Ich bin nicht, ich mache mich, es ist ein ständiger Akt. "Ich bin, was ich tue" hat leider auch seine toxischen Seiten, denn es wird selbstzerstörerisch, wenn ich aufgrund von exekutiver Disfunktion wieder einmal gar nichts fertigbringe. Als ob ich zu sein aufhören müsste.

Ich habe - eine Weile schon - das Gefühl, als Komponist*in nichts mehr zu sagen zu haben. Das Sagen ist selbst natürlich ein Konzept, das von außen kommt. Nachdem ich 2013 kompositorisch in meinem "eigentlichen" Stil nicht mehr weiterkam, habe ich mich aufs Forschen verlegt; das Einzige, was ich danach noch darin geschrieben habe, sind abstrakte Klavierstücke, mit denen ich manchmal nicht einmal selbst etwas anfangen kann. In meiner Diplomarbeit habe ich ebenfalls versucht, zu erforschen, wie geht Einvierteltakt war meine Frage, und ich glaube, darauf sogar Antworten gefunden zu haben - nur was tun mit ihnen?

Letztes Jahr hatte ich eine zeitlang mit dem Gedanken gespielt, ein zweites Streichquartett zu schreiben. Da tauchen natürlich einige Probleme auf: 1. gehe ich davon aus, dass es nicht aufgeführt werden wird. (Zumal ich auf meinen 2 Celli in der Besetzung bestehe), 2. ist die Situation zuhause einfach nicht dafür geeignet, langfristig ein "hochgeistiges" Projekt zu verfolgen. Dafür müsste ich viele Stunden experimentieren, die Zeit aus den Augen verlieren können - das ist nicht kompatibel mit einem Leben, in dem ich dafür verantwortlich bin, dass zu Mittag Essen auf dem Tisch steht, dass ich einen den Takt des gemeinsamen Lebens vorgebe (von uns beiden zuhause habe ich das funktionierende Zeitgefühl).

Aber vielleicht sind das alles Ausreden. Vielleicht ist die Wahrheit ganz banal: Die Ideen, die ich hatte, waren nicht ergiebig. Ich habe nicht die Geduld, einer Idee nachzugehen, die mich nicht packt. Und mich packt so schnell keine musikalische Idee mehr, ich hab zu viel gehört, zu viele Richtungen schon probiert. Das klingt jetzt alles sehr depressiv - natürlich spielt psychische Gesundheit auch hinein - aber letztlich ist es allem dem geschuldet, dass ich praktisch denken will. Die Bedürfnispyramide ist umgefallen, es ist jetzt eine andere Seite unten. Ich lebe nicht mehr für die Kunst, sondern maximal neben der Kunst. Das tut mir in erster Linie aber gut.

Meine Transition ist ein Weg des ständigen Mich-neu-Erfindens. Also ist es immer möglich, eine andere Richtung einzuschlagen, selbst mein(e) Name(n) steht nicht fest, auch wenn ich sie kürzlich offiziell habe eintragen lassen.

Aber jede Identität existiert nur im Gegenüber mit anderen Menschen, und es ist ein eigenartiger Fakt meines Lebens, dass ich unter meinen näheren Freund*innen praktisch keine Musiker*innen habe. Die Musik ist zwangsläufig damit etwas, das ich alleine praktiziere. Oder alleine höre, denn niemand um mich herum hört Musik in einer ähnlichen Weise wie ich.

Zu Jahreswechsel hab ich "xenharmonische" Musik entdeckt; Mikrotonalität interessiert mich schon eine geraume Weile. (Um sie hören zu lernen, habe ich mein Gehörbildungsspiel AuralQuest programmiert.) Ich vermute, dass mein einzig praktikabler Weg, damit zu experimentieren, wieder General MIDI Standard sein wird, mit einem Notenschreibprogramm, das nicht darauf ausgelegt ist. Anstrengend also. Aber ich traue mich nicht, damit anzufangen, denn ich versuche nach wie vor, meine Hände möglichst wenig zu belasten. (Reines Tippen ist einigermaßen möglich, aber mit der Maus arbeiten riskiert Schmerzen) Mein Körper schränkt mich ein...

Nun denn. Dieses Üpdäätle hat keinen sehr positiven Ton. Tatsächlich hatte ich einige dieser Gedanken während depressiver Tage. Aber mir geht es aktuell nicht schlecht. Ich glaube einfach, dass ich mich von meinen hohen Ansprüchen lösen muss, von den ganzen toxischen Gedanken über Kunst und Künstler*innen, die für ihre Kunst leiden müssen, und so weiter. Wie gesagt, ich wurde zur Komponist*in erzogen, von klein auf, seit ich mich erinnern kann. Aber ich kann auch auf all das, was ich geschrieben habe, zurückblicken und sagen: Hey, ist doch einiges. Der Anspruch, etwas Weltbewegendes zu schreiben, oder auch nur etwas, das von einer etwas größeren Zahl an Personen gerne gehört wird - das scheint mir ein schales Ziel, das nur zu Frust führt. Und davon möchte ich mich eben lösen.

Jetzt hab ich nur über Musik geschrieben, dabei hab ich doch so viele Ambitionen in anderen Feldern, die mir genauso unnötigen Druck machen. Dass ich etwas schreibe, mit dem ich selbst zufrieden bin, scheint auch nicht wirklich drin zu sein. Und Politik ... ist mir so wichtig, und gleichzeitig merke ich auch hier, dass ich nicht dafür gemacht bin. Philosophie? Pffft. Es hat mir Spaß gemacht, über Atheismus zu schreiben, aber momentan würde ich hauptsächlich über Atheisten schreiben wollen, und über das Versagen dieser Szene, eine positive Kraft in der Welt zu sein.

Ja, ein Teil von mir hungert geradezu nach Philosophie und Kunst. Aber welche? Ich weiß es nicht. Ich kann nicht mehr daran herangehen wie in meinen frühen Zwanzigern, einfach mal ein dutzend Räder neu erfinden... nicht nur weil ich älter geworden bin, sondern auch weil sich das Internet verändert hat; überall gibt es Content, so viel davon; statt selbst nachzudenken, kann ich "Mereologie" googeln und feststellen, dass ich gar keine Lust habe, mich stundenlang einzulesen in ein Gebiet, über das ich zuvor fröhlich fabuliert habe.

Meine Güte, klingt das alles jetzt nach einer Krise.^^ Dabei ist es mehr ein bestimmter Punkt einer Entwicklung, die sich schon über Jahre vollzieht, und die mich großteils zu einem besseren Menschen gemacht hat; ruhiger, und geerdeter.

Dann sollte ich positiv anmerken, dass es ein kreatives Feld gibt, in dem ich derzeit zufrieden mit mir bin, und das sind Spiele. Ich bin extrem froh darüber, dass ich AuralQuest fertiggestellt habe, noch dazu in einer recht kurzen Zeit. Ein Brettspiel habe ich über Weihnachten auch gebaut; und aktuell arbeite ich - recht unregelmäßig - an einem Echtzeitstrategiespiel. Das hakt an vielen Stellen, vielleicht wird dieses Projekt auch nichts; einerlei, ich bin glücklich, etwas schaffen zu können, das gespielt wird.

Wenn ich wieder mehr komponiere, will ich es anders angehen, als bisher. Ich kann mein frustriertes Herumsuchen gerade nicht leiden, ich will spielen!

Sonntag, 12. Juli 2020

Üpdäätle -53-

Viel ist passiert. Ich habe im Juni mein Kompositionsstudium abgeschlossen, und eine Hormonersatztherapie begonnen (von der ich noch eher nichts merke). Das waren mal die Großnachrichten.

Die Kleinnachrichten:

AlgoLineB hat im Juni pausiert, ich habe aber in den letzten Wochen am GUI geschraubt, es gibt jetzt ein eigenes Menüfenster, mit einem Textfeld, in das direkt das Rezept geschrieben werden kann und auf Validität geprüft. Einziger Makel dabei: Sobald der Player gestartet wird, ist das Menü nicht mehr zugänglich, d.h. um etwas zu ändern, muss das Programm jedesmal neu gestartet werden.

Zwar wäre es problemlos möglich, das umzubauen - allerdings habe ich festgestellt, dass Java den Speicher des Players nicht freigibt, wenn ich nur das Player-Fenster schließe. D.h. wenn ich vom Menü aus oft den Player aufrufe, ohne das Programm neu zu starten, wird immer mehr Platz vom Arbeitsspeicher belegt. Das ist unschön und scheint mir etwas zu riskant, daher habe ich das deaktiviert.

Was ich - wie mir aufgefallen ist - einbauen kann, ist eine Funktion, in einem eigenen Fenster Rezept-Instruktionen und -Selektoren direkt im Programm zusammenzustellen (d.h. eine Erleichterung für Benutzer:innen, die sich nicht durchs ohnehin derzeit nur halb fertige Manual lesen müssen.) Aber das wäre eine Menge Arbeit, ich kann also nicht sagen, ob ich das angehe. Was das GUI angeht, ist es zwar funktionabel, aber noch nicht schön gestaltet, da ich mir noch nicht angeschaut habe, wie Layout funktioniert.

An den Algorithmen selbst habe ich nur wenig gemacht: ein SMOOTH-Keyword, das es ermöglicht, dass benachbarte Töne aufeinander abfärben, spricht wenn das Programm den Ton c' vermeiden will, dann vermeidet es auch die rundum - allerdings dafür c' weniger. Das funktioniert bislang ziemlich schlecht. Vielleicht habe ich noch nicht herausgefunden, mit welchen Instruktionen das gut zusammenarbeitet; der Effekt ist meist recht schal. Möglicherweise muss ich an der Funktionsweise dieses Keywords noch einmal schrauben. Praktisch ist jedoch, dass es auf alle Instruktionen anwendbar ist.

Eigentlich überlege ich schon, AlgoLine jetzt einmal längere Zeit ruhen zu lassen - zumindest wenn ich eine dafür geeignete Stelle erreicht habe - und ein neues Projekt anzufangen, ein Gehörbildungsprogramm, mit dem ich mich auf das Hören von Mikrointervallen schulen kann. Aber im Moment ist das noch ein vager Zukunftsplan.

Ansonsten stecke ich viel Energie darin, meine Gunnerkrigg Chords nach und nach aufzuschreiben, sowie an unfertigen Stücken weiterzuarbeiten. Das Aufschreiben ging zunächst recht zügig voran, mittlerweile bin ich nicht mehr so motiviert, also werde ich vermutlich dann allmählich ein neues Hauptprojekt suchen.

Anyway: Eigentlich ist jedes der erwähnten Projekte auch davon abhängig, wo es Interesse gibt. Für AlgoLine suche ich irgendwann Tester:innen (und wenn es welche gibt, bin ich auch motiviert, das Programm präsentierbar zu machen), und bei den Gunnerkrigg Chords komme ich eher voran, wenn es Leute gibt, die an den Noten Interesse haben.

Jundurg Delphimė


Freitag, 1. Mai 2020

AlgoLine B (work-in-progress)

Vorgestern hatte ich einen Tag von akuter Programmiersucht - denn ich hatte mir vorgenommen, endlich etwas zu vereinheitlichen, und alle Instruktionen auf eine gemeinsame Basis zu stellen, sodass bestimmte Keywords für alle verwendbar werden.

Dadurch gibt es jetzt u.a. die Keywords 'start' und 'end', um eine Instruktion nur in einem bestimmten Teil des Stücks aktiv sein zu lassen. Gleich verwendet habe ich das gerade eben mit der ebenfalls neuen Deterministic-Random-Instruktion. Zufallsfaktor will ich eigentlich minimieren, damit würde ich es mir zu leicht machen. Aber hin und wieder ist so ein bisschen Zufall recht praktikabel. Besonders am Start. Die ersten 5 Schläge zufällig zu bestimmen, und dann den Rest des Stückes Regeln folgen zu lassen (die die Vorgabe der ersten 5 Schläge verwenden) hat aber was.

Die Zufallsfunktion ist bewusst "trashy" programmiert, da sind zwei kleine Potenzen drin, und ein Sinus, und das irgendwie hochmultipliziert. Ich wollte da nicht lange darüber nachdenken - es reicht, wenn es irgendwas tut. Und vor allem: Es muss immer das gleiche tun, solange die Parameter unverändert sind. Denn dann kann ich am Stück feilen, ohne ständig eine neue Vorgabe zu haben, mit der die Instruktionen vielleicht vollkommen unterschiedliche Ergebnisse haben.

Allen Instruktionen gemeinsam sind also jetzt die Keywords 'start', 'end', 'fade_in', 'fade_out', 'max' und 'min'. Die Fade-Keywords habe ich noch nicht implementiert, die sollen später dann mit start/end zusammenwirken.

'MAX' ist relativ einfach zu erklären: Es setzt der Gesamtwirkung einer Instruktion einen fixen Deckel - sobald es darüber hinausgeht, wird alles herabskaliert, sodass es in den Rahmen zwischen 0 und diesen Deckel passt.

'MIN' ist etwas schwieriger zu erklären. Es legt nämlich nicht die geringstmögliche Wirkung fest (denn häufig wird ja ein Pitch mit 0 bewertet, und das lässt sich durch multiplizieren schon mal nicht hochskalieren) sondern es setzt ein Minimum fürs Maximum fest. Klingt verdreht?
Ist gar nicht so verdreht. Die Instruktion soll mindestens die festgelegte Auswirkung auf das Stück haben. Mehr ist möglich, dann wird nicht herabskaliert. Wohl aber wird hochskaliert, bis der höchste Wert zumindest mal MIN erreicht hat.

MIN x MAX x lässt es nun in Kombination zu, den höchsten Wert immer fix auf x zu belassen. Vorausgesetzt, es gibt überhaupt eine Wirkung. (Jetzt gerade fällt mir auf, dass eine Instruktion die nur Nullen liefert eventuell Probleme macht. Das muss ich wohl erst abfangen...)

Fehler gibt's viele. Teilweise mache ich durch das Fixen von Bugs alte Stücke, deren Rezept ich noch gespeichert hatte, kaputt. Damit muss ich wohl leben; Rückwärtskompatibilität kann ich einfach nicht gewährleisten, solange ich immer mal wieder an den Grundlagen schraube. Aber insgesamt wird es momentan in sich konsistenter.

Ich lad auch bald wieder neue Stücke hoch. Anhören tut sie quasi niemand.^^ Ein Stück hat zwei Dislikes und sonst nix, das finde ich ziemlich amüsant. Ich selbst hab viel Spaß daran. Zum Erhalt meiner psychischen Gesundheit muss ich nämlich jeden Tag spazieren gehen, und dabei hör ich mir dann die Stücke an. In Zukunft werd ich dann wohl an die erste Pandemiewelle, die Dürre und an die (fast) immer-gleiche Spazierstrecke denken, wenn ich die wieder höre.^^


Was ich bald implementieren will:

- die eine oder andere Funktion, die auf der Zeitachse läuft. Zum Beispiel sowas wie eine Sinuskurve über die Tonhöhen. Vermutlich eher albern, aber was solls, wär recht einfach zu implementieren, und ist noch mal was anderes.

- die Selektoren benötigen ebenfalls eine Generalüberholung (bei denen wär's dann schon die zweite). Ich will ein Feature, das es erlaubt, bevorzugt bei einer bestimmten Tonhöhe zu selektieren (im Moment gibt es da nur: höchster Ton, niedrigster Ton, und mittlerster Ton. Das ist ausbaubar.)

- und einen Selektor will ich einbauen, mit dem vor 4 Jahren mal die erste Version von AlgoLine begonnen hat: Wähle nur einen Ton aus, wenn es nur genau eine bestbewertete Tonhöhe gibt - sonst Stille. Das führte damals zu Stücken die relativ bald in sich selbst zusammenfielen und einfach aus waren. Aber mit der Menge an Instruktionsoptionen, die ich mittlerweile habe, dürfte das anders sein. Bzw. ich kann diesen Selektor ja zu anderen dazuschmeißen.^^

Sonntag, 26. April 2020

AlgoLine B (work in progress)

Die letzten Tage wurde wieder etwas am Programm geschraubt. Ich habe neu eine sustain Instruktion eingebaut, die das Halten von Tönen für bestimmte Längen veranlasst, und dazu auch gleich ein modulo Keyword. Ein Halten von Tönen für Längen kongruent mit 0 modulo 8 erzeugt, wenn es stark genug gewichtet ist, für einen regelmäßigen langsameren Puls, der sich durch das Stück zieht.

(Es ist oft so, dass sich das Gewichtsverhältnis von Instruktionen im Verlauf ändert - im Test hatte ich auch ein Stück, das am Anfang einem klaren Puls folgt, der aber nach einer Weile zusammenbricht und ab dann überhaupt nicht mehr erkennbar aufscheint.)

Modulo ist ein wichtiges Keyword; ich will das bei einigen anderen Instruktionen einbauen. Schon gesehen ist dies bei same_intervals, wo es eine besonders große Rolle spielt - es ist also jetzt möglich, dass diese Instruktion z.B. ein Intervall aufwärts zu einem C und zwei Oktaven abwärts zu einem C als das gleiche ansieht. Auch möglich ist es, Intervalle als gespiegelt zu betrachten, sodass 5 Schritte aufwärts und 5 Schritte abwärts gemeinsam gezählt wird. (same_intervals zählt von Anfang an mit, welche Intervalle schon im Stück sind, und vermeidet oder bevorzugt je nach Häufigkeit)

Leider führt das im Moment zu einer deutlich höheren Rechenzeit - zwar speichere ich die verwendeten Intervalle während dem Generieren mit, aber das tue ich nur für die tatsächlichen, nicht für Modulo. Und da die "Notenzeile" selbst nicht wissen kann, welche Modulo später über sie angewendet werden, kann ich das auch nicht so ohne weiteres mitspeichern. Daher müssen für jeden Schritt alle Intervalle von Anfang an wieder durchlaufen werden, was ein enormer Aufwand ist. Mal sehen, ob ich das geschickter hinkriege - eigentlich müssten ja eher die Instruktionen mitspeichern. Im Moment führt das dazu, dass das Generieren geschätzt zehnmal langsamer abläuft. (Vermutlich noch durch andere Faktoren beeinflusst - allmählich summiert sich schlechte Implementierung auf.)

~

Ein grundsätzliches Problem ist, dass alle Instruktionen aufsummiert werden, aber das Auswählen der Töne auf Basis von den Besten funktioniert. D.h. wenn eine Funktion bewirkt, dass Töne a, b, c, d, e, ... um +1000 bevorzugt werden, aber eine andere bewirkt, dass Ton b um +1 bevorzugt wird - dann ist b alleine der beste Ton und alle fast gleichen anderen werden ignoriert.

Damit das nicht so ist, gibt es jetzt das Selector-Keyword threshold. Damit ist z.B. eine Auswahl aus der Menge aller Töne mit einer Bewertung von den mit 98% bis 100% des jeweiligen Maximalwertes möglich.

Exzessiv angewandt habe ich dieses Keyword in Fumbling Important Extremely Talon. Dort gibt es an Instruktionen überhaupt nur das allereinfachste avoid same_pitches, und die eigentliche Arbeit machen die Selektoren - die entweder die tiefsten oder die höchsten Werte auswählen, allerdings aus vielen verschiedenen Prozentbereichen. Darunter auch so niedrige wie 15% - 25%. Das heißt, dass schlecht bewertete Töne nach einer Weile auch ausgewählt werden, was dazu führt, dass unter einer Aufwärtsbewegung allmählich weitere entstehen. Die durcheinanderlaufenden Geraden mit unterschiedlicher Steigung sind auch optisch schön, ich habe aber leider kein Bild davon erstellt.

~

Im Moment ist der Code an vielen Stellen chaotisch und es gibt Inkonsistenzen gegenüber der Eingabe und der Ausgabe, was natürlich absolut nicht ideal ist, da ich ja die Rezepte aus dem Programm wieder als Text speichern können möchte, und zwar exakt der Eingabe entsprechend.

Je mehr Keywords ich hinzufüge, desto größer wird das Chaos, da es dieses und jenes Keyword bei der einen Instruktion gibt und bei der anderen nicht, und sie überall mehrfach implementiert sind. (Bis zu einem gewissen Grad notwendig, da sie verschiedene Dinge tun.) Für die wichtigsten Keywords möchte ich das aber ändern, sie sollen gemeinsam erfasst werden, und nur bei den Instruktionen einen Effekt haben, bei denen es eine Implementierung dafür gibt.

Etwas, was ich außerdem gerne einführen möchte, ist ein Keyword start, das bewirkt, dass eine Instruktion erst ab einer gewissen Stelle hinzugeschaltet wird. Eigentlich wollte ich das ursprünglich gar nicht, da ich es interessanter fand, wenn Veränderungen allein aus den immer-geltenden Instruktionen, die gegeneinander greifen, entstehen... aber mal sehen. Interessanter ist vielleicht das Keyword end. Denn oft ist es ja so, dass eine Instruktion unbedingt notwendig ist, damit am Anfang ein bisschen "Chaos" erzeugt wird, und z.B. vermieden wird, dass nur Tonleitern übrigbleiben. Sobald das aber einmal geschehen ist, läuft es eigentlich auch ohne dieser interessant weiter.

~

Zum Abschluss: Cute demon faces! <3


Ich habe den Graphikbereich um einiges verbreitert - weil ich zwischendurch mal Achtzehnteltöne implementiert habe, für die schlicht nicht mehr genug Pixel da waren - und so sieht es jetzt aus. Am GUI arbeite ich selten. Es gibt eine Reihe von praktischen Tastenkürzeln, d.h. die Buttons auf der rechten Seite sind nur ein paar der Befehle, die es gibt.

Ein Uploads stehen an, für die muss ich jetzt aber erst noch Bilder machen. Theoretisch wäre es wohl interessant, eine Aufnahme vom Programm in Bewegung zu sehen, wie ich das beim alten AlgoLine gemacht habe - aber in der Praxis läuft mein Rechner bereits heiß und der surrende Lüfter packt es fast nicht mehr. Es macht mir aber auch Spaß, passende Bilder zu finden/erstellen, und es verkürzt die Video-Erstellungszeit um ... eigentlich quasi alles, also Faktor 1000 oder sowas.^^






Freitag, 27. März 2020

AlgoLine B: "Voice Shadow Glitter Eventuality" und mehr...

Heute hab ich am Programm selbst keine Veränderungen gemacht, sondern Parameter geschraubt und Stücke generiert. Ich mag das Ergebnis:

1. Untrue Island Mess Linguist
2. Voice Shadow Glitter Eventuality
3. Well Nothing Thought Splash

In allen drei Fällen habe ich nachträglich einen Low-Pass-Filter darübergelegt - hohe Töne sind einfach generell lauter bei MIDI, und dem muss ich entgegen wirken. Well Nothing hat außerdem noch deutlich mehr Nachhall verpasst gekriegt.

Das Muster ist jeweils ähnlich. Der zentrale Bestandteil:

avoid 1 same_interval except 0 .. ..
avoid 1 same

Es werden also sowohl Tonwiederholungen als auch Intervallwiederholungen vermieden, mit Ausnahme vom 0-Intervall (also ein liegender Ton). Das führt prinzipiell mal zu einem Muster von anfänglichen Chaos, das sich allmählich sortiert zu immer längeren Liegetönen oder Akkorden.

Zweitens gibt es eine Auswahl von Präferenzen für verschiedene Modi - bzw. eigentlich den selben Modus in unterschiedlichen Transpositionen. Indem es der selbe ist, ist es nämlich leichter, Überlappungen zu verhinden, die einzelne Töne herausstechen ließen. Für die ersten beiden Stücke ist es jeweils ein Quarten-Turm-Modus, leicht mikrotonal verschoben.

Und schließlich Rampen, die dafür sorgen, dass bestimmte Register gegenüber anderen bevorzugt oder benachteiligt werden - was eine temporäre Sache ist, da "avoid same" alle Unterschiede im Laufe der Zeit ausgleicht.

Für die ersten beiden Stücke habe ich das Rezept leider nicht zwischengespeichert, das dritte hab ich hingegen und kann es hier vollständig präsentieren:

~ ~ ~

Well Nothing Thought Splash

Twelfthtone

avoid 12 same_intervals except 0 114 -114 144 -144
avoid 12 same

avoid 1 ramp_region 100 0
avoid 1 ramp_region 240 0
avoid 1 ramp_region 500 200
avoid 1 ramp_region 400 500

prefer 512 set modus 12 12 10 8 12 18
prefer 256 set modus 12 12 10 8 12 18 offset 7
prefer 128 set modus 12 12 10 8 12 18 offset 5
prefer 64 set modus 12 12 10 8 12 18 offset 8
prefer 32 set modus 12 12 10 8 12 18 offset 4
prefer 16 set modus 12 12 10 8 12 18 offset 9
prefer 8 set modus 12 12 10 8 12 18 offset 3
prefer 4 set modus 12 12 10 8 12 18 offset 10
prefer 2 set modus 12 12 10 8 12 18 offset 2
prefer 1 set modus 12 12 10 8 12 18 offset 11
prefer 1 set modus 12 12 10 8 12 18 offset 1

prefer 16 set modus 72
prefer 16 set modus 72 offset 7
prefer 16 set modus 72 offset 5
prefer 16 set modus 72 offset 8
prefer 16 set modus 72 offset 4
prefer 16 set modus 72 offset 9
prefer 16 set modus 72 offset 10
prefer 16 set modus 72 offset 2
prefer 16 set modus 72 offset 11
prefer 16 set modus 72 offset 1

select lowest 3 apathetic
select lowest 3
select middleregister 1
select middleregister 3 apathetic

dimension 500
lowest_pitch 20

~ ~ ~

(In der Aufnahme wird dieses Rezept rückwärts abgespielt - deswegen die glockenhafte Zunahme des Chaos ganz am Ende.)

Ich habe bereits angefangen, ein Usermanual zu schreiben - dann kann ich das Programm auch mal anderen Menschen in die Hände geben. :)

Freitag, 20. März 2020

AlgoLine B (Work-in-Progress)

In den letzten Tagen hat sich die Motivation, an AlgoLine zu arbeiten, etwas verflüchtigt. Aber ein bisschen etwas geht doch immer weiter.

So sieht der Player derzeit aus:



Die wesentliche Änderung - neben dem, dass es jetzt auch wieder möglich ist, während dem Abspielen Tempo und Instrument zu ändern - ist, dass ich das Design der Selectors doch nochmal überdacht habe.

Deren Interface lässt jetzt auch Parameter zu, anstatt bloß aus "nimm diesen Selector" zu bestehen.

"select lowest 5" bedeutet naheliegenderweise, unter den gerade bevorzugten Tönen die fünf untersten auszuwählen, etwas verwirrender ist das Schlüsselwort "apathetic" - es wählt genau diejenigen Töne aus, deren Bewertung in der Mitte zwischen "am meisten bevorzugt" und "am dringendsten vermieden" liegen.

In einem Stück sowohl höchstbewertete als auch mittelbewertete Töne auszuwählen, führt zu einer interessanten Mehrstimmigkeit, da sich die beiden doch etwas anderes verhalten.

Das nächste Vorhaben ist die Implementierung von ein paar intervallbezogenen Instruktionen.

Dabei bin ich gespannt auf eine Interaktion zwischen:
prefer interval 3
prefer interval -3

Das müsste nämlich - so meine naive Annahme - dazu führen, dass Töne liegenbleiben, wenn sie im Abstand von 3 liegen. Vielleicht lassen sich damit Präferenzen für bestimmte Akkorde einbauen. Aber wahrscheinlich kommt es wieder komplett anders als ich mir das jetzt vorstelle.^^

Dienstag, 17. März 2020

AlgoLine B (Work-in-Progress)

#bingecreating heißt es in diesen Quarantänezeiten. Es hat sich also gut getroffen, dass ich ohnehin gerade diesen Monat ein Projekt, das ich lange liegen habe lassen, wieder frisch angehen wollte: AlgoLine.

(Lange liegen lassen aus gutem Grund: Ich hatte mir vor 2 Jahren gesagt, dass ich erst dann wieder daran weitermache, wenn mein Orchesterstück und meine Diplomarbeit fertig sind.)

Der Code von 2016, das stellte sich nach kurzer Begutachtung heraus, war absolut grauenhaft; wüstes Durcheinander von Referenzen, unklar benannten Variablen, einem Mischmasch aus Deutsch und Englisch... daran weiterzumachen, hatte ich echt keine Lust. Also nochmal komplett neu anfangen.

Im Gegensatz zu AlgoLine A (wie ich die alte Version jetzt mal nenne), wo es keinerlei Interface gab, um die Generation des Stücks zu beeinflussen (alle Befehle dafür standen direkt im Code) wollte ich es diesmal so anlegen, dass auch andere Personen theoretisch etwas damit anfangen können. Daher gibt es zu jedem Algorithmus, der im Programm zur Verfügung steht, eine äquivalente Textzeile - damit ist sowohl laden als auch speichern möglich, und vor allem, die Anweisungen können vorher in ein txt-File geschrieben werden.

Ich überlege im Moment noch, was ich noch alles in diese "Rezepte" hineinnehme. Derzeit besteht noch jedes Rezept aus drei Teilen:

1) Auswahl der StepWidth, standardmäßig 12 Töne pro Oktav, möglich sind aber auch 24, 36, 48, 60 und 72. Intern gelöst ist das, indem ich z.B. für Vierteltöne einen zweiten Midi-Channel zuziehe, dem zur Initialisierung einmal ein PitchBend-Befehl zugewiesen wird, alles um einen Viertelton höher abzuspielen. Für die 72-stufige Oktav sind es dann schon 6 Kanäle. Noch kleinere Abstände wären also theoretisch noch möglich, aber praktisch ist es schon bei Zwölfteltonschritten schwer, einen Unterschied zu hören.

2) Die Instructions, jeweils eine Zeile pro Instruktion. Diese dienen alle dazu, zu entscheiden, welche Tonhöhen für einen neuen Schlag ausgewählt werden, basierend auf den bisherigen oder ohne Kontext. Jede Instruktion liefert einen positiven oder negativen Wert für jede einzelne auswählbare Tonhöhe. Die Werte aller Instruktionen werden dann addiert, und das Gesamtergebnis an die Selectors weitergegeben.

3) Die Selectors, deren Aufgabe es ist, basierend auf den Bewertungen eine Auswahl zu treffen. Mit "die am höchsten bewertete Tonhöhe" allein ist es nämlich noch nicht getan, denn da gibt es häufig Gleichstände. Ein AllSelector wählt in diesem Fall einfach alle aus, während ein LowNoteSelector sich jeweils nur die tiefste herauspickt. (Meistens mit der Konsequenz, dass die übrigen der Reihe nach von unten nach oben abgearbeitet werden) Es gibt auch noch die Möglichkeit, einen LowNoteReverseSelector zu verwenden, der wählt dann nicht aus den höchstbewerteten, sondern aus den niedrigstbewerteten Tonhöhen jeweils den tiefsten Ton aus.

Das Eingeben/Speichern/Laden von Rezepten passiert in der Konsole, erst nach dem Generieren eines Stückes startet der Player - dessen GUI ich zumindest mal angefangen habe:

Die roten Punkte in der Mitte sind die aktuell klingenden Tonhöhen. Alles darüber ist vergangen, das darunterliegende kommt noch. Je heller der Grauton, desto höher die Bewertung für die einzelne Tonhöhe.

Rechts wird es eine Buttonspalte geben. Da ist vorläufig nur mal ein paar bunte Quadrate anzuklicken; später soll da noch draufstehen, was der Button tut, und welches Tastaturkürzel stattdessen auch verwendet werden könnte.

Unten gäbe es eine Anzeige für die Tonhöhen, aber bei den Zwölfteltonschritten sind es einfach zu viele, als dass es sich gut darstellen ließe. Da muss ich noch etwas überlegen, wahrscheinlich werden dann nur bestimmte Tonspalten beschriftet, anstelle von allen.

~

Vorhin hab ich mal das erste neue Stück auf Youtube hochgeladen:

Sweet Soil Exhort Navel

 Davon kann ich hier das gesamte Rezept vorstellen:

// Sweet Soil Exhort Navel 2020-02-17

TWELFTHTONE

prefer 4000 set modus 28 5 14 28 5 14 14 5 offset 3
prefer 1600 set modus 14 14 14 5 14 14 5 offset 7
prefer 400 set modus 14 14 14 5 14 14 5 offset 10
prefer 100 set modus 14 14 14 5 14 14 5 offset 11
prefer 25 set modus 14 14 14 5 14 14 5 offset 2
prefer 5 set modus 14 14 14 5 14 14 5 offset 8
prefer 1 set modus 14 14 14 5 14 14 5 offset 9

avoid 100 sameas -300 to -200 ramp
avoid 200 sameas -2000 to -1000 ramp
avoid 1 sameas -900 to -1 ramp

avoid 10 same

AllSelector

~

Jede Instruktionszeile beginnt entweder mit "avoid" oder "prefer", was im Prinzip ein Vorzeichen darstellt. Die Zahl danach ist ein Verstärker, der die Zeile im Verhältnis zu den anderen gewichtet. (Was nicht immer ganz so gut funktioniert, da manche Instruktionen einfach um ein Vielfaches stärker sind als andere.) "Modus" ist eine von mehreren Möglichkeiten, eine Menge an Tonhöhen herauszupicken, die vorzuziehen sind. Die Zahlen geben die jeweiligen Intervalle an - in semitonaler Musik (^^) würde 2 2 1 2 2 2 1 eine Durtonleiter vom untersten Ton an beschreiben. Mit Offset-Wert versetze ich die Skala dann noch ein Stück.

"sameas" lässt einen Bereich in der Vergangenheit definieren, und Noten von dort vermeiden oder bevorzugen. "avoid sameas -4 -2" würde sagen, dass die Noten vom vorletzten bis vorvorvorletzten Schlag (?) zu vermeiden sind. "ramp" ist ein mächtiger kleiner Zusatz: Da wird fließt nämlich ein Ton umso mehr in die Wertung ein, je näher er am Jetztzeitpunkt ist. Und da ich das nicht gut skaliert habe, heißt das, dass eine 100-Töne lange Rampe de facto den letzten Schlag 100mal gewichtet.^^

"Avoid same" ist die simpelste Instruktion, die aber fast immer gut ist, dabeizuhaben... das Stück zählt mit, wieviele Noten es von einer Tonhöhe schon gab, und wertet sie niedriger, je mehr es sind. Führt dann also dazu, dass Tonhöhen, die lange Zeit nicht vorkamen, irgendwann doch durchbrechen.

~

TODO:

- das GUI ist ja erst halbfertig. Da kommt noch eine Möglichkeit, Spieltempo und Instrument zu verstellen, neben anderem wichtigen Kram.

- neue Algorithmen! Die Schwierigkeit ist hier, etwas zu finden, das nicht enorme Rechenzeit oder Speicherplatz braucht. "avoid same" funktioniert nur, weil ich die Töne beim Generieren schon mitzähle.

Ich möchte aber gerne ein "avoid same-intervals", und da muss ich gerade noch überlegen, wie ich das genau definiere. Damit das geht, würde ich für jeden Schlag speichern, welche Intervalle er gegenüber zum vorigen beinhaltet. Bei einzelnen Noten geht das ja, aber bei Akkord zu Akkord? Da steigt die Anzahl der möglichen Intervalle ja schnell an. Dreiklang zu Dreiklang beinhaltet 9 Intervalle: Von jedem Ton des ersten Klangs zu jedem Ton des zweiten...

Wenn ich die bloß als Menge (Set) speichere, verliere ich noch die Information, wie oft ein Intervall auftaucht. Hmm...

- mal ein paar Standardrezepte als kommentierte txt-Files erstellen, damit es für andere verständlicher wird.

- mich entscheiden, ob die "dimension" - Anzahl der verschiedenen Tonhöhen eines Stücks - und der Offset von den tiefsten Midipitches auch Teil des Rezepts werden sollen. Da hab ich nämlich beim Rezept oben vergessen, zu erwähnen, dass es auf eine Dimension von 400 angewendet wurde, um das Stück zu erzeugen.

- danach suchen, ob AllSelector nicht doch noch irgendwo einen Bug hat, der dazu führt, dass aufwärtslaufende Girlanden entstehen, wo es ja eigentlich keine Bevorzugung der Tonhöhe geben sollte. o_0

Samstag, 14. März 2020

Üpdäätle -52-

Viel ist passiert in den letzten Monaten...

Zunächst - meine Diplomarbeit wurde im Januar fertig und ist abgegeben. Ich kann also demnächst meinen Abschluss machen... vorausgesetzt, es finden überhaupt noch Prüfungen statt.^^

Ich bin am Ende sogar recht zufrieden gewesen mit meiner Arbeit - einige Ideen zum Einvierteltakt bei Ustwolskaja, über die ich gerne schreiben wollte, habe ich letztlich untergebracht. Der ganze Prozess, bist das Ding gedruckt und schließlich bewertet war, hat nochmal ein Monat gedauert.

~

Im Februar habe ich mir wieder eine große Playlist mit Neuer Musik zusammengestellt. Eventuell werde ich darüber noch etwas schreiben - aber im Moment bin ich anderweitig beschäftigt:

Ich arbeite nämlich gerade an einer neuen Version von AlgoLine, meinem Programm für algorithmische Musik... der Code der alten Version, von 2016, erwies sich als absolut unbrauchbar: schlecht strukturiert und wenig ausbaufähig. Also hab ich komplett von vorne begonnen.

Mein Ziel ist:

Ein Programm, das in der Konsole oder aus einem Txt-File einige Instruktionen einliest, und daraus dann automatisch ein Stück generiert, das dann im Player (mit Midi) abgespielt werden kann.

Außerdem soll das ganze noch Vierteltöne unterstützen, dachte ich mir ... und wo ich schon dabei war, hab ich das gleich noch zu Sechsteltönen erweitert und ... bis zu Zwölfteltönen. Darauf freue ich mich schon sehr, zu hören, wie das so klingen wird.

Bis jetzt habe ich:

- Eingabe und Ausgabe von Instruktionen (jedenfalls dem dutzend Standardalgorithmen, mit denen ich anfange, das ist aber relativ leicht später erweiterbar)

- Den Teil, der tatsächlich ein Stück generiert... der ist noch nicht fertig, aber es ist alles dafür nötige da, und muss nur noch zusammengebaut werden

- Die allererste Planung für die visuelle Gestaltung des Players. Das ist der schwierigste Teil. (Mit GUI kenn ich mich einfach zuwenig aus, und es ist frustrierend, zu wissen, dass ich da eher pfusche ... aber funktionieren wirds, immerhin tat das die Version von 2016 auch.)

Noch zu tun ist also, das GUI fertig zu stellen, und dann alles nochmal miteinander zu verbinden - und dann steht nichts mehr im Wege, nach Anweisungen im txt.-Format Zwölfteltonkompositionen zu generieren. :)

Derweil höre ich neben dem Programmieren die kompletten Streichquartette von Alois Hába - schonmal Vierteltöne schnuppern. Bei meinen eigenen Midi-Stücken im Dezember habe ich festgestellt, dass für mich kleinere Unterteilungen tatsächlich besser funktionieren - etwas wie Sechsteltöne, oder Achteltöne, scheint mir im Hören intuitiver. Seltsam.

Montag, 23. Dezember 2019

Üpdäätle -51-

Sveiki,

Die im letzten Post angekündigte Challenge ist vorige Woche zuende gegangen - ich hab tatsächlich geschafft, meine 31 Stücke in 31 Tagen zu schreiben, und es hat Spaß gemacht, vor allem das Reagieren auf die teilweise absurden Vorgaben, die aus meinem Freundeskreis (und in einem Fall, von Twitter) auf mich prasselten. :)

Wenn ich dazukomme, schreib ich zu den einzelnen Stücken noch etwas. Aber vorläufig eben nur der kurze Hinweis, dass sie fertig sind und auf Youtube zu finden:


~

Weihnachtszeit kommt; Familienbesuche und derlei seltsame Dinge. Für viele queere Menschen eine sehr belastende Zeit. Wenn ihr welche kennt, kümmert euch um sie! :)
Für mich wirds dieses Jahr vermutlich (& hoffentlich) ganz entspannt. Dafür kommt Extra-Stress von meinen beiden Unis.

Außerdem noch ... ich werde bald dreißig, und das ist irgendwie weird.


~

Ich bin mir nicht so recht sicher, was aus diesem Blog wird, in nächster Zeit. Google boykottiert sein eigenes Blognetzwerk, es ist also unmöglich, diesen Blog durch diese Suchmaschine zu finden, was irgendwie bescheuert ist. Wenn ich tatsächlich Leute erreichen will, mach ich das momentan tatsächlich eher auf Twitter oder im kleineren Kreis einer Community. Außerdem ist das Formatieren hier ziemlich mühsam, wenn ich etwas längeres schreiben will.

Von wegem technologischen Fortschritt; ziemlich viele Funktionen im Netz werden eigentlich momentan eher ständig schlechter. Youtube und Facebook sind so zugemüllt mit kapitalistischen Datensammelalgorithmen, dass sie auf meinem langsamen Computer langsam kaum noch funktionieren. Abgesehen von den tausend anderen Arten, in denen die großen monopolistischen Plattformen scheiße sind...


Dienstag, 12. November 2019

Midivemberzember 2019 Challenge

In ein paar Tagen steht ein Jubiläum an - 15 Jahre nach meiner Entscheidung, das Komponieren fortan konsequent und möglichst täglich anzugehen. Das will ich nicht einfach so vorbeiziehen lassen, also gibt es ein Projekt dazu, eine Challenge.

Ich will in einem Monat für jeden Tag eine Komposition machen. Beginnend mit 15.November, und bis 15.Dezember - das sind, wenn ich mich nicht verzählt habe, 31 Tage, also geht es um 31 Stücke. Nonkonformistisch wie ich bin, ist es ein Monat das halb verschoben zwischen November und Dezember liegt, was die Benennung schwierig macht.

Es gibt ja den Inktober (eine Tuschezeichnung pro Tag im Oktober), bei dem viele Leute, die ich kenne, mitgemacht haben, und - noch etwas bekannter - den NaNoWriMo, also "National Novel Writing Month", der längst international ist, und an dem hunderte Autor*innen weltweit teilnehmen. Für mich habe ich festgestellt, das jedes Jahr pünktlich mit 1.November meine Fähigkeit zu schreiben verloren geht, der November ist also mein NoNoWriMo, Not-Novel-Writing-Month. ^^

Also - sorry, dass ich dieses schreckliche Gebilde "Midivemberzember" da als Titel für den Blogpost genommen habe.

Die Challenge:
31 Tage, 31 Kompositionen (Midi, aber am Klavier ist auch erlaubt, es muss allerdings "fertig" sein, egal wie gut/schlecht)

Bisherige Ideen für einzelne Tage:

- Stücke von November 2004 zitieren
- Zufällige Auswahl von Instrumenten
- Auswahl von Instrumenten entsprechend einem alten Midistück
- Stilkopien
- Instrumentation eines fremden Werkes (z.B. aus Bartóks Mikrokosmos) auf möglichst abstruse Weise
- Experimente mit "billiger" Polyphonie (Kanon, Imitation, copy-paste, ...)
- minimalistische Experimente?
- Klangchaos
- Extra-Challenges: Pro Instrument nur auf drei Tonhöhen? Ein Stück, das zu mindestens 60% aus Pausen besteht? Nur extreme Lagen? Ostinato-Madness? ...

Sonntag, 6. Oktober 2019

Üpdäätle -50-

Yay, 50!

Tut mir leid, dass es hier so still geworden ist. Ich versuche, nicht zu viel Energie an Nebenprojekte gehen zu lassen, denn die Deadline für meine Abschlussarbeit rückt immer näher. Waaaaaah! :D

Ich habe gerade eine lange Bartók-Phase hinter mir, in der sich u.a. sein gesamtes Klavierwerk in eine Playlist gepackt habe. Mein Fazit ist, dass die zwei rumänischen Tänze Opus 8a für mich seine besten Klavierstücke sind, es aber in späteren Werken und im Mikrokosmus natürlich enorm viel zu entdecken gibt; und dass Für Kinder wunderbar ist, wenn eins lernen will, wie eins Melodien schreibt. Natürlich sind das eigentlich ungarische und slowakische Volkslieder, die Bartók lediglich raffiniert begleitet. Dennoch: Nicht nur sind Volkslieder und Kinderlieder eine gute Quelle dafür, wie Melodien überhaupt funktionieren, Bartóks Begleitungen machen aus diesen teilweise erst gute Melodien, er schafft es irgendwie, Schattierungen herauszuholen, die beim bloßen einstimmigen Gesang untergehen würden.

Im November habe ich ein großes Jubiläum, nämlich 15 Jahre nach meinem Beschluss, das Komponieren etwas systematischer und regelmäßiger anzugehen. In den Jahren danach entstanden unzählige kurze Midi-Kompositionen, und diese bilden den Grundstock meiner Erfahrung mit dem Komponieren. Ich weiß noch nicht genau, wie ich das Jubiläum begehe - einerseits erscheint es mir als logisch, dafür eine Midi-Komposition zu schreiben (oder sogar wieder einen Werkzyklus zu beginnen), andererseits könnte ich natürlich auch die Stücke von November 2004 hernehmen, und aus deren Material etwas neues machen - unter Umständen am Klavier, und vielleicht sogar als Kammermusik. Da ich die Werke, die ich für den Abschluss meines Studiums brauche, jetzt allesamt fertig habe, kann ich eigentlich wieder etwas ganz neues anfangen. :)

Wenn ich richtig rechne, dürfte ich irgendwann diesen Herbst doppelt so alt sein wie damals, als ich diesen Beschluss gefasst habe... erschreckend, aber hey, mein Leben ist seitdem grundsätzlich langsam aber stetig besser geworden.

Wenn ich damit fertig bin, könnte ich auch über den Algorithmus, den ich für meine Abschlussarbeit geschrieben habe, hier etwas erzählen... falls daran Interesse ist. Im Prinzip analysiert dieser eine einstimmige Notenzeile, markiert dann bestimmte Betonungen anhand Tonhöhe und Rhythmus, und dreht dann nochmal den Spieß um, indem er versucht, eine andere Notenzeile zu generieren, die gleiche, ähnliche oder gegensätzliche Betonungen aufweist.

Jundurg Delphimė