$99 reaktor vs $250 max/msp educational

Reaktor, MAX/MSP, VST/AU, etc. A place for all things soft....

Moderators: lisa, luketeaford, Kent, Joe.

Post Reply
User avatar
EATyourGUITAR
has no life
Posts: 3897
Joined: Tue Aug 31, 2010 12:24 am
Location: Providence, RI, USA

$99 reaktor vs $250 max/msp educational

Post by EATyourGUITAR » Sat Nov 23, 2019 9:54 am

I am very close to just buying reaktor 6. I have used reaktor since 1.0. I have used max/msp for 10 years either as a demo, monthly, or with M4L.

my main thing is basically creating wavetables for other hardware and software synths. a second use case is just making drone music using oscillator banks. I really want to write a full featured software that can load, edit, and save sample packs or wavetables. I am currently in school for programming so I really like writing my DSP in C++ or C# with GEN in max msp. however, reaktor is $99.

also, wavelab is $240 educational and it supports C++ API. obviously these are very different programs. I am a bit turned off by NI only letting you use one computer, pain in the ass licensing, no reinstall for stolen laptop, only 4 computers can EVER be used with a single license unless you sell it to yourself and NI approves the transfer. but it is only $99 so.

help me decide please.
WWW.EATYOURGUITAR.COM <---- MY DIY STUFF

OMN
Learning to Wiggle
Posts: 27
Joined: Sat Jul 27, 2019 10:05 am
Location: Istanbul

Post by OMN » Sat Nov 23, 2019 12:30 pm

difficult decision.

If it is just the DSP study you are looking for, Reaktor is great. For C++ you don't have to stick into GEN of Max, however Max can become almost anything not just a DSP prototyping environment. Pricewise 99USD sounds very charming for Reaktor.

User avatar
mritenburg
Super Deluxe Wiggler
Posts: 1659
Joined: Tue Jul 16, 2013 2:17 pm
Location: Boston

Post by mritenburg » Sat Nov 23, 2019 12:44 pm

Reaktor for $99 should be a no-brainer. The Reaktor core can be used for more than just DSP. Just as an example, people have programmed video games in it to demonstrate its flexibility and power. If you can imagine it, you can build it in Reaktor.

On top of everything else, Reaktor ensembles and efx just sound great. And for $99, access to the Reaktor built-in library and the community library will provide you with more ensembles than you could ever possibly learn and use.

NI licensing for Reaktor allows use on 2 computers at a time.
Disappointment with any module is usually a failure of imagination.

Live Patch 02/22


peripatitis

Post by peripatitis » Sun Nov 24, 2019 5:47 am

This doesn't sound like the kind of decision one should be making based on money, but if that is the case and you are into programming you should definetely go with supercollider (which is free).

Max offers a lot more than reaktor, there is no comparison really BUT reaktor has a more generous community in the regular/everyday stuff. So you will be able to get some ideas by dissecting other people's patches.
The max community is a lot more "out there", and the focus is not always on good sounding patches. It has become though the ultimate artists sketchbook imo, people from various arts use it to do something, from installations to live performances, interactive video's, etc.

Supercollider is just too cool :)

colb
Common Wiggler
Posts: 160
Joined: Wed Nov 16, 2016 3:06 pm
Location: Scotland

Post by colb » Tue Nov 26, 2019 10:41 am

peripatitis wrote:Max offers a lot more than reaktor, there is no comparison really...
Please elaborate.

I'm a long time Reaktor user and builder, and I've heard various opinions on the different versions of Max, but I've yet to see/read anything that would convince me to switch.

peripatitis

Post by peripatitis » Tue Nov 26, 2019 1:02 pm

colb wrote:
peripatitis wrote:Max offers a lot more than reaktor, there is no comparison really...
Please elaborate.

I'm a long time Reaktor user and builder, and I've heard various opinions on the different versions of Max, but I've yet to see/read anything that would convince me to switch.
As a programming environment, the data structures available (like the matrices for example), the programming languages you can use, and as an interface to the "world" being able to work with any data you can throw at it.

colb
Common Wiggler
Posts: 160
Joined: Wed Nov 16, 2016 3:06 pm
Location: Scotland

Post by colb » Tue Nov 26, 2019 6:47 pm

peripatitis wrote:
colb wrote:
peripatitis wrote:Max offers a lot more than reaktor, there is no comparison really...
Please elaborate.

