ModPlug Central

OpenMPT => Help and Questions => Topic started by: furrykef on September 04, 2006, 14:44:14

Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 04, 2006, 14:44:14
This is a suggestion that I'm sure there isn't a great demand for, but I'm hoping to change that. :) Anyway, to explain this properly, we're going to have to discuss a little bit about music history and physics (don't worry, I'll try to make it painless).

Modern music, including every tracker that I know of, generally uses a system called "equal temperament". In equal temperament, the octave is divided into twelve equal semitones. They are "equal" in the sense that the ratio of the frequency from one semitone to the next is always the same. In other words, the same interval always sounds the same. C-G (a perfect fifth) and D-A (another perfect fifth) sound exactly the same, except the latter is a little higher in pitch.

Now here's the part that may seem shocking: equal temperament is actually a little out of tune! The ear actually prefers an uneven scale. This is all complicated to explain, especially in a short forum post. In short, the system the ear prefers is called "just intonation", described here (http://en.wikipedia.org/wiki/Just_intonation) and here (http://www.kylegann.com/tuning.html) (for example). So why don't we use it? Because it's a pain in the butt! You'd have to retune every time you want to use certain chords (like a D chord on a system tuned for C major), because the particular unevenness of the just intonation scale means that, while some chords are more in tune, some others are too out of tune. I do intend to figure out a good way to support just intonation in trackers someday, but it'd certainly be too radical for OpenMPT.

By the way, I actually made a little clip using OpenMPT to compare equal temperament to just intonation: http://en.wikipedia.org/wiki/Image:Just_vs_equal.ogg - here you can hear for yourself how there's a difference. (As for how I got just intonation from OpenMPT... I manually edited the sample playback rate of the piano sample to produce the different notes! Pretty ugly trick.) I think the just intonation chord rings more clearly than the equal temperament chord does. It's a small and subtle difference, but I wouldn't underestimate one's ability to subconsciously notice such things.

But, as I said, implementing just intonation in a useful way for MPT would not be practical due to the way you have to retune. So, instead, I'm going to advocate another system called well temperament (http://en.wikipedia.org/wiki/Well_temperament). This was the result of attempts to produce equal temperament in the Baroque and Classical periods. When Bach wrote The Well-Tempered Clavier, this was the system he was using. Well temperament is somewhat in between just intonation and equal temperament: all the keys and chords are usable, but they no longer all sound the same! D major no longer sounds exactly like C major only transposed up a notch; the chord has a different character. Some will sound pure and placid, as in just intonation; others will sound slightly out of tune and have a brighter quality. This is why I'm recommending an implementation of well temperament: so that modern trackers can exploit the differences in different chords and keys the same way Bach did!

The implementation ought to be pretty straightforward: in the song properties, the user may set a "well temperament" flag. There might also be another option to choose which key (A through G#) to use as the "base" for the tuning, which dictates which keys have which character. When this flag is set, the program simply uses a different algorithm to convert each note into a pitch. That's all there is to it.

This source (http://www.kylegann.com/histune.html) has more about historical tunings such as well temperament, including how the scale corresponds to the modern scale in cents (which can be used to derive the algorithm). I'd recommend the Werckmeister III version of well temperament on the grounds that it'd probably produce the most interesting results.

Of course, I don't expect this suggestion to be embraced immediately, coming out of the blue like this. I expect it'll be first met with puzzlement and perhaps resistance: "What are you talking about?" "If this is a good idea, why aren't we doing it already?" "Our tuning sounds fine and the average listener wouldn't ever notice." So I expect I'll probably have to just program it myself and then we'll see whether it is indeed a good idea or not. :) I did want to see what the community thinks of the suggestion, though.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: SoundCrafter on September 04, 2006, 15:57:21
Yay! A legitmate music topic that I actually know!

It's a great idea, the only reason i think you'll come across any resistance is:

Modplug was meant (I believe) mainly for the production of electronic/a music.  That being said, in electronica, if we want a pitch change, we put it in their ourselves.   (I use 'electronica' as a general term for any type of electronic music, from dance, trance, to dnb) In electronica, we (or at least I) prefer an equal scale, because the notes are always in tune.

However, if I were to record a piece with a piano, and I'm sure I will, i would absolutely use it in trying to achieve the best sound possible.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 04, 2006, 16:10:33
Nice to see that the first response is something other than "WTF?" :)

