| |
lft
Registered: Jul 2007 Posts: 369 |
Playroutine coding: A new way to represent pitch
Introducing the 9-bit pitch technique:
http://www.linusakesson.net/programming/9bitpitch/index.php |
|
... 24 posts hidden. Click here to view all posts.... |
| |
lft
Registered: Jul 2007 Posts: 369 |
ChristopherJam, I can see your point of view, but some pragmatism is inevitable. The question is where to draw the line.
Demo coding is also "just data compression". We could start from a desired on-screen result and have a compiler generate the program for it. That's what a video encoder does. Sure, size and rastertime are through the roof, but the art director gets maximum flexibility.
Of course, you didn't suggest that. But my point is that playroutine design is about exploring the interaction between size, rastertime and flexibility, and trying to find sweet spots. Especially if you want to use the music in a demo, you're going to have to expose some constraints to the musician.
I also think that if we just blindly design for flexibility, we're going to end up with uninspiring systems without personality. Kind of like the modern PC.
On another note (ha!), ProTracker MODs store a 16-bit frequency for each note, but only a small set of frequencies are allowed. Players then perform a reverse-lookup (e.g. binary search) to get a note number. Then they look up the actual frequency to use, based on the note number and the finetune parameter from the instrument. There is much madness in the world. |
| |
Frantic
Registered: Mar 2003 Posts: 1630 |
@lft: Probably because fine-tune wasn't there in early .mod formats. But yeah... gradual mutations into madness. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1381 |
"..especially if you want to use the music in a demo, you're going to have to expose some constraints to the musician. "
Oh absolutely. I just prefer to express constraints in terms of costs, and give artists some space to juggle their own tradeoffs - eg, "you can have up to 15 instruments per track, but any instrument that spans more than 32 semitones counts as two instruments"
Back in my PS2 dev days we'd just give artists a texture budget per map region and a few different compression options, and let them make their own mind up how many texels they wanted. The lead artist for each level would then make up some finer guidelines so different suburbs didn't vary too wildly in degree of compression, but that was an artist call not a coder one.
I do take your point about constraints also adding flavour of their own. |
| |
Dane Account closed
Registered: May 2002 Posts: 421 |
Constraints are fun. Balancing out a tune/trying to tell a story with music somewhere between max rastertime allowed and max memory usage allowed is what excites me. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Has anyone implemented or considered implementing an editor and player for 31-tet music?
Yes, considered it, at least different scales, like the beforementioned 24-tet. Doing it with extended freq-tables and a 24-tet scale representation (with half sharp accidentals) would require some work to the standard editor setup. The whole player would need to be adjusted as well. Meh.
But I've changed my finetune routine a bit so the finetune intervals are small, allowing for $30 values between each half tone in the arpeggio step routine. Only the scale representation in the pattern editor isn't accurate this way. Someone willing to do 31-tet music shouldn't be bothered by that detail, me thinks. :)
Haven't put it in practice yet musically, though, because I'm busy posting thought bubbles about clever 9 bit tricks and having fries with that. |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Compared to 2 tones, lets say D and D#, will this give another tone that isnt possible with detune of D ?
else, what use is it ? |
| |
Hein
Registered: Apr 2004 Posts: 933 |
Quote: Compared to 2 tones, lets say D and D#, will this give another tone that isnt possible with detune of D ?
else, what use is it ?
Time wasting? ;)
I think mainly speed, compared to regular 16-bit frequency calculations.
As for detune: If the detune is on the instrument, you'd be having a hard time creating proper intervals on the arpeggios. If your base instrument note is tuned a quarter tone up, all your scale notes are. The 9-bit method can be used to create immediate quarter (or half of that) tone interval arpeggios without an additional detune routine. |
| |
lft
Registered: Jul 2007 Posts: 369 |
Hein: Hey, you're right! I can intonate the arpeggios any way I like using my current tools. Didn't think of that before!
SIDwave: The point of the 9-bit technique is that the player can work with linear pitch values really fast. And linear pitch values means that e.g. your glides and vibratos sound the same in the bass and the treble. Also, vibrato becomes a special kind of arpeggio, and this simplifies the playroutine. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11148 |
you can have non-triangle like vibrato for free this way too. and while its running do a pitch slide that precisely stops at your target note... like :) mmmh is it accurate enough to compensate for pal/ntsc too? :) |
| |
Soren
Registered: Dec 2001 Posts: 547 |
Burglar likes vibrators! ;) |
Previous - 1 | 2 | 3 | 4 - Next |