I'm a long time Reaktor user and builder, and I've heard various opinions on the different versions of Max, but I've yet to see/read anything that would convince me to switch.
As a programming environment, the data structures available (like the matrices for example)
A matrix can be represented by an array.
...the programming languages you can use, and as an interface to the "world" being able to work with any data you can throw at it.
I use Reaktor because I want to use a dataflow environment. If I wanted to use a more traditional language I would use C++, not Max.

As far as working with data, Reaktor is intended for music and more generally audio, so it can handle audio I/O and midi and OSC pretty well, which covers most of the bases.
Other stuff can be more annoying - like having to pre-process file based data into CSV format before it can be loaded into a table in core - but that's unusual in the context of how Reaktor is most often used, and it's still achievable.
So I still need convincing. There are likely quite a few features in Max that I would love to see in Reaktor, but then I'm guessing that that goes both ways?

User avatar
EATyourGUITAR
has no life
Posts: 3897
Joined: Tue Aug 31, 2010 12:24 am
Location: Providence, RI, USA

Post by EATyourGUITAR » Wed Nov 27, 2019 2:06 am

right click on a max patch and open it in notepad. there is procedural programming there but it is completely obfuscated in the max patcher. max is super old from when computers were text based. I was a C++ guy that hated max till I realized that it is actually a real programming language. now I'm a C++ guy that hates the CPU usage of max. if I want to do a lot of sampling, I just go back to ableton. the memory management in ableton is about the only thing ableton does well. max tends to be too CPU heavy for sampling. it seems to me like there is a minimum overhead and an average performance tax because of the live patching and the high level nature of using wrappers and lots of buffers.

reaktor has a few weak points. you can't write code. this means it is not extensible but it also means that the patching interface is unavoidable. reaktor does not have an ableton API or an ableton GUI native. reaktor makes it super painful to add audio rate modulation to an existing patch that has no audio rate modulation. the best sounding moog filters and stuff are really heavy on CPU compared to soundtoys filterfreak for example.

reaktor is great at having lots of polyphony easy on the CPU if you use basic saw oscillators and basic filters. reaktor is better at being a VSTi with lots of presets. the user library is more useful out of the box. more complete, better organized, more music production related stuff.
WWW.EATYOURGUITAR.COM <---- MY DIY STUFF

User avatar
EATyourGUITAR
has no life
Posts: 3897
Joined: Tue Aug 31, 2010 12:24 am
Location: Providence, RI, USA

Post by EATyourGUITAR » Wed Nov 27, 2019 1:22 pm

I can confirm that reaktor has been completely ruined by blocks. they introduced racks which is a container for ensembles. which was already a container for a container for a container. the blocks mode does not allow looking under the hood. they are proprietary coded VST stuffed into a modular program. basically, if you want to do something simple like load a distortion into your blocks rack, you need to do a whole lot of extra shit. it works like two separate products. the VCO's in blocks do not have super fine tuning knob. or you could just buy all the blocks expansions and never actually do anything with reaktor core. the panels are super bad in blocks. there is no unified aesthetic or density. there is stereo everywhere. they have built in mixers and switchable routing modes but they also retain the dedicated outs. identity crisis I think. maybe if they did blocks the right way it would be extremely similar to reaktor 5.0 and the marketing team would have a hard time selling boring panel layouts.
WWW.EATYOURGUITAR.COM <---- MY DIY STUFF

peripatitis

Post by peripatitis » Thu Nov 28, 2019 7:14 am

EATyourGUITAR wrote:I can confirm that reaktor has been completely ruined by blocks. they introduced racks which is a container for ensembles. which was already a container for a container for a container. the blocks mode does not allow looking under the hood. they are proprietary coded VST stuffed into a modular program. basically, if you want to do something simple like load a distortion into your blocks rack, you need to do a whole lot of extra shit. it works like two separate products. the VCO's in blocks do not have super fine tuning knob. or you could just buy all the blocks expansions and never actually do anything with reaktor core. the panels are super bad in blocks. there is no unified aesthetic or density. there is stereo everywhere. they have built in mixers and switchable routing modes but they also retain the dedicated outs. identity crisis I think. maybe if they did blocks the right way it would be extremely similar to reaktor 5.0 and the marketing team would have a hard time selling boring panel layouts.
+1