I admit I don't really have any idea how many OpenMPT users would be interested in well temperament (after being educated on the matter, of course). You're right, it's probably not well suited to electronica music in general. But, of course, if you don't want it, you don't have to use it. :)

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 04, 2006, 16:35:46
SoundCrafter, I actually disagree on your statement that OpenMPT was designed to make dance/electo music with it. It mainly is being done alot because that's today's standard so to say.

We've already tried adding some options to humanise the sound. For example: you can have randomised volume parameters, randomised filter settings (to get that once in a while mis with a snare) and I've even suggested making it possible to random a delay to the note.

Its a good suggestion though. I hope to see something like this implemented. It will be optional ofcource.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Relabsoluness on September 04, 2006, 20:16:40
Wow, this is nice to see, for only a few weeks ago a new development branch(~a 'development line' including bit bigger modifications) for OMPT was created in sourceforge, and that branch includes a more or less working tuning system that has been tried to create with a open mind in the sense that it hopefully can be used to create more or less anykind of tuning one wishes to have. Currently tuning modes are instrument specific, i.e. every instrument can have its own tuning mode.

EDIT: Removed broken image link.

Any comments, questions and suggestions concerning this are welcome. It might be worth noticing that I have little theoretical knowledge of tuning theory, so I might have used unconventional or bad concepts and practices in the implementation, or maybe even have something totally wrong in the basics; please rectify if so. This feature is not available in the latest beta build(.45).
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: speed-goddamn-focus on September 04, 2006, 20:56:05
Quote from: "Relabsoluness"Screenshot: Created just intonation tuning. All available ratios are definable one by one(so, no need to have 12 steps after which ratio doubles etc.). Note that this is a draft version..
If I understand things correctly, which rarely happens btw, it's not *really* just temperament as that depends on the scale, i.e. C# isn't equal to Db.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Relabsoluness on September 04, 2006, 21:17:30
Quote from: "speed-goddamn-focus"
Quote from: "Relabsoluness"Screenshot: Created just intonation tuning. All available ratios are definable one by one(so, no need to have 12 steps after which ratio doubles etc.). Note that this is a draft version..
If I understand things correctly, which rarely happens btw, it's not *really* just temperament as that depends on the scale, i.e. C# isn't equal to Db.
I must admit that I don't understand that :) Especially the "C# isn't equal to Db" part. But as said, my knowledge of these things is weak indeed.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Snu on September 04, 2006, 21:33:59
Quote from: "Relabsoluness"Wow, this is nice to see, for only a few weeks ago a new development branch(~a 'development line' including bit bigger modifications) for OMPT was created in sourceforge, and that branch includes a more or less working tuning system that has been tried to create with a open mind in the sense that it hopefully can be used to create more or less anykind of tuning one wishes to have. Currently tuning modes are instrument specific, i.e. every instrument can have its own tuning mode.
:o!
i cant wait until its implemented!
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Sam_Zen on September 05, 2006, 01:34:39
2 Relabsoluness
These tuning properties look very promising !
I learned from working with analog, no division inside an octave-range is impossible.
If one chooses to make some brain-graining compromise with 12 tones, so someone can play on a piano, it's ok by me, but as long as other options are available as well.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 05, 2006, 02:48:16
One problem with just intonation is that it would work best if you could change the tuning with, say, every chord. If you have a song written in C major, but you try to play a D chord on it, it will not sound good because the D chord and its fifth, A, will be a wolf interval. So you would need to change the tuning occasionally for some pieces.

As for the "C# and Db are not equivalent" thing... it has to do with how you arrive at the interval. For example, an augmented fourth or a diminished fifth could be seen as a minor third of a minor third: 6:5 * 6:5 = 36:25. Or it could be a major second of a major third: 9:8 * 5:4 = 45:32. I'd say the smaller ratio (45:32) is the augmented fourth and the larger one (36:25) is the diminished fifth. Of course, in practice, you could use one in place of the other if you wanted (or needed) to, but they're still technically different intervals.

