Email or username:

Password:

Forgot your password?
Top-level
aeva

weird, cinder doesn't seem to have a midi api. oh well

27 comments
mcc

@aeva RTmidi is very easy to integrate

aeva

@mcc I'll probably do that or just grab the code for using the native APIs from one of my other projects. It looks like cinder covers *all* of the other things I need so this isn't really a deal breaker. Do you use cinder for things?

mcc

@aeva I had never heard about it before your post earlier. If I had known about it before 2016 I might have tried it, but I've been trying to move away from c++ for a long time*.

* Although my current project sure does contain a substantial amount of it.

aeva

@mcc after your stream today I got to pondering how to best satisfy my need for a good sequencing and recording workflow, and decided that the best course of action is probably to just write one that merges some of the ideas from the Arturia devices I have and extending the basic pocket operator sequencer.

aeva

@mcc since its a just for me tool first, my only real constraints here are that it needs to be low latency and it needs to be something I can iterate on quickly, which, well, means C++ still until I learn another systems language.

mcc

@aeva Here's the C++ mini sequencer I've been using, if you want to see how easy this is:

github.com/mcclure/lovr/blob/Z

Songs look like

(P t--3 0 p8x p13x p0x p8x p13x)
(R t--2 0 t--3 p0 x p8 x p13 x)
R P -2 R P +4 R P -2

(Numbers are notes, uppercase letters are function definitions or calls, lowercase numbers are control codes)

413 lines of code (and it was only 70 lines of code in the original version; adding polyphony and hooks for GUI integration made it more complicated)

@aeva Here's the C++ mini sequencer I've been using, if you want to see how easy this is:

github.com/mcclure/lovr/blob/Z

Songs look like

(P t--3 0 p8x p13x p0x p8x p13x)
(R t--2 0 t--3 p0 x p8 x p13 x)
R P -2 R P +4 R P -2

(Numbers are notes, uppercase letters are function definitions or calls, lowercase numbers are control codes)

aeva

If anyone is curious for the context, I'm thinking of upgrading the Compiano Forte. I want to build a more advanced sequencer for the microfreak, and I also want to have a common graphical shell for my midi experiments that can be operated with just midi controls or a game controller.

A photograph of the Compiano Forte, a MIDI keyboard with a computer screen for a music stand.  There's also an Arturia Microfreak on a real music stand next to the screen.

The computer part of the contraption is on, and so the screen shows my desktop image, which is a photograph of a diagram from one of my old journals.  The diagram shows the relationship between the circle of fifths, the musical modes, and the distribution of white and black keys on the piano.
aeva

For the sequencer, what I'd like to do is to build something that functions similarly to the microfreak's internal sequencer but with more parameters, the possibility for much longer recordings, and some cool options for track changes. Once I'm happy with the patch and the score, I'd like the program to then play the tracks and record them for later mixing. After that I'd change the patch and build additional instrument scores with the same method.

aeva

I'd also like to be able to visualize the contents of the tracks in a particular way.

I think Cinder will probably be sufficient for building the UI and doing the audio recording and mixing. I'll probably write my own MIDI layer, and I'll probably bolt on Lua for implementing the sequencer's high level logic.

aeva

If this ends up being a good way for me to make music I might try to incorporate it into Tangerine, since the general scheme here could be tweaked to make building dynamic soundtracks really easy.

Efi (nap pet) πŸ¦ŠπŸ’€

@aeva it's hard to explain, but @nasser made a livecoding music interface thing that might be similar to what you're making, maybe???
merveilles.town/@nasser/109973

left: emacs code
right: renoise gui
code for chorded notes
aeva

@efi I'm looking to maybe build something that is controlled by a midi keyboard primarily for recording arranging and playback, because most music software assumes a normal computer as the interface but also because most music software honestly is really intimidating to me and doesn't really fit the way I like to approach making music

Efi (nap pet) πŸ¦ŠπŸ’€

@aeva oooh, ok... well, I don't know shit about music, so let me know if I can help (???)

aeva replied to Efi (nap pet) πŸ¦ŠπŸ’€

@efi I had piano lessons for most of my childhood, gave up on it as a tween, then picked it up again I think about 4 or 5 years ago and self taught myself a bunch of music theory and how to compose music. The way I'm used to writing music is sheet music oriented, which nobody does for electronic music, so the going has been kinda slow

aeva replied to Efi (nap pet) πŸ¦ŠπŸ’€

@efi I think I've used that one, but it didn't really click

aeva replied to aeva

@efi I'm really shooting for something that's more in the ballpark of "mario paint" or a pocket operator in terms of interface complexity

Natalie Cuthbert

@aeva have you considered using JUCE for this purpose?

Natalie Cuthbert

@aeva ah. I see, so it's more a right tool is what you know thing? I suggested it because it's designed for writing audio plugins

Tekknovator

@aeva the part β€œby midi or game controller” made me think of this little synth/sequencer diy thingy:
Midi:
youtu.be/o6DyXteS-Is
Controller:
youtu.be/jAyZdMGKCbk

Go Up