I have started working on a new module called ARENA. It is inspired by Sugar Bytes’ Aparillo softsynth and I thought it would be a nice idea to have something like the “Orbiter” in Rack as a module.
The principle is quite simple: 8 inputs and 2 outputs are represented as objects in 2d space. Each input signal has an assigned radius. If the output object is within the radius of an input object the signal is mixed according to its euclidian distance between the objects. You can say it is some sort of 2-dimensional mixer.
The real fun begins if you start modulating one of the various parameters like position, radius, input amount…
The implementation is coming along very well but it should be considered unstable and unfinished code. I’m starting this thread to collect some thoughts and ideas that could influence the further development
I’m curious what you think about it!
You can test ARENA if you download the latest build from my GitHub-repository and following the manual for installing plugins outside the Library.
I find visual methods of working with audio in this way fascinating. I have been working with this. Soundgrain a graphical interface where users can draw and edit trajectories to control granular sound synthesis. I shall look forward to experimenting with Stoermelder Arena.
I‘d like to share some thoughts I had in mind while working on this module:
The functionality could have probably easily done without any special visual interface, but I wanted to create something that is not hard to understand and fun to look at and play with. I hope the graphics also support somewhat the usability
I think there are many many great modules for Rack that are not easy to understand because of no visual feedback (including some of my own) and I’m going to create more graphical modules in the future as Rack provides a great framework for that… @Vortico thank you for that!
Currently there is no manual as the module and panel are not yet finished, so I give you some hints to get you started:
The module produces no signal on its own. You have to plug in some signal in one of the eight inputs in the top row. The module processes everything at audio rate but I haven’t tested yet how well it works with audio signals.
Each input has a radius and amount. The amount is used to scale the input between 0-100%. The radius defines the range of influence of the input on the output in 2d space considering the x/y coordinates of the objects.
If a line is drawn between a white and yellow circle it means that the input is in range according to the radius. In the latest build each outer circle visuals the current amount set for the input.
The radius of an input is only drawn if the object is selected. This can be done by clicking on the circle or on the led of the „channel“.
Each input has its own output besides the two mixed outputs. It sends the scaled input according to the sum of proportional distance of the two yellow circles within the radius assigned to the input. Being two output objects the sum could be above 100% of the input which is currently limited. I’m going to add some other methods of handling this situation later, like clamping or folding.
The objects in the arena are not MIDI mappable. To address this issue I added the two tiny circles next to the led of each „channel“ which represent the x and y position of the object. Using MIDI-MAP (or my MIDI-CAT) you can map your controller by clicking on the circle. The led signals currently if a object is selected.
I will add a function to record the movement of the two yellow circles by mouse. In the latest build the inputs and some control are already there but without any function. I still have to figure out how to do this in a usable way so this is going to take some time.
The ports labeled „OP“ can have different targets for modulations, like amount, radius, x-offset, y-offset or random walk. More will probably added. It is was an deliberate chosen limitation that you can only select one of these modulation targets for each input.
You’re right, it felt smaller. The selectable Ins and Outs is nice it removes the unused balls from the field.
Alas this update broke the compatibility, but that’s a small price to pay.
Thank you stormy Ben.
Oh holy… that looks nice. This has some ideas I wanted to pick up when I started looking at the code. I had something like this in my mind https://www.senode.org/ But actually I’m not sure I ever start coding it So if you find some nice ideas inside this app … It may already be very doable by connecting some existing modules, but I don’t have a good overview of the existing modules.