Which one you use -- an augmented fourth or a diminished fifth -- is a matter of diatonic function. I think that you would use an augmented fourth if your chord is C-E-F# (because F# is a major third and a major second), and a diminished fifth if your chord is C-Eb-Gb (because Gb is a minor third and a minor third). Hey, I think I'm starting to get this stuff.

EDIT: I do like the idea of that tuning editor, BTW. I'm surprised -- and happy -- that somebody was already working on this... :)

(EDIT #2: explained what I think is meant by "diatonic function")

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 05, 2006, 07:21:31
Hey, I downloaded the source code for the version with the tuning thing, but I'm having trouble getting it to build (I don't have VC7, only the Toolkit version). I'll probably figure out something, but it might be nice to post a build somewhere.

EDIT: Crap! MFC's not included in either VC++ Toolkit 2003 or Visual C++ 2005 Express! I guess I'm screwed, then...

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Relabsoluness on September 06, 2006, 20:00:35
2furrykef

Maybe I'll understand the explanation some day :) But based on
Quote from: "furrykef"One problem with just intonation is that it would work best if you could change the tuning with, say, every chord.
it seems to me that there's no 'trivial' solution for this, but can one achieve this by having the 'same' instrument multiple times but every one of these would have different tuning, and then use appropriate instrument for every chord in the patterns?

About the source:
It indeed is bothersome that OMPT needs MFC - it would be great to have it compilable with free tools but likely that won't happen at least anytime soon. When builds with the tuning things appear, hopefully it'll be informed here in the forums.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: SoundCrafter on September 06, 2006, 20:10:30
I assume in this tuning version, it applies only to individual instruments? I'd hate to have it apply to the whole song and have my kick fart everytime I played it.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 07, 2006, 01:25:55
Quote from: "Relabsoluness"it seems to me that there's no 'trivial' solution for this, but can one achieve this by having the 'same' instrument multiple times but every one of these would have different tuning, and then use appropriate instrument for every chord in the patterns?

Yeah, that's the same solution I thought of, but it would be a pain to do that if you have a lot of instruments to retune. I think the S2x command (for IT) could be used as a tuning switcher, since the docs say it's only there "for MOD compatibility"... i.e., useless as far as I can tell. If for some reason you actually need to use that effect, you wouldn't be using alternative tunings anyway, so it'd be a no-op in OpenMPT with no alternative tunings defined, which makes it exactly the same as before, right?

That'd give you 16 tunings, 0-F, to switch to on the fly, which would probably be plenty. If you want more, you're probably a microtonalist... :)

Quote from: "SoundCrafter"I assume in this tuning version, it applies only to individual instruments? I'd hate to have it apply to the whole song and have my kick fart everytime I played it.

Yes, it only applies to individual instruments (as was stated explicitly in the first post about it), but I don't think it would be a problem with drum instruments. Altering the pitch of your kick drum by 20 cents will very probably not make it "fart", and the pitch might not even be altered at all (e.g., if you tune for C and play only C notes with the kick drum).

There should be a means of applying it to the whole song except for certain instruments (or maybe certain channels), though, but I don't think it'd be a very necessary feature, since you'd generally want each instrument in the same tuning, except for drums, which, again, I'm sure are pretty much unaffected. Perhaps one can set a tuning for the whole song and have a "tuning override" for individual instruments?

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Relabsoluness on September 07, 2006, 20:20:20
Quote from: "furrykef"I think the S2x command (for IT) could be used as a tuning switcher, since the docs say it's only there "for MOD compatibility"... i.e., useless as far as I can tell. If for some reason you actually need to use that effect, you wouldn't be using alternative tunings anyway, so it'd be a no-op in OpenMPT with no alternative tunings defined, which makes it exactly the same as before, right?

