soundio / sequence-json

A way of creating music sequence data in JSON
137 stars 5 forks source link

What is the purpose of "pitch"? #4

Open brianbreitsch opened 8 years ago

brianbreitsch commented 8 years ago

Maybe this was in the publication from awhile back, but I don't see it documented in the README. I don't know what would be the use of this event--could someone enlighten me?

danigb commented 8 years ago

represents a pitch shift in semitones

I think that all notes after that event are modified by transposition... Correct me if I'm wrong. Maybe a better name would be "transpose".

brianbreitsch commented 8 years ago

Could be--seems a a bit too specific for the MusicJSON spec. If this was a feature required by a certain implementation--is that implementation example around?

stephband commented 8 years ago

pitch is simply an attempt to be compatible with MIDI pitch bend information.

I would agree that it probably needs a re-think for the modern age. MIDI limits pitch events to a channel, where they affect all notes on that channel. I don't see why we would actually need to build in that limitation, but can anyone think of a better way of storing pitch bend info?

stephband commented 8 years ago

One idea might be to allow note to carry a sequence of automation events.

[0, "note", 60, 80, 1, {
  "events": [
    [0, "pitch", 0],
    [1, "pitch", 0.2],
    [1.25, "pitch", 0.2],
  ]
}]

My gut tells me that feels a little clunky.

brianbreitsch commented 8 years ago

My feeling is that the best way to carry such information is heavily dependent on whether the context is real-time vs sequencing vs notation editing/rendering.

@stephband Your comment clears up the misunderstanding, shall I close this one? Perhaps we can open a new issue to discuss MIDI compliance--as you allude to in the spec. I think it would be helpful to think about the problem from the stance of designing a spec for real-time vs notation.

stephband commented 8 years ago

@brianbreitsch Possibly... but the aim here is to try and devise something interchangeable that is useful for all those contexts.

Sure, start a discussion on MIDI compat, it's a good idea. Or just change the title of this discussion.