And to add a personal frustration, software developers should at some point stop pasting all those hardware influenced interfaces on their application. It is a complete inefficient nuisance.

peripatitis

Post by peripatitis » Thu Nov 28, 2019 7:15 am

But why not supercollider?

pottering
Learning to Wiggle
Posts: 43
Joined: Wed May 13, 2015 1:12 pm

Post by pottering » Thu Nov 28, 2019 1:29 pm

If you have M4L, the Crossgrade from M4L is on sale now, 25%.

peripatitis

Post by peripatitis » Thu Nov 28, 2019 3:53 pm

EATyourGUITAR wrote:…... reaktor is better at being a VSTi with lots of presets. the user library is more useful out of the box. more complete, better organized, more music production related stuff.
by the way if you make it a habit to use the pattr family of objects in your patches , presets are quite easy to have in max as well as being morphing within them, which is by itself already a quite powerful mechanism for sound design.

User avatar
EATyourGUITAR
has no life
Posts: 3897
Joined: Tue Aug 31, 2010 12:24 am
Location: Providence, RI, USA

Post by EATyourGUITAR » Thu Nov 28, 2019 7:40 pm

Supercollider is the reason I started learning emacs and smalltalk. I did like it but I didn't know how to build a GUI last time I tried. I was writing music as code with everything just another line of code. Maybe if I try it again I can build a GUI. I know it is free. Max MSP just went on sale for student 1 year price $40. Didn't like reaktor as much this time around. So I'm getting max.
WWW.EATYOURGUITAR.COM <---- MY DIY STUFF

User avatar
jbuonacc
Wiggling with Experience
Posts: 328
Joined: Mon Jun 07, 2010 11:23 pm
Location: Rochester, NY

Post by jbuonacc » Sat Nov 30, 2019 4:14 am

EATyourGUITAR wrote:I can confirm that reaktor has been completely ruined by blocks. they introduced racks which is a container for ensembles. which was already a container for a container for a container. the blocks mode does not allow looking under the hood. they are proprietary coded VST stuffed into a modular program. basically, if you want to do something simple like load a distortion into your blocks rack, you need to do a whole lot of extra shit. it works like two separate products. the VCO's in blocks do not have super fine tuning knob. or you could just buy all the blocks expansions and never actually do anything with reaktor core. the panels are super bad in blocks. there is no unified aesthetic or density. there is stereo everywhere. they have built in mixers and switchable routing modes but they also retain the dedicated outs. identity crisis I think. maybe if they did blocks the right way it would be extremely similar to reaktor 5.0 and the marketing team would have a hard time selling boring panel layouts.
oh, "you can confirm"? so it's settled then? Reaktor is completely "ruined"?

man, gtfo with that shit. good riddance, let the Max users deal with you.

User avatar
dubonaire
Super Deluxe Wiggler
Posts: 6078
Joined: Sun Jan 17, 2010 10:45 pm

Post by dubonaire » Sat Nov 30, 2019 4:22 am

peripatitis wrote:
+1

And to add a personal frustration, software developers should at some point stop pasting all those hardware influenced interfaces on their application. It is a complete inefficient nuisance.
Skeuomorphic GUI. Sometimes I don't mind them.

colb
Common Wiggler
Posts: 160
Joined: Wed Nov 16, 2016 3:06 pm
Location: Scotland

Post by colb » Sat Nov 30, 2019 9:47 am

EATyourGUITAR wrote: reaktor has a few weak points. you can't write code.
Nonsense. Probably 80% of what I do in Reaktor is write code. It's visual 'dataflow' code, but it's still code. Most of it is low level almost bare metal code, leveraging the power of Reaktor's built in automatic optimising compiler technology aka 'core'.

...reaktor makes it super painful to add audio rate modulation to an existing patch that has no audio rate modulation.
Again total nonsense. In a modern well written ensemble that uses the current Reaktor feature set properly, changing the clock rate of internals that are driven by the control rate clock from super slow (however slow you would like) right up to audio rate, literally takes a few seconds, you just override the control rate clock at the top level of the instrument, and it's done.