That'd give you 16 tunings, 0-F, to switch to on the fly, which would probably be plenty. If you want more, you're probably a microtonalist... :)
Yes it might be reasonable to have such modcommand available; using S2x might be easy, but since the tuning things are not currently intended to be included in IT(nor XM), it shouldn't be too difficult to add even new command for this. But anyway, this, or the "tuning override" are not on the top of todo's right now; there is more than enough objective get even a simple version 'out' first.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 07, 2006, 20:35:06
Quote from: "Relabsoluness"
Quote from: "furrykef"I think the S2x command (for IT) could be used as a tuning switcher, since the docs say it's only there "for MOD compatibility"... i.e., useless as far as I can tell. If for some reason you actually need to use that effect, you wouldn't be using alternative tunings anyway, so it'd be a no-op in OpenMPT with no alternative tunings defined, which makes it exactly the same as before, right?

That'd give you 16 tunings, 0-F, to switch to on the fly, which would probably be plenty. If you want more, you're probably a microtonalist... :)
Yes it might be reasonable to have such modcommand available; using S2x might be easy, but since the tuning things are not currently intended to be included in IT(nor XM), it shouldn't be too difficult to add even new command for this. But anyway, this, or the "tuning override" are not on the top of todo's right now; there is more than enough objective get even a simple version 'out' first.

Makes me wondering though... Why on earth would you ever want to switch between tunings during the song? that will probably screw up your song? Maybe its better to affect the pitch instead? Eg. S28 = middle, higher number and the pitch is slightly raised, lower and its slightly lowered? I think that will be better to adjust in case you want that for one note.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: SoundCrafter on September 07, 2006, 21:29:40
Quote from: "LPChip"Makes me wondering though... Why on earth would you ever want to switch between tunings during the song? that will probably screw up your song? Maybe its better to affect the pitch instead? Eg. S28 = middle, higher number and the pitch is slightly raised, lower and its slightly lowered? I think that will be better to adjust in case you want that for one note.

Actually, I too thought about usinf SFx.  You might want to switch, well like furrykef said, if you were going to use chord with the same instrument. But for compatiblilty purposes, it might be best just to make two of the same instruments with different tuning.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 07, 2006, 22:07:57
I can understand that you want a different temperament for your song, but for each instrument sounda likes stupid?

They can collide in such way that it becomes hard to use them at the same time?
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 01:34:06
Quote from: "Relabsoluness"Yes it might be reasonable to have such modcommand available; using S2x might be easy, but since the tuning things are not currently intended to be included in IT(nor XM), it shouldn't be too difficult to add even new command for this.

Well, A-Z are already taken for effect names, but I guess it would be possible to use 0-9 as well.

Quote from: "LPChip"Makes me wondering though... Why on earth would you ever want to switch between tunings during the song? that will probably screw up your song?

If you're using just intonation, you will need to retune to use certain chords. For example, if you're tuned to C, you cannot use a full D chord (either major or minor) because the fifth is a wolf interval -- it will go "WOWOWOWOWOW", like a bad chorus effect, which is almost always undesirable. So you would want to switch to D tuning for that chord.

You might also want to use just intonation for most of a song, but, for example, you have a bit you recorded on an electric guitar, so that part needs to be in equal temperament to be in tune with the guitar.

Put both of those reasons together and you might have three tunings in your song right there.

Quote from: "LPChip"Maybe its better to affect the pitch instead? Eg. S28 = middle, higher number and the pitch is slightly raised, lower and its slightly lowered? I think that will be better to adjust in case you want that for one note.

I don't think I really like this idea. How do you know how much to adjust pitch? And it wouldn't be a good substitute for being able to switch tunings, because each one of those you use means you can't use another effect in its place, whereas my idea would affect the entire song, and so only one channel would have to deal with that.

Quote from: "LPChip"I can understand that you want a different temperament for your song, but for each instrument sounda likes stupid?

They can collide in such way that it becomes hard to use them at the same time?

I agree on this point. You'd almost never want to use more than one tuning concurrently.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 08, 2006, 10:02:24
To reply on the above post...

I don't know exactly how it works, but it looks to me that an entire song is played with the same scale? Eg: you play in a C maj, then a A min, eg. You want to change how that sounds right? Not just a C maj?

