Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29 FamiTracker
Login:
Menu:
Post: Author:
FamiTracker > General > FamiTracker Talk > Pitch Tables Owner: rainwarrior New post
Page 1 of 2 Sort: Goto Page: [1] [2] Next >>
Pitch Tables Posted: 2011-12-19 21:06  (Last Edited: 2011-12-19 21:49) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#27716
I've compiled a spreadsheet of the pitch table values FamiTracker currently uses, and the Hz frequencies they translate to. Do with it as you will.

Edit: I have discovered that the VRC6 saw is systematically off by 1 in FamiTracker's playback (but not in exported NSFs). So... these tables apply if you use P7F on the saw channel (or no P/P80 in an exported NSF). (Bug report here: [url=http://famitracker.shoodot.net/forum/posts.php?id=2978]http://famitracker.shoodot.net/forum/posts.php?id=2978)


Attachments:
pitchtable_0.3.7.ods (25 Kb)
pitchtable_0.3.7.xls (50 Kb)
pitchtable_0.3.7.csv (10 Kb)
Posted: 2011-12-19 21:18 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#27718
Also, here's the tuning errors vs. the intended scale in cents. The last column also compares the VRC6 saw wave against the squares.


Attachments:
pitchtable_0.3.7_cents.ods (33 Kb)
Posted: 2011-12-19 22:41 Reply | Quote
Jandazekon

Avatar

Member for: 4356 days
Location: Sweden
Status: Offline

#27721
And is it possible to set how many notes per octave? Or keytracking/ compress/expand chromatic scale intervals/gaps
between B4 and C5 for all octaves.

Posted: 2011-12-19 22:43  (Last Edited: 2011-12-19 22:45) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#27722
Nope, but you can use Pxx to get any possible pitch relative to this pitch table, so if you're determined you could make microtonal music with FamiTracker. (Nobody's done this yet, I don't think. I've been considering it.)

Posted: 2011-12-19 22:58 Reply | Quote
Jandazekon

Avatar

Member for: 4356 days
Location: Sweden
Status: Offline

#27723
So how can i apply microtuning stretching compressing? Making all notes come closer to each other. Be it so that all notes from any octave comes closer to the middle octave so that all notes are exactly the same if 100%. Or all notes compresses to their own octave center.

Posted: 2011-12-19 23:11  (Last Edited: 2011-12-19 23:14) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#27725
I'm not sure what you're asking. There are a large number of meaningful ways to build a scale. But as I said, FamiTracker only has one built in (the usual 12 tone equal tempered one). If you want to use something else, here's what you have to do:

1. Generate your own table of tuning that meets your own requirements.
2. Convert those pitches to NES pitch table values.
3. Find the nearest values in the FamiTracker pitch table.
4. Use Pxx on every note to adjust the FamiTracker pitches to your own pitch table.

Alternatively:

1. Generate your own pitch table with 12 notes per octave, making sure things that are close to equal temperament line up with their equivalents.
2. Compose your song in FamiTracker's regular equal temperament.
3. Export to NSF.
4. Replace pitch table in the NSF with your own pitch table.

Posted: 2011-12-22 04:13  (Last Edited: 2011-12-22 04:14) Reply | Quote
ElHuesudoII

Avatar

Member for: 4525 days
Status: Offline

#27757
Okay, generating my own table of tuning apparently is pretty damn hard. Especially when I have no idea of what I'm doing, hahahahahahaha.

Any tips, rainwarrior?

Posted: 2011-12-22 04:34  (Last Edited: 2011-12-22 04:39) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#27758
For the 2A03:

f = frequency in Hz
v = table value

v = (178977267 / (16 * f)) - 1

You can find whatever other info you need at: [url=http://nesdev.com/]http://nesdev.com/ (Or you can just reverse the formulas in the spreadsheet I posted.)

I'm not going to give any advice on how to make a scale though; that's a big topic.

Also for the change to the table is inverse what you put in Pxx, i.e. P7F means use the table value + 1. (For FDS it is backwards though.)

Posted: 2011-12-24 02:36 Reply | Quote
newbie2nobuo



Member for: 4168 days
Status: Offline

#27825
So, generally what do you use this data for? This is an area of sound/music that I just sort of brush over but I know it is probably more important than I think.

Posted: 2011-12-24 05:29  (Last Edited: 2011-12-24 06:17) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#27848
Tuning, if you care about it. That's really about it. Since FamiTracker doesn't have custom tuning tables, inspecting the pitch table and carefully applying Pxx is the only way to use other tuning systems.

Anyhow, equal temperament is pretty useful. Most people never try the alternatives, and that's okay. People have been putting Pxx commands in their NSF Import covers, but every NES game I know of actually uses equal temperament, they are just tuned to a slightly different pitch (i.e. not A-440), so I don't think that's really an interesting distinction to make.

The interesting things you can do are use other tuning systems, like just intonation, meantone, or other equal divisions of the octave, or a wide variety of other things. I've attached a really simple test of a true harmonic series. (Note the rock-solid waveform in the visualizer, rather than the usual fluttery thing you get with equal tempered chords.)

Edit: I've added a second pattern with the same thing in equal temperament so you can compare.


Posted: 2011-12-25 18:19 Reply | Quote
furrykef

Avatar

Member for: 5189 days
Status: Offline

#27918
I've always thought tracking programs should allow just intonation. After all, equal temperament is a compromise that makes real-world instruments easier to design and play, but does almost nothing to make computer music easier to compose. All that would be needed is a command to recalibrate the frequency table according to a certain note.

But I know such a feature will never be added to FamiTracker, so I'll settle for having a table of what Pxx commands to use for just intonation given the note to base the scale on. I'd put such a table on the wiki... only thing is I don't know offhand how to calculate the Pxx values.


Posted: 2011-12-25 21:56  (Last Edited: 2011-12-25 21:59) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#27930
Yeah, the only thing is there's not a whole lot of accuracy to play with. No matter how you slice it, the higher octaves are going to be roughly tuned, and this will stand out more in just intonation (maybe).

Posted: 2011-12-25 22:07 Reply | Quote
Fezuke

Avatar

Member for: 4004 days
Location: Le Gardeur, Quebec
Status: Offline

#27932
Interesting, but I prolly won't fool around with this too much. I knew something was wrong with VRC6, I kept thinking it was my ears failing me because I was spending too much time on Famitracker. What a relief lol.

_______________________
[url=http://soundcloud.com/fezuke/sets]My 8-Bit Soundcloud
[url=http://soundcloud.com/fezuke-2/sets]My Other Project Soundcloud
Posted: 2011-12-25 22:21 Reply | Quote
Jandazekon

Avatar

Member for: 4356 days
Location: Sweden
Status: Offline

#27933
Famitracker will not have microtuning applying just intonation to any song by simpy pressing one button and all notes are snaped to the pitch table?

Posted: 2011-12-26 05:39 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#27952
I don't know what the question is, but "applying just intonation" isn't something that can just be done with a button press in any situation. It requires a carefully chosen scale and a composition that uses that scale properly. A lot of music is written with the expectation that, for instance, D-sharp and E-flat can have the same meaning, but in just intonation they necessarily become different pitches, and you need to know which one you've got in your scale to use it effectively.

FamiTracker has always had microtonal tuning via Pxx but without knowing the pitch table there was no way to accurately apply it.

It might be nice to have an editable pitch table with a few functions for creating some commonly used scales w/parameters. It's not a feature I'd request, personally, since I doubt many will want to use it, and those who are gung-ho enough can get it via Pxx (or hack FamiTracker).

Page 1 of 2 Sort: Goto Page: [1] [2] Next >>