the best sounding moog filters and stuff are really heavy on CPU compared to soundtoys filterfreak for example.
In Reaktor because it is a programming environment, you can tailor the performance of filters how you like. I've built performance optimised zero delay filters that are very efficient, and also much more detailed models with multiple internal saturators, parasitic feedback and oversampling. The latter sound more organic, but use more cpu - it's a trade-off, and because it's a development environment, the trade-off is in your hands when you need it.

colb
Common Wiggler
Posts: 160
Joined: Wed Nov 16, 2016 3:06 pm
Location: Scotland

Post by colb » Sat Nov 30, 2019 10:12 am

EATyourGUITAR wrote:I can confirm that reaktor has been completely ruined by blocks. they introduced racks which is a container for ensembles. which was already a container for a container for a container. the blocks mode does not allow looking under the hood. they are proprietary coded VST stuffed into a modular program.
I don't understand how you feel qualified to post this when you clearly don't know what you are talking about.

Blocks are just Reaktor instruments bult to a standardised format - a set of rules that when followed properly allow any Blocks made by any vendors/builders to interoperate seamlessly making the workflow much less awkward and the process of making music with Reaktor more fun.
There is nothing inherently closed about blocks, the factory library blocks are fully editable (with a few exceptions*) down to the lowest level because they are written completely in primary and core (the two programming layers of Reaktor).
*The Monark filter is locked to protect the proprietary IP, as is the 'Driver' block. These are still coded in Reaktor though not "proprietary coded VST stuffed into a modular program"
Additionally, Some third party commercial instruments and Blocks are locked by request of the vendors again to protect their IP. Still all coded in Reaktor.

Racks are a separate issue. It's true that Racks is a closed system, and that is a controversial issue in the community. However, all the Blocks that can be used in Racks can also be used in non-racks Blocks ensembles where they can be used along side non-rackable user Blocks. Where those that haven't been locked by their vendors are fully editable and modifiable.


basically, if you want to do something simple like load a distortion into your blocks rack, you need to do a whole lot of extra shit.
I guess that's true if you consider 'dragging the distortion block from the browser pane into your rack, and connect it up by dragging patch cables' to be "a whole lot of extra shit"

the VCO's in blocks do not have super fine tuning knob.
lol. You could build you own or modify existing if you want a separate finetune knob. Or alternatively, turn the knob while holding shift to access the built-in fine tune that has been part of Reaktor since forever, and is documented in the manual. You did read the manual right?

the panels are super bad in blocks.
The panels are awesome in Blocks.
...there is stereo everywhere. they have built in mixers and switchable routing modes but they also retain the dedicated outs. identity crisis I think.
Flexibility and power of choice for the user I think. Which is kind of the philosophy of modular IMO.

peripatitis

Post by peripatitis » Sat Nov 30, 2019 4:32 pm

colb wrote:
peripatitis wrote:
colb wrote:
peripatitis wrote:Max offers a lot more than reaktor, there is no comparison really...
Please elaborate.

I'm a long time Reaktor user and builder, and I've heard various opinions on the different versions of Max, but I've yet to see/read anything that would convince me to switch.
As a programming environment, the data structures available (like the matrices for example)
A matrix can be represented by an array.
...the programming languages you can use, and as an interface to the "world" being able to work with any data you can throw at it.
I use Reaktor because I want to use a dataflow environment. If I wanted to use a more traditional language I would use C++, not Max.

As far as working with data, Reaktor is intended for music and more generally audio, so it can handle audio I/O and midi and OSC pretty well, which covers most of the bases.
Other stuff can be more annoying - like having to pre-process file based data into CSV format before it can be loaded into a table in core - but that's unusual in the context of how Reaktor is most often used, and it's still achievable.
So I still need convincing. There are likely quite a few features in Max that I would love to see in Reaktor, but then I'm guessing that that goes both ways?
yeah ok but it is rather difficult to argue, if you make it a point to "ignore" everything special to max because it doesn't fit to your personal workflow, or your idea about what an audio app should be about.

colb
Common Wiggler
Posts: 160
Joined: Wed Nov 16, 2016 3:06 pm
Location: Scotland

Post by colb » Sat Nov 30, 2019 6:50 pm

peripatitis wrote:
colb wrote:
peripatitis wrote:
colb wrote:
peripatitis wrote:Max offers a lot more than reaktor, there is no comparison really...
Please elaborate.