But maybe what I'm saying here isn't possible? The first time I've came to this fact IRL is yesterday. and before that only by reading the posts. :)
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 10:56:06
Quote from: "LPChip"I don't know exactly how it works, but it looks to me that an entire song is played with the same scale?

Well, for one thing, you would use a different scale when you do a keychange, such as playing in C major and transposing up to D major. In some tuning systems, such as well temperament and (obviously) equal temperament, this is not a problem, but in just intonation, it is. But with just intonation, you may need to retune even if you stick to the same scale (using "scale" in the sense of a series of notes like C D E F G A B).

You can write a song completely in C major and still need different tunings if you use just intonation... I know that sounds kind of odd, and really, it is, but it's the way it works. In the C major scale, we have these intervals (those not necessary for this example are omitted):
If you play C-E-G, it will sound good. From C to E is 5:4, and from C to G is 3:2, both of which, due to the small integers, are obviously consonant intervals. Let's also calculate the interval from E to G. To do this, we multiply them together, with one ratio having the bigger number on top and the other having the bigger number on the bottom: 5:4 * 2:3 = 5:6 (which we can also write as 6:5 in the context of intervals), another small ratio. So C major is a nice, clean chord all the way through, which is not surprising for a C major scale.

Now let's look at a D minor chord: D-F-A. D minor is a chord in the C major scale, since D, F, and A are all in the scale, so one would expect to be able to use it. First let's look at D to F: 9:8 * 3:4 = 27:32 (or 32:27). This sounds decent; it's flat, but it's tolerable. And from D to A is 9:8 * 3:5 = 27:40 (or 40:27), which is way too flat and sounds like a honky tonk piano without the charm (if you're using a piano sample ;)). That's a "wolf interval": it howls like a wolf. The only good news is that F to A is 4:3 * 3:5 = 4/5 (or 5/4), a nice, clean interval, but that doesn't make the wolf interval sound any better. You have three options: play D-F and omit the A; play F-A and omit the D; or temporarily retune to the D major scale.

This also shows why just intonation pianos are not popular... ;)

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 08, 2006, 12:31:28
I see, but I think its better to make a new command instead of using S2x, because Sxy is used to alter a sound, instead of being a global effect. It will become confusing that way.

But the programmers can deal with that.

Basically you want to assign what key you are playing in right?

So ?13 can mean:

? = the letter, char for the command)
1 = the note: 0=C, 1 = C# etc. (like appregio effect, taken from a C)
3 = the kind of chord: 0 = maj, 1 = min, 2 mj7 etc...

And based on that, the right tonation will be used?
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 12:48:07
That's a good point about Sxy being used to alter a channel, not the song. I do think a new effect altogether would be a better idea.

I think it would be most useful if there were a numbered table of tunings the user can define. #0 might be equal temperament, #1 might be well temperament, #2 might be a just intonation C scale. It's somewhat unlikely that a user would use a wide variety of tunings in a single composition -- but not inconceivable for a very long piece -- but I don't think it'd be less convenient than the alternatives. Whether you need two tunings or a dozen, it will work for you.

Perhaps we could define ?0x as a set of presets built into MPT: ?00 would be equal temperament, ?01 through ?0C would be just intonation in C through B major, ?0D through ?0F would be reserved, and ?10 through ?ff would be the user-defined tunings. I don't like starting with C major on ?01 instead of ?00, but then, neither do I like assigning the default value, equal temperament, to something other than ?00. Perhaps ?FF for equal temperament wouldn't be a bad choice, though.

I'm renaming the thread now, since we've gone beyond the scope of well temperament...

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 08, 2006, 12:52:52
I'd rather use standard settings for where possible?

Since a tonation scale would only go from 0 to B, you can use C to F which are 4 numbers to set speciffic commands? Cus each number has 16 slots.

Eg: ?Cy sets tonation to y
and so fort?
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 12:55:04
I'm not sure I understand what you mean.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: speed-goddamn-focus on September 08, 2006, 13:03:14
I think it's smoother to use different instruments. perhaps a system where cloned instruments could inherit chosen attributes of another, so that if you change the "parent" the children could change too? Honestly, isn't that a terrific idea?
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 13:06:57
Quote from: "speed-goddamn-focus"I think it's smoother to use different instruments.

