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 > Bug Reports & Feature Requests > Feature Request: Full Volume Control of Saw Owner: Xyz_39808 New post
Page 1 of 1 Sort:  
Which style?
Keep even numbers only
31% ( 4 )
First style of Vxx
31% ( 4 )
Second style of Vxx
38% ( 5 )

Total votes: 13
Feature Request: Full Volume Control of Saw Posted: 2014-08-29 02:35 Reply | Quote
Xyz_39808

Avatar

Member for: 4180 days
Location: South Texas
Status: Offline

#61438
Currently, only even values are allowed in FT for VRC6 Saw but it's been suggested in the irc that there be this convention:
V00 = 00 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30
V01 = 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62
V02 = 01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31
V03 = 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63

For compatibility issues, it's also been suggested to handle that like new-style and old-style vibrato. And since new versions will be incompatible anyway, this style may also work
V00 = 00-15
V01 = 16-31
V02 = 32-47
V03 = 47-63

_______________________
"If thou art merry, praise the Lord with singing, with music, with dancing, and with a prayer of praise and thanksgiving." Doctrine & Covenants 136:28
Posted: 2014-08-29 08:05 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#61441
I like that the first suggestion is easily backward compatible by just applying a bitwise AND 1 on any existing Vxx commands in the saw channel of an old mod.

Might also generate a warning if values other than 0 or 1 appear in an instrument duty used by saw.


The second style is not very good. In that scheme the saw is severely quieted unless you use Vxx. It's easier to use the instrument if it has the most utility with V00.

Posted: 2014-08-29 08:17 Reply | Quote
Xyz_39808

Avatar

Member for: 4180 days
Location: South Texas
Status: Offline

#61444
The main reason for the 2nd style is because in the first style a fadeout from 63 to 0 would have a volume sequence of:
15 15 14 14 13 13 12 12 11 11 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 15 15 14 14 13 13 12 12 11 11 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0
But the duty cycle would look like:
3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

Which doesn't intuitively seem like a fadeout at all!

Posted: 2014-08-29 16:15 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#61448
Any use of Vxx for volume is counter-intuitive, though. I think the naive case of only using the volume column/macro is the important case to make intuitive.

The way to make full control intuitive is to change the volume column and macros to have a range of 64 instead of 16, not to control part of it via some external effect.

Posted: 2014-08-29 20:16 Reply | Quote
poodlecock

Avatar

Member for: 3398 days
Location: !wow
Status: Offline

#61452
[quote=rainwarrior]The way to make full control intuitive is to change the volume column and macros to have a range of 64 instead of 16, not to control part of it via some external effect.[/quote]
This would create a lot of problems for VRC6 instruments though =/

I very much agree on expanding the column for FDS, however. Or use Exx for FDS?

_______________________
"im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to." -omgdonut
Posted: 2014-08-29 20:28 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#61453
The Vxx effect was added as a workaround to allow access to the volume levels where the wave will wrap around, it was not meant for regular use.

The proper way to access the full volume range would be to expand the volume values to 6 bits, but that would make parts of the code more complicated, both in the tracker and NSF code. The reason it's designed as it is right now was to allow it to integrate easily with the rest of the channel's code.

Is there a particular reason you request this though? V00 and V02 in the first example will sound the same, I don't really see the point.

_______________________
Programmer and developer
Posted: 2014-08-29 21:18  (Last Edited: 2014-08-29 23:04) Reply | Quote
poodlecock

Avatar

Member for: 3398 days
Location: !wow
Status: Offline

#61454
I agree that it's really not audible, but just for completeness' sake...

EDIT: Aaaand it's tied =O

_______________________
"im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to." -omgdonut
Posted: 2014-08-30 02:02 Reply | Quote
Xyz_39808

Avatar

Member for: 4180 days
Location: South Texas
Status: Offline

#61462
To allow smoother fades and volume 1 for even more nuanced near-silences. Though the main reason is just because the chip allows it so I don't see why it should be impossible to execute in an nsf making tool

Posted: 2014-08-30 02:20 Reply | Quote
poodlecock

Avatar

Member for: 3398 days
Location: !wow
Status: Offline

#61464
[quote=Xyz_39808]To allow smoother fades and volume 1 for even more nuanced near-silences[/quote]
That would be amazing =O

_______________________
"im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to." -omgdonut
Posted: 2014-08-30 09:38  (Last Edited: 2014-08-30 09:38) Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4983 days
Location: Canada
Status: Offline

#61471
I'm in favour of more control over the VRC6 sawtooth volume for the same reason one might be against the removal of the N163 multiplexer hiss: "that's how the real hardware works, so that's how Famitracker should implement it".

A backward compatibility option in the module properties window would probably eliminate issues with modules created prior to the new implementation of VRC6 sawtooth volume. As for the implementation itself, short of a brand new 6-bit volume column, I think the second style proposed by Xyz would work well.

_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.
Posted: 2014-08-30 19:39 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#61474
But Famitracker doesn't violate what the real hardware can do in this case, it was done entirely for practical reasons. It's the same thing with FDS which has 32 volume levels, or the N163 pitch levels.

Anyway the first suggestion would be possible to add without breaking anything, but it would only work for the volume column level F, and it's also rather convoluted so I don't think it would be used much in practice.

_______________________
Programmer and developer
Page 1 of 1 Sort: