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
I decided to create a N163 wave amplifier after having an instrument that was to quite for a song I was arranging. Since adding support for FDS and volume envelopes wasn't difficult I added support for those in my program as well. Here is a simple explanation of how it works:
This program linearly amplifies the waves. Basically, I am running the waves through a function that changes the waves range from [a,b] to [c,d].
Waves go in to the long text box, or you can paste them there using the paste button similar to how you can in Famitracker. Once the wave is amplified it automatically clears the text box and copies the new wave to the clipboard.
There are two modes one for wave tables and the other for volume envelopes. There is a check box to switch between modes.
When in wave table mode their is an option to set the maximum and minimum range. This changes how much the wave is amplified. 0 minimum to 15 maximum is the default for N163 and 0 minimum to 63 maximum is the default for FDS. If you put a value in for the maximum and minimum range that is greater then what the N163 or FDS supports it will clip the wave. If these fields are left blank it will default to 0 to 15 for N163 and 0 to 63 when it detects FDS waves. A range other then default is currently not supported with volume envelopes but may eventually. If you want to get around this just set it into wave table mode to amplify your volume envelopes more then default.
In volume envelope mode it will amplify the envelopes to their maximum. This mode is slightly different then the wave table mode in that its range is from 1 to 15 or 1 to 32 depending on if it is a normal envelope or an FDS envelope. All zeros in the envelopes are kept at zero. This is done to avoid the possibility of values of 1 being rewritten as 0, which is a clear difference of having sound or no sound. It will only detect FDS volume envelopes if any part of the envelope goes past 15.
Lastly a little trick I found out is that if you invert the range, so in the case of the N163 if you made the minimum 15 and the maximum 0 you can invert the wave.
If you have any recommendations, that would be greatly appreciated. This is my first program I have written that hasn't been for school.
My only recommendation would be an addition mode and a mode to double or triple the period. Since those are the only other calculations I do when making the wavetable synths do more than 1 sound at a time
An example would be first using your tool to make the Triangle waveform into half volume: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Then the double period prcoess would be omitting every other value and repeating the 32-step sequence as 0 2 4 6 8 10 12 14 17 19 21 23 25 27 29 31 32 30 28 26 24 22 20 18 15 13 11 9 7 5 3 1 0 2 4 6 8 10 12 14 17 19 21 23 25 27 29 31 32 30 28 26 24 22 20 18 15 13 11 9 7 5 3 1
Then adding this wave to the half volume tri to get both the fundamental wave and its overtone playing together