Could you explain your reasoning?
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: speed-goddamn-focus on September 08, 2006, 13:19:06
Quote from: "furrykef"
Quote from: "speed-goddamn-focus"I think it's smoother to use different instruments.

Could you explain your reasoning?

Choosing an aptly named instrument is easier than remembering which number goes with what tuning.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 13:23:43
Yes, until you have to change to "Piano - D scale", "Bass - D scale", "Pad - D scale", and "Trumpet - D scale" for a D chord, just to switch back to "Piano - C scale", "Bass - C scale", "Pad - C scale", and "Trumpet - C scale" again on the next chord -- compared to doing just two commands. :)

It'd also be annoying having all those essentially duplicated instruments. If you have sixteen instruments in two tunings each, suddenly you have 32 of 'em!

You do have a point, but is using instruments the solution?

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 08, 2006, 14:05:46
Since using 2 tonations at a time will probably cause trouble anyway, I think its best to change it for the entire song, and therefor not make it instrument dependend but song dependend.

As for using your own scales, you could use F as a changer, like SFx also was ment for the changer. C,D and E can be used for anything if required.

Cus if you have like 7 different tonations, you can easilly use 16-7 = 9 custom ones. Or if more is desired, you can use entirelly C D and E which each has 16 values to use custom presets.

Note that each custom preset can have a diagram for each note with each chord in it.

Eg: if we decide that 0 = C, 1 = C# etc... and 0 = maj, 1 = min, 2 = maj7, 3 = maj7 etc.

you can make your own scheme, then simply do:

?F8 (select your custom set)
?01 = C maj
?53 = F maj7

You can even make it easy on the programming this way:

you store the values in a table, where the x axis is the note and the Y axis is the chord. Then you read out the value, and refer to the table where in ?xy, the x goes through the x axis, and the y goes through the y axis.

Eg:

     |C |C#|D |D#|E |F |F#|G |G#|A |A#|B |
------+--+--+--+--+--+--+--+--+--+--+--+--+
C     |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
CM7   |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
C7    |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cm    |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cm7   |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cdim  |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cm7   |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Caug  |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Csus4 |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
C7sus4|??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
C6    |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cm6   |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+


Copied this from the manual of my Roland FP-2
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 14:08:35
Quote from: "LPChip"Note that each custom preset can have a diagram for each note with each chord in it.

Eg: if we decide that 0 = C, 1 = C# etc... and 0 = maj, 1 = min, 2 = maj7, 3 = maj7 etc.

you can make your own scheme, then simply do:

?F8 (select your custom set)
?01 = C maj
?53 = F maj7

I don't understand the point in adding chord names like "major", "major 7th", etc. If you tune to a C scale in just intonation, it will be the correct scale whether you play a major, minor, diminished, 7th, major 7th, etc.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: speed-goddamn-focus on September 08, 2006, 14:14:13
Quote from: "furrykef"It'd also be annoying having all those essentially duplicated instruments. If you have sixteen instruments in two tunings each, suddenly you have 32 of 'em!
I don't really see the harm in that... Then again I never composed a song with sixteen instruments and I probably will never use this feature either... ;) I just liked the idea of object oriented instruments...
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 14:16:01
Quote from: "speed-goddamn-focus"I just liked the idea of object oriented instruments...

I see where you're coming from, and I do like the idea of having minor variations of instruments, but I don't think alternative tunings would be a good application of that idea.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 08, 2006, 15:31:32
Here's a diagram of what I mean. I've also posted it in the other post, but that post is on the previous page, which is more than likelly not to be seen :P

     |C |C#|D |D#|E |F |F#|G |G#|A |A#|B |
------+--+--+--+--+--+--+--+--+--+--+--+--+
C     |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
CM7   |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
C7    |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cm    |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cm7   |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cdim  |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cm7   |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Caug  |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Csus4 |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
C7sus4|??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
C6    |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+
Cm6   |??|??|??|??|??|??|??|??|??|??|??|??|
------+--+--+--+--+--+--+--+--+--+--+--+--+


