It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
dtgreene: I am actually planning on using Python 3 with the python-mido library. Incidentally, I had the same idea of inverting note numbers and see what happens. I could also try randomizing them; that might be interesting to try to play..

With that said, I think a good first filter would be something like a simple transposition; just add or subtract a number from all the note values. (For example, if I subtract 2, whatever notes I play would sound a whole step lower, just like on a (Bb) clarinet or trumpet.)
avatar
SirPrimalform: Python is perfectly good, I just have no idea how well it would integrate with a DAW/plugin-host for actual recording. Reaper has an unlimited nagware demo anyway so I recommend checking it out if you're planning to record anything even if the plugin scripting is of no use to you.
On Linux using ALSA (and something similar is probably possible with JACK):
* It is possible to create virtual MIDI ports. These ports can be accessed by other programs on the system (I haven't checked to see if they need to be running as the same user). Hence, if a DAW can take input from a MIDI device, it can take input from a virtual MIDI device created by my program.
* It is possible, using aconnect, to connect MIDI ports to each other. This isn't necessarily a 1:1 mapping, so I can connect the keyboard to both timidity (a software synth) and another program that records it at the same time. I could also choose to connect the keyboard to my program's input, and my program's output to timidity.

So, I can easily connect devices and programs together without too much trouble. This does really feel a lot like UNIX pipes, which allow connecting the standard output of one program to the standard input of another, and given that UNIX pipes are very useful, this whole MIDI routing should also be similarly useful.

(Also, there's nothing preventing me from making a program to send MIDI messages over the network.)
I got a simple transposition program to work.

Play a note on the keyboard, and out comes a note a whole step lower. With this, I could play a Bb clarinet part on the keyboard and have it sound at the correct pitch.

Of course, I could just play that part on an actual clarinet, but then I wouldn't be able to send the note to another program.

Now I can play with other transformations, like inverting everything or randomizing the key to pitch mapping.

(One thing: My program doesn't do any error checking, so if the keyboard sent some midi event other than a note, it would probably crash; that wouldn't be too hard to fix, however.)

Edit: Why has this topic, which has spawned some interesting (and non-controversial) discussion, been "low rated"?
Post edited May 21, 2018 by dtgreene
avatar
dtgreene: I wrote the code to render the Mandelbrot set by myself (in Python with Numpy and Pillow, might have used Cython; this is pretty easy to do, and a good exercise if you are learning to program or learning a new language).
Aye. I also wrote a little fractal renderer a few weeks ago. Unfortunately you can't do deep zooms because it's stuck with 64-bit floats.
Attachments:
stuff61.jpg (290 Kb)
stuff64.jpg (171 Kb)
avatar
dtgreene: Edit: Why has this topic, which has spawned some interesting (and non-controversial) discussion, been "low rated"?
Some folks may not see the pleasure of getting a new piece of computer hardware.

I still remember my first printer.

*sigh*
Post edited May 21, 2018 by drmike
avatar
dtgreene: Edit: Why has this topic, which has spawned some interesting (and non-controversial) discussion, been "low rated"?
I was wondering the same thing. I've dinged you a few times but not as much as I've upvoted you. Misery loves company and all that sort of pettiness, I suppose.
avatar
dtgreene: Edit: Why has this topic, which has spawned some interesting (and non-controversial) discussion, been "low rated"?
I upvoted to balance it out. Maybe people did not get the "joke". I can even imagine people thinking "This forum would be chaos if everyone would create a topic whenever they buy a new 'keyboard' "