• v0.84

    * fixed an issue where note duration scale wouldn't update until tempo was touched
    * fixed an issue where chord scale wouldn't update until degree was touched.
    * added range control and mode to arpeggiator

    Due to the way tintinnabulome was constructed, it doesn't have any sort of idea of 'where' it is in the arpeggiation cycle, so the point at which the range switching kicks in during the note cycle may not be entirely predictable. It is still musical, though, so I figured this issue shouldn't keep me from implementing the feature.

  • There isn't any reason why tintinnabulome can't be added to the wiki. There are already a few videos online.

    I'd describe tintinnabulome as a modal arpeggiator fitted to the monome.

    By modal, I'm speaking in the sense of modal harmony, the classical modes. Instead of arpeggiating a set of absolute notes (C3 E3 G3), tintinnabulome thinks of everything as relative scale degrees (I III V) of a chord scale (C ionian).

    This allows for 'smart' transpositions that conform to a chord scale. If you were to take an absolute set (C3 E3 G3) and add a fixed offset to transpose up a major 3rd, you would get (E3 G#3 B3). Tintinnabulome, on the other hand, knows that G#3 doesn't belong in C ionian, and so it transposes the same set to (E3 G3 B3). This is why there are really no 'wrong' notes when you play Tintinnabulome.

  • WOW, I love range control, very useful !

  • @ stretta, mod question: is there a way to half the tempo of a note ?

    There is a %-object in tvoice patch, but I can't use greater values as 96, such as 192 or so in this % object ..

    263 x 95 - 20K
  • Larger values could be produced by modifying the clock file. You'll see a %96 at the bottom leading into a switch that sends the tin_addr. Doing so would require reworking how the clock is subdivided in the tvoice file. I've been pondering the best approach for this in conjunction with a UI that allows the user to customize the menu selecting arpeggiation rate, which is ultimately selected by the monome buttons.

  • Oops. Nevermind. That is simply for the external clock input. The 96ppq limitation comes from the tempo object.

  • true indeed, I've just looked in the reference for tempo object..
    My thought was, if I run with ableton on 120 bpm, I could set double-whole notes in tin.

    Maybe it could be workaround with button record-option ? So you could record individual presses at half rate in homophonic / arpeggio without hold mode ???

  • Well, other things could be done. The output of tempo could be converted into a bang and fed into a counter object.

  • hmm, fine. Sadly I can't follow this suggestion to 100% , I'm still in learning phase, but I'll try it as always !

  • It's late, I'm tired, must sleep, must pry hands away from monome . . .

    Lovin' jammin' on the recent build. Thanks, Stretta.

    @Stretta: Nice description of the app. Very helpful.

    Okay, I love the new version so far. But it is late and I've been playing with it at half energy level. I love that now you can select just one note in a column and it will just pulse it. (I don't remember it allowing that before, and I like it.)

    Problem: at least for me, "arpeggiate up" is down and "arpeggiate down" is up. No big deal, but subsequent versions might want to fix that (unless its just my quirky system).

    Love the range mode and control!

    Arpeggiate up and down? (Dare I whisper: tilt?)

    Again, much thanks. So fun. More play tomorrow.


  • v0.85 with tilt support

    You can now use tilt to send osc, MIDI CC and, yes, control the direction of the arpeggiation. Which is crazy. And fun.

    About the arpeggiate oct shift mode issue, this is what I was trying to describe earlier. Since the application doesn't have any sort of clue at what point in the arpeggiation cycle it is in, the oct shift could happen at any point in the cycle. The behavior of the oct shift should be more apparent if you use a 2 or 3 octave range. Then play with the modes and listen. I'm sorry this is confusing, but I opted to introduce the range feature because it produces musical, if unexpected results.

  • Unbelievable. Again, I've just got to peal my hands a way and go to bed.

    @Stretta: Thanks so much for adding Tilt. The tilt is GREAT! And using it to mod the arpeggiation is fab!

    I see what you mean about the oct shift mode. Yeah, if what you are going for is the improvisational aspect of it, and not tight control, it really doesn't matter. Because, as you say, there are no "wrong" notes.

    As a non-programmer completely dependent upon you developers, I do not want to seem ungrateful when I ask for one more thing: arpeggiate up and down in the arpeggiate mode as well. If it's tough, no worries, the app is near perfect as is. So thanks!

    One more tiny thing: a prefix button? It just makes one step that much easier.

    With Stretta's thumbs-up (above), I'm going to start working on an app page for this on the wiki ASAP. Busy weekend, but I've got it on the radar so it is on the way.

    Thanks Stretta, Occular, and everybody who has put suggestions on this thread. This app is a real joy to see (and hear) realized.


  • Looks like a great app. I'm trying to run it in Max Runtime 5.0 using the prefix tin, but it's not responding. What am I doing wrong?

    Cheers, Joe

  • Okay, I've added it to the apps list on the docs wiki and created a page for it:


    I did not upload the file, I just linked Stretta's most recent upload, above.
    Stretta, occular, and others: you may want to actually upload your versions as zipped files, especially as you all go through more versions.

    I embedded mapmap's video from vimeo. It felt a little self-aggrandizing to embed my own! And I love mapmap's. I also put a link for the tag "tintinnabulome" in vimeo.

    I added a section called "background" to explain the technique and concept a little bit.

    Please edit as you see fit!

    I hope you all like it.


  • @joehandford: I use max runtinme 5.0 as well. When I have troubles I just retype the prefix in monomeserial and hit "return" for good measure. That usually solves the problem.

    One more thing: I have found now that occular has added the top right button's functionality as a switcher b/w choosing notes and playing them, that the app starts in the "choose" rather than "play" mode. So try just toggling that top right button and see if that frees the app up to trigger play instead of choosing notes.

    Hope that helps! Peace

  • thanks for the advice tetramorph - still having problems though. i get the message "intel: list: wrong message or type" in max runtime when i press a monome key. any ideas? have no problem running polygome, which i'm guessing stretta adapted to create tintinnabulome.

    cheers, joe

  • OK, I'll ask, does anyone with the know how want to add 'preset' saving?

  • @joehandford: okay, thankfully, I have never had those kind of warning messages (knock on wood). Unfortunately, especially b/c I don't program, I'm not really sure what is wrong. I know what I would do though. I would shut everything down, restart my computer, and then start monomeserial first, with the prefix. Then open max5, etc. That often solves some of my problems. If that doesn't work, joehandford, then I will have to defer to the folks that really know their stuff:

    Any of you max programmers out there? Can you help out joehandford?

    PS - I think Stretta started from his app presscaf

  • just tried to send beat clock from tintinn (latest version) to ableton and it crashes max runtime every time. thought i'd let you guys know.

    sidenote: i'm working on a project right now in which my partner and i are composing 4 tracks for a french television program about yoga. this app is so perfect its not even funny. :)

  • Embedded dadek's first tintinnabulome piece to the "media" section on the docs wiki. Embedded an mp3 of a short section from a piece by P

  • hello

    i tried to save tin to keep the settings but when i load it again it's blank again.
    i did it wih max 4, is it possible to load custom settings to play on the go?


  • One of the weird growing pains with Max 4 was how preset storage was broken. I can't add a preset object and have it recall anything except the topmost patcher, in other words, nothing.

    'saving' the patch saves changes to the architecture of the patch, it doesn't memorize presets, that is normal.

    I believe it may be possible to add real preset storage, but this would be a Max 5-only thing and I have yet to upgrade to Max 5. Someone else could update Tintinnabulome with Max 5 preset capability, but doing so would lock me out of that branch.

  • @stretta: I've tried to implement preset storage this morning in Max5. Its the same thing, I can store only topmost layer/patcher, and a preset object inside the tvoice patch do also nothing..
    Maybe I do something wrong ?

  • Hey guys, I've got it, Preset storage works !!!
    On every layer, every parameter can be stored.

    @stretta: as a solution for further updates, I can port your every update to Max5 and include the capabilities of Max5..

  • Sweet! Thanks for the hard work.

  • Yeah! Preset memory will really be an unexpected and welcome addition. Thanks!

  • Added "set up" section to the docs wiki. Please check me for accuracy. Reword if you can do better!

    @occular -- okay, I have a stupid question. The preset storage that you've figured out: Is this something you can share with us as a new mod on the app, or is it only something that you can do b/c you can modify the code directly.

    In other words, am I going to have to move up from runtime and buy the full version finally? Thanks!

  • The preset object issue is a Max 4 vs. Max 5 thing.
    Not a run-time versus full version thing.

    In other words, you can still use the Max 5 runtime. You don't need the full version.

  • Thanks, Stretta. Okay, so for further clarification (if you can suffer me): when occular posts above that he has figured out preset storage, he doesn't provide a new file to download. So am I waiting for occular to put that together for us as a new mod? Or am I missing something here? Thanks for suffering my stupid questions.

  • occular would indeed have to post his modified file before anyone would be able to use it, yes.

  • Okay, thanks for certifying my temporary insanity! Just to try to save myself (too late): that is what I had thought. But the enthusiasm of his post, without a follow-up for a while, had me confused. (Now I'll try to stop blushing from forum embarrassment.)

  • I'm sorry for the delay, but I have to workaround this solution since the preset storage works only temporary, till the application quits. I'm on it and will post it as soon as I can..
    P.S: 49 preset-slots integrated, on device..

  • @ occular - i haven't read the whole thread here, but from my (limited) pattr-knowledge, have you used [pattrstorage]? i know that if you set the "savemode" attribute to 3, it will automatically save all your presets to an .xml file when you close the patch. the first time you do this you can choose an name for the .xml file. so you could create a [pattrstorage something @savemode 3] object. this is how soyuz works and it saves the states of all the bpatchers too.

    apologies if this is kind of patronising and your problems are deeper...

  • @stephen: many thanks for the hint, I havn't tried this with [pattrstorage] yet, only with preset object. I'll take a look at it, maybe it solves my needs.

  • i think it will. there's more too it than [preset], but it does loads more. it seems (from reading the c74 forums) that the standard advice is, whenever you have question/problem with [preset], the answer is [pattr].

  • yes, you are right, stephen. I've looked at [pattr] system, its deep and versatile and I think it will solve the problem..
    I have to implement this storage-system in the patch, it must go along with [preset]. One thing what I want, is to store/recall different things on the fly, and second, save the entire patch.

  • Have you thought of doing a preset per 'tin voice', like a bpatcher/preset thingie for each voice, then have a larger preset that saves all those states.

    That way each column/voice could have a preset and it would be easier to scale for larger monomes in the future.

    Forgive me if that doesn't make sense, still trying to understand Max.

  • hello dadek,
    I've made a global preset solution, you can store anything from voices and arpeggios to midi channels in one preset. And since I used 49 storage places on monome, you can quick save or "capture" your actual performance in one preset. If you make progression in performance, you save another preset. Its a kind of playing technique, its funny ! You can always save/recall/rewrite anything. I think you dont need more than 7 present per "song", but 49 presets allows you to play larger pieces/performances on tintinabulome. The only thing is, it works until you quit the app, on restart= point zero. So I must take the adventure and implement the [pattr] system in the the patch.. ;-0

  • I've really been having fun with tilt. I like the tilt control of arpeggiation, but I find myself using tilt more for expression, so:

    occular or Stretta (or anybody else ready to dig into the app): could you add the check boxes for tilt control of duration and velocity, as on polygom

  • Hey guys,

    I've noticed something strange in the use of the _arp_ 'range' function. Once the range is set to anything other than 0, an additional note is added in each octave. Example:

    two notes ticked, at range 0, plays c1-e1 _ c1-e1 _ c1-e1
    two notes ticked, at range 1, plays c1-e1 _ c2-e2-c2 _ c1-e1-c1

    three notes ticked, at range 0, plays c1-e1-g1 _ c1-e1-g1 _ c1-e1-g1
    three notes ticked, at range 1, plays c1-e1-g1 _ c2-e2-g-2-c-2 _ c1-e1-g-1-c1

    The added note is not always the same.
    So when you extend the range, your changing the length of your phrase and adding a random note. (That random note, is probably not that random, it seems to coincide with where the pattern would be if it was cycling with the intended phrase length, muted until it's octave is playing, and cycling for an extra time division.)

    Hope that makes sense and thanks.

  • @dadek -- When Stretta posted his most recent version on "page 3" of this thread, he mentions that the jump in range is going to come at a random time, due to some of the initial ways that he set up the patch in the first place.

    Could what you are talking about be due to this? Or are you talking about something different. I'll set mine up when I can to see if I've got the same problem.

  • No, it's that if my column are playing 3 note/beat phrases, extending the range turns them into 4 note/beat phrases.

  • one more:


    thanks again for the great app.

  • can I add my voice to the chorus of joy over this app.
    "could you add the check boxes for tilt control of duration and velocity, as on polygom

  • Hi,
    I received my monome yesterday and didn't sleep that much, because this thing is absolutely fabulous and incredible.
    Sad thing is, that I'm not able to get tintinnabulome to work. I changed the prefix in MonomeSerial to "tin" but all I received is this Max-error message: "inlet: wrong message or type".
    Does anybody know, what I can do? I'm using XP with Max5-Demo.

    Thanks in advance for helping an absolut newby on monome and Max.

    the best, cuboo

    @dadek: your tin-series is so beautiful!

  • grats on the monome cuboo, and thanks.

    I get strings of that error messge but my 'tin' still works, v 0.85.

    Does tin work running just from the GUI?

  • The top right button on the monome changes the functions of the monome buttons.

    Try clicking that and trying the buttons while checking the GUI. It switches from controlling the beat time, notes, arp select etc.

  • @dadek -- yes, good point. I and others have had that problem. I just added a description under "tip" to the docs wiki page. Peace

  • Yeah, that was actually a mistell. I was whispering back and forth some help to cuboo and posted unintentionally.

    I do wish it defaulted to notes and hold function and that we had better visual feedback from the 'mode' button, but those are details and I love it anyways the way it is.

  • hello all,
    I finally found some time in between my musical work, and made a second mod on the patch. A lot of things on monome layout has been changed and added:

    1: the modal buttons ( chord scale ) is now on the first column istead of 8th column. This is because I realized, if you play in noteset mode you play mostly with right hand ( at least I do ). I had some troubles to play and handle the chord column at the same time. So I decided to switch it on the first column and just play chords with left hand, it helped me a lot, I hope it helps you too..

    2: I've made a page-structure. Instead of hold buttons now we have 8 control pages to change the things on monome. 4 pages pages is used now:

    1: noteset mode
    2: arp/hold mode
    3: rate mode
    8: preset page

    A doc.pdf file is in the main patch for detailed visual explantation.

    1: everything has been -pattr-ized. It means we have now a preset store-structure. You can capture your performance in 49 preset slots on the fly, and save it in one XML file ! Later you can read it again into the patch. You can save as many XML files as you need. So you have 49 presets per Song/Performance
    2: Setup page to quick change your listen port, and initialize averything, if the things go messy.. ( at this point many thanks to Stephen Ball for the soyuz patch I've learned from..)
    3: a page display over the LED matrix
    4: nice orthodox church-graphic with old russian church font ( Arvo P