Maybe I just don't understand the entire temperament thingy. Note: for simplicity, I named the chords for C chord, but obviously the more you go to the right in the table, the higher the note becomes. So a Cm below F = Fm.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 15:40:55
I still don't see why chords should be involved in selecting a tuning... a tuning simply defines the pitches of each note. In just intonation, you will need to retune to use certain chords, but this depends only on the root of the chord, not whether it's major, minor, etc. The tuning itself would only be C, C#, D, etc.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 08, 2006, 16:26:53
Ah okay, so basically you change the chords to C-B and its okay?

Eg:

?xy
 where
     x = tonation chart
 and
     y = root key, 0 = C, 1 = C#, 2=D, ... A = A#, B = B
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 16:31:47
Something like that would work, though I don't know if the 'x' part of the parameter would be too useful. Needing to retune for chords is mostly a just intonation thing, so it wouldn't be as necessary for other systems, if that's what you had in mind.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 08, 2006, 19:15:02
Lets just say that I understand like 5% of it, and I though I understood it for like 10% :P
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Relabsoluness on September 08, 2006, 20:49:31
Quote from: "furrykef"
Quote from: "LPChip"Maybe its better to affect the pitch instead? Eg. S28 = middle, higher number and the pitch is slightly raised, lower and its slightly lowered? I think that will be better to adjust in case you want that for one note.