I'm a long time Reaktor user and builder, and I've heard various opinions on the different versions of Max, but I've yet to see/read anything that would convince me to switch.
As a programming environment, the data structures available (like the matrices for example)
A matrix can be represented by an array.
...the programming languages you can use, and as an interface to the "world" being able to work with any data you can throw at it.
I use Reaktor because I want to use a dataflow environment. If I wanted to use a more traditional language I would use C++, not Max.

As far as working with data, Reaktor is intended for music and more generally audio, so it can handle audio I/O and midi and OSC pretty well, which covers most of the bases.
Other stuff can be more annoying - like having to pre-process file based data into CSV format before it can be loaded into a table in core - but that's unusual in the context of how Reaktor is most often used, and it's still achievable.
So I still need convincing. There are likely quite a few features in Max that I would love to see in Reaktor, but then I'm guessing that that goes both ways?
yeah ok but it is rather difficult to argue, if you make it a point to "ignore" everything special to max because it doesn't fit to your personal workflow, or your idea about what an audio app should be about.
I'm not making a point to ignore what's in Max - I don't know Max. You said that "Max offers a lot more than Reaktor, there is no comparison" so I asked for some details, and the ones you gave so far are not compelling to me. I can process matrices in Reaktor as arrays, and I would switch to c++ or C (or assembly language) or learn something new if I didn't want dataflow.

If there is "no comparison", then Max must be a huge step up from Reaktor in terms of what I can do with it - so I'd love to know in what ways. I've looked at some tutorial videos and so far it looks mostly similar but more complex with more hoops to jump through. And it's missing some of the stuff I use a lot in Reaktor. Reaktor has 'core' for optimised compilation of low level code. I understand that Max has compilation via 'gen' which is an extra that can be bought separately, but seems limited to me by comparison. e.g. in core, I often use bit manipulation on integer variables, but in gen only 64bit floats are available.

I'd like to know how variables are created and accesses in gen, but I didn't get further than the 'no integers' issue - that's a bit of a showstopper right there. Reaktor has it's own problems - core doesn't have any true iteration mechanisms, so iteration events need to be pumped in from the primary layer - that is a real PITA, but it is possible to work around the issue. It's also lacking in terms of code reuse mechanisms which is a performance issue as projects grow. But that's not enough for there to be 'no comparison'.

peripatitis

Post by peripatitis » Sun Dec 01, 2019 6:48 am

