Chroma (also why does the title need to be 15 characters)

Any reason there is no chroma object? You guys are going to make me use SCMIR!!!

Or is there another way to analyze harmony that I am just not seeing?



Chroma is part of the mid-term horizon for the (buf)pitch object, as well as a height descriptor. So we still have a few interface questions, and since I’m with @groma now, let me ask you:

  • what would you expect the unit to be in for chroma and for height ?
  • would you expect to be able to ‘tune’ the algorithm to something else than 440?
  • would you expect to have different subdivisions of the octave, i.e. quarter tone or ?
  • any other interface ideas you might have?

Now is a good time for you to brainstorm your dream ideas. We cannot promise anything except that we will consider them all seriously.



@spluta re 15 characters: this is a default setting, presumably to encourage Good Content. We can look at changing it if it becomes too burdensome.

I don’t know if it’s possible to turn all that stuff off, but it would be useful, as it doesn’t make too much sense in this context. (basically every new thread I try to make gives me a warning “this is similar to another post”)

I would personally use Chroma and Spectral Centroid as separate descriptors, avoiding height, but maybe because I don’t understand the difference.

Yes to tuning the algorithm to a fundamental. I mean, why not?

Yes to subdivisions. I would say default should be 12 equal divisions of the octave, but! I suggest you could change that number and add a tuning. So:

you could just say 24 and that would give you quarter tones or 19 and that would give you a 19 tone equal scale.

but you could also say 7 and give it an array: [1, 9/8, 5/4, 11/8, 13/8, 7/4, 15/8] and it could give you that as well…though that might be difficult with all the just tuned jams messing up the analysis.

While we are at it, FluidBufSines is great, but it would be awesome if there were one that output just the freq and amp values of the N loudest partials, with maybe N triggers when the sine wave jumped to a different partial.


1 Like

I presume you are talking here about a sort of histogram of the pitch class? Chroma (as the psychoacoustic concept complementary of heigth) and chromagram (which I just learnt about via @groma and wiki) are 2 different (related) things, but I’m excited about the latter very much now. We’re a bit short of time before going beta, but I think your proposals are sexy. Other classic variable are octave ratio (which is nuts). It is in the end a quantiser so we need to think carefully about how to define the classes in which stuff will be put in the most musicianly way, so keep musing and dreaming and I’m sure @weefuzzy will also jump in :wink:

I want a vector of the pitch classes available in the frame. All this n-tet and just tuned stuff is dreaming, but a 12 point vector of the 12 pitch classes would be great to be able to see harmony.


just my 2 cents: tuning to other than 440 is VERY IMPORTANT

that’s a sharp observation hans, but i would have used a comma there rather than a colon.

oh man, how far can we take this one!?


BTW - now I can’t tell if you were making a tuning joke there, but either way I’ll just let you know that I was laughing about this for 10 minutes over breakfast.