I don't think I really like this idea. How do you know how much to adjust pitch?
The finetune parameter in the tuning can be used to an extent to define how 'densily' the space between 'main steps' is divided, thus maybe making it possible to finetune the note accurately enough. Currently I think there is no proper modcommand to control the finetune, but that doesn't sounds like a big problem.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 08, 2006, 21:08:21
I'm not against a fine-tune feature, but I think it's an issue separate from the general tuning problem.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: speed-goddamn-focus on September 08, 2006, 23:45:45
Would this feature enable us to change the tuning of VSTi:s?
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 09, 2006, 02:54:53
Crap, I hadn't thought of that, since I don't use VSTi's. I don't know the underlying architecture, either; I think that will depend on how notes are sent to the VSTi. If it's a MIDI note number, or something along those lines, then no, that won't be easy (possible using a pitch-shifter, perhaps, but I don't know). If it's a number in Hertz or something, it'd be trivial. Unfortunately, my experience with music software tells me it's probably a MIDI note number.

EDIT: Looks to me that VSTi is based on MIDI, so we're probably out of luck on that one.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 09, 2006, 07:06:13
Also, another way of looking at the situation is in cents... you know how an equal-tempered scale is divided into 100 cents per semitone, as each semitone is the same interval apart from the next. Naturally, because other systems are uneven, that rule, 100 cents per semitone, will no longer hold, but it still provides a simple figure for comparing intervals.

The C major scale in just intonation is:
Now comparing intervals is just a matter of subtracting cents. We see that a perfect fifth, as in C:G, should be 702 cents. The interval D:A, however, is 884 - 204 = 680 cents, which is 22 cents flatter than the 702 cents we want; no wonder it sounds bad!

BTW, I have to admit I'm still learning much of this, so I probably sound more knowledgeable than I actually am... I actually haven't played much with intonation because I don't really have good tools to do so.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: LPChip on September 09, 2006, 07:57:00
Midi data indeed uses notes, but I also believe there actually is support for temperament. I don't know how well it has been integrated into the steinberg VST SDK though.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: rncekel on September 09, 2006, 17:01:09
Music is mostly an historical product. It is not the ear that prefers the "just intonation" tunning; this has a physical background. The way harmonics are produced (when we hit a string, for example) is precisely that. Some ancient musics used a pentatonic scale to avoide the problem of the intervals that sounded a little strange. The gregorian modes were also an attempt to solve this uncertainty, by using all the posibilities. Western music centered very soon on tempered tunning, and we have been hearing almost exclusively tempered music for some 300 years; so now, most of us prefer really tempered music (even if we don't know anything about it). Many people, when they hear some "just intonation" tunned music, think it is simply out of tune! But I find the idea of different tunnings really great, not for trying to use "just intonation" (that would be not very interesting now), but to be able to use other tunnings, apart from the traditional western one; I'm thinking on some oriental scales that use quarter of tunes, and contemporary academic music, that use sometimes other small intervals.
By the way, as this is something that most people will never use (and even never mind of), I think that the best approach is the tunning-per-instrument.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 09, 2006, 17:05:43
Quote from: "rncekel"By the way, as this is something that most people will never use (and even never mind of), I think that the best approach is the tunning-per-instrument.

I don't see how that conclusion fits the premise... it would be just as easy for Average Joe to ignore the tunings in the song properties as it would be in the instrument editor.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: anboi on September 09, 2006, 19:41:22
as long as the new stuff is powerful enough to allow me to have a mess about with things like 19-TET etc. then i'm happy. it should definitely allow for user made presets to be shared so you can save time if someone has already done the tuning you want.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 09, 2006, 19:59:22
I don't know about expanding beyond 12-tone systems. I think getting microtonal is a little too radical for OpenMPT. I wouldn't be against it myself, though, but a lot of thought would need to be put into how it's done.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Relabsoluness on September 09, 2006, 21:01:07
Quote from: "anboi"as long as the new stuff is powerful enough to allow me to have a mess about with things like 19-TET etc. then i'm happy. it should definitely allow for user made presets to be shared so you can save time if someone has already done the tuning you want.
As said before, all ratios within the noterange, which currently is in practice something like 108(==9*12) steps, are definable one-by-one, so creating something other than 12-tone system is no problem(currently for example the pattern GUI, though, doesn't support that too well); especially TET-tunings are easy to create - all it needs is to set:
-tuning type to TET
-steps per 'period'
-ratio between notes having 'period' steps between them(doesn't have to be integer)
For example:
period = 12, ratio = 2    -> TET12
period = 19, ratio = 2    -> TET19
period = 12, ratio = 0.5 -> 'inverse TET12' ('low' notes would have high ratio and vice versa :))

About sharing presets:
Tunings can be saved to file and loaded from file; export and import buttons(see screenshot) are there for that.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Sam_Zen on September 10, 2006, 00:53:58
2 Relabsoluness
Thanks.. Your clear explanation has forced me to going to explore this area at least for some next years I guess. ;)
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: furrykef on September 12, 2006, 18:29:31
Quote from: "rncekel"Western music centered very soon on tempered tunning, and we have been hearing almost exclusively tempered music for some 300 years; so now, most of us prefer really tempered music (even if we don't know anything about it). Many people, when they hear some "just intonation" tunned music, think it is simply out of tune!

By the way, I've been meaning to make a response to this point, but I kept forgetting. I think, in particular, the claim that just intonation sounds "out of tune" is easily refuted by the example of a barbershop quartet. Not everybody finds the sound of a barbershop quartet particularly interesting (I find it a boring style of music), but I'm sure nobody thinks properly-sung barbershop -- in just intonation -- sounds out of tune!

Now if you have a just intonation instrument playing along with an equal tempered instrument, then yes, that will sound out of tune (which is one reason why barbershop is traditionally sung a cappella).

It's also worth noting that players of certain instruments, such as violins, will still tend to play in just intonation, unless there is equal-tempered accompaniment.

- Kef
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Sam_Zen on September 13, 2006, 02:14:53
It's a mix of taste and experience I think. I'm used to listen to other tunings as well, and in my case I can get a quick headache by having to listen to a lot of three-tone-chords hammered on a piano. It just starts to scratch the inside of my skull in an unpleasant way.
So any control over a variable in this is welcome.
Title: OpenMPT tunings (was: OpenMPT suggestion: well temperament)
Post by: Relabsoluness on December 28, 2006, 17:36:55
There's now a test build with the tuning things discussed here available at http://modplug.svn.sourceforge.net/viewvc/modplug/branches/OpenMPT_MPTm_Tuning/mptrack/bin/ (mptrack_Generic.exe). In order to make things work, files std_tunings.tc and local_tunings.tc are also needed(can be found through the above link) and should be located like
\tunings\standard\std_tunings.tc
\tunings\local_tunings.tc
relative to the exe file. Please note that it is not a 'official beta version'.