Ok so here is an simple example using the new mc objects, (which reminds me a bit supercollider's mix taken into new levels):




An here's max in it's totality using a max generated 3d mess to drive an additive synthesis patch:



Gen is included in max as well as jitter, and node for example (you get to communicate with the web using JavaScript). Also gen can be used simply copying pasting dsp code lying around on the web or using the data flow paradigm, so you can have both options.
You also get to work with opengl, Arduino, and really there are very few limits in what you can do with it. Complete applications for sure

I am not a reaktor expert but I don't thing you can do those things with it..

User avatar
EATyourGUITAR
has no life
Posts: 3897
Joined: Tue Aug 31, 2010 12:24 am
Location: Providence, RI, USA

Post by EATyourGUITAR » Sun Dec 01, 2019 9:35 am

well said. reaktor does not replace max. it is too limited. max can replace reaktor. you gotta do more work sometimes with max. IMO the best part of the user library is scattered around the internet. not in one big download. sometimes we buy extra patches for max from third party vendors, then we open them up and look at them. this is possible %100 of the time. max has something called a bpatcher. you can make modules then hide the guts in some kind of presentation layer. then you can use that module inside another bpatcher. you can have N levels of abstraction. you can look at everything, put everything where you want it, modify it, use small or large pieces in other max patches. you can remix something and re-release it. you can write externals in C or C++. there is an old SDK C. and a new SDK for C++. max is also a text based programming language but few people know that. you can right click a max file and open in notepad.
WWW.EATYOURGUITAR.COM <---- MY DIY STUFF

User avatar
EATyourGUITAR
has no life
Posts: 3897
Joined: Tue Aug 31, 2010 12:24 am
Location: Providence, RI, USA

Post by EATyourGUITAR » Sun Dec 01, 2019 11:16 am

colb wrote:I don't understand how you feel qualified to post this when you clearly don't know what you are talking about.
you were right. I went back to check again to see if I missed something. I did. the solution was so simple. why didn't I see it. I was working with blocks in a rack but I could not edit the block. all I had to do was completely start over building my entire rack in an ensemble. stop using the useless library browser. point the file browser to C:\users\public\documents\blocks base\blocks\bento box\OSC-bento oscillator.ism

again so simple and intuitive why didn't I see it the first time?
WWW.EATYOURGUITAR.COM <---- MY DIY STUFF

colb
Common Wiggler
Posts: 160
Joined: Wed Nov 16, 2016 3:06 pm
Location: Scotland

Post by colb » Sun Dec 01, 2019 11:46 am

peripatitis wrote:Ok so here is an simple example using the new mc objects, (which reminds me a bit supercollider's mix taken into new levels):

There's nothing here that wouldn't be easily achievable in Reaktor.

An here's max in it's totality using a max generated 3d mess to drive an additive synthesis patch:


This is pretty cool. Is the 3D engine written in Max's dataflow language?. It would be possible to do something similar in Reaktor, but not as advanced for sure.
Gen is included in max as well as jitter, and node for example (you get to communicate with the web using JavaScript). Also gen can be used simply copying pasting dsp code lying around on the web or using the data flow paradigm, so you can have both options.
You also get to work with opengl, Arduino, and really there are very few limits in what you can do with it. Complete applications for sure

I am not a reaktor expert but I don't thing you can do those things with it..
True, you can't just paste code lying around on the web into Reaktor. But you can easily read it and translate it into Reaktor code because core is a very powerful low level programming language. I've checked out gen, and that would definitely not be possible with gen because of the limitation on data type (only 64 bit floats aka doubles). Many chunks of real code out there would not translate at all afaict. So your statement about pasting code from the web is just false.

e.g. I've implemented a highly efficient very accurate algorithm for generating pink noise. The 'Voss-Mccartney' algorithm (look here for a deeper explanation) is a kind of bitwise additive synthesis, and depends completely on bit manipulation, so would not be possible to implement using gen, and implementing it in an interpretted environment would be painfully inefficient. In Reaktor it was a nice tight piece of code - quite elegant really.

I've also implemented an interpreter for bytebeat that processes fairly lengthy expressions in real time at audio rate, and is pretty efficient - you can run multiple instances on an average pc without getting close to stressing out the cpu. I think that this type of process would be just impossible without access to integers and a clean efficient programmer interface to raw memory. (doesn't have to be bytebeat - you could implement a scripting language in Reaktor if you wanted). I'm sure this could be achieved as an 'external' in Max, but my point is that you don't need externals in Reaktor for this level of coding because the native code is already efficient and low level enough, so extremely flexible.

Where Reaktor really shines though is accessibility and audio quality. You could sit a musician who's never done any programming but has some experience of synthesis in front of Reaktor, and relatively quickly they could be building structures with Blocks that can produce professional quality results.

I would say that makes comparison between Maxx and Reaktor completely reasonable. For every potential user who wants access to a complex programmer interface into 3D visualisation components, there will be many who want something that's easy to learn and easy to get results, but also has great depth without ever having to learn text based programming.
Last edited by colb on Sun Dec 01, 2019 12:02 pm, edited 2 times in total.

colb
Common Wiggler
Posts: 160
Joined: Wed Nov 16, 2016 3:06 pm
Location: Scotland

Post by colb » Sun Dec 01, 2019 11:53 am

EATyourGUITAR wrote:
colb wrote:I don't understand how you feel qualified to post this when you clearly don't know what you are talking about.
you were right. I went back to check again to see if I missed something. I did. the solution was so simple. why didn't I see it. I was working with blocks in a rack but I could not edit the block. all I had to do was completely start over building my entire rack in an ensemble. stop using the useless library browser. point the file browser to C:\users\public\documents\blocks base\blocks\bento box\OSC-bento oscillator.ism

again so simple and intuitive why didn't I see it the first time?
All you had to do is go to the file menu and choose "save Rack as Ensemble" from the list, then load that newly saved ensemble. Now all the blocks are editable down to the lowest level DSP*


*excluding Monark Filter and Driver, and any 3rd party blocks that have been locked by vendors.

EDIT: just to be clear, personally I think 'Racks' was a bad move by NI. The way it was implemented locking out non-commercial builders goes against the philosophy of the application, and has damaged the community. Fortunately we don't need to use Racks - ensembles work just fine!

Post Reply

Return to “Music Software”