VIC-TRACKER 2.0 released, loads of new features!

Basic and Machine Language

Moderator: Moderators

tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Post by tlr »

carlsson wrote:1. Tweakable note table, preferrably saved with song data. I'm sure you have produced the best sounding table for C major, but sometimes if you compose in a different key, things can sound a bit off. I've been struggling with finding the best frequencies for VIC-20 music since 1996, and it can be a pain sometimes to find the best combination of key and frequencies.
I agree. I always restricted my selection of notes more than you do, so it hasn't hit me as hard. :)
carlsson wrote: 2. Duplicate effect byte. To make an effect like arpeggio or portamento last through the note, the effect has to be added to each row of the note (++). If there is a key to copy the current effect byte into a buffer, and for every time you press SHIFT SPACE to get a ++ row, the effect byte will be added, it'd be a nice improvement IMHO. Press the same key to detoggle this feature.
Sounds interresting, noted!
carlsson wrote:3. Transpose pattern in pattern list? Not only copy-paste-transpose, but maybe it would be useful to reuse the same pattern in different keys.
I deliberately skipped this to keep the clutter down, but it could be useful in some cases.
carlsson wrote:I found that portamento + tie note yields a bit funny results in some cases, like the ending note is way higher than expected.
Could be... do you have an example of this?
carlsson wrote:Enough complaining, this is what I've worked on. It is a 3/4 cover of one of ABBA's hit songs, packed with arpeggios, some vibratos and glides.

http://www.cbm.sfks.se/files/MONEYMON.VT
Really cool! :)
I see what you mean about the frequency table. What I did was choose a key that worked best, and used that. If you want to tweak the table, I suggest you do that post-optimization in an assembler. I have it in the TODO list to make this table editable, but it's not the highest priority.
carlsson wrote:Then I tried to execute vtcomp under MinGW. I have all the required tools, and I managed to compile it, but it didn't execute well. It works in Linux though. This tool outputs an assembly listing, which I merged with the simple raster timing routines Marko wrote many years ago. Finally, I had to Pucrunch it to fit in unexpanded VIC-20. (don't clear screen)
I am glad you managed to run the song compiler, it more or less requires a Unix environment (cat/sed/perl). I put a lot of effort into it! Try '-v' for verbose info about what it does.
carlsson wrote:http://www.cbm.sfks.se/files/money.prg (PAL version)

I'm not sure how to do a NTSC version. Victracker has an option for a such play speed, and I can change the timing parameters for NTSC speed, but I don't know which to fiddle with.
The link is not working.
However if you just run: "vtcomp -v moneymon.vt moneymon.asm" it will produce both an assembly source file + the source and assembled version of a runner that handles running the song on a vic20, including the interrupt. Currently it runs in the native raster speed to emulate what would happen if run in a demo. It breaks if the song is too long in memory as it always tries to be compatible with an unexpanded vic.
It could easily be modified to run the originally intended speed. I should add a switch for that. :wink:
Anyway the interrupt routine for the editor is in "musiced/playersupport.asm" and the timer values are in "include/vic20.i"

Note: I saw that you use quite a few patterns, the maximum is $7f. Just so you know. :wink:
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Portamento + note ok: 1900 / ++14 / ++15 / 2900
Portamento + tie bug: 1900 / ++14 / ++15 / A900

Another thing; I define this vibratoish arpeggio:

A#00: 11 - 00 01 00 7F 00 00 00 00 / 03 - 00 00 00 00 00 00 00 00

Vibrato sounds ok: 1930 / ++30 / ++30 / ++30
Vibrato broken: 1900 / ++30 / ++30 / ++30

For comparison, a regular mode 0 arpeggio will sound ok even if it is initiated in the middle of a note.

Good that you mention the maximum number of patterns. I kind of assumed $FF, but $7F should be enough in most cases.

I'll look at the assembler output, compare with my old note tables and see if there is some improvement to be done. I found C# most "off", which I solved in one place by adding a command 61 - slow portamento down - at the note.

I might try the compiler in verbose mode to see why it didn't like MinGW's suite of cat, sed and perl. It was not clear which syntax to use, and I only found the assembly source afterwards.

Sorry about the link to the executable, it was meant to say

http://www.cbm.sfks.se/files/money-p.prg
Anders Carlsson

Image Image Image Image Image
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Post by tlr »

carlsson wrote:Portamento + note ok: 1900 / ++14 / ++15 / 2900
Portamento + tie bug: 1900 / ++14 / ++15 / A900

Another thing; I define this vibratoish arpeggio:

A#00: 11 - 00 01 00 7F 00 00 00 00 / 03 - 00 00 00 00 00 00 00 00

Vibrato sounds ok: 1930 / ++30 / ++30 / ++30
Vibrato broken: 1900 / ++30 / ++30 / ++30

For comparison, a regular mode 0 arpeggio will sound ok even if it is initiated in the middle of a note.
I'll check those... I've expected a few anomalies, but didn't see them myself.
carlsson wrote:I'll look at the assembler output, compare with my old note tables and see if there is some improvement to be done. I found C# most "off", which I solved in one place by adding a command 61 - slow portamento down - at the note.
You can always trigger a sound with a freq offset aswell. Neither is very efficient though.
carlsson wrote:I might try the compiler in verbose mode to see why it didn't like MinGW's suite of cat, sed and perl. It was not clear which syntax to use, and I only found the assembly source afterwards.
I'll have a look at the compiler to see if I can produce a more optimized output. I only tested it on my songs, so it's optimized for that. :wink:

One thing that costs a bit is that you set $58 in the first note of the volume track to set the initial speed. If you use the "spd" (initial speed) parameter ( F7/F8 ) instead the compiler can optimize away the whole volume track. Note that there is a bug in the resulting output file though. The initial volume is always $0f. I will fix this.

Also currently all the player variables are included in the memory block containing the music. I will make a switch to use something like $02a7 for this if desired at compile time.
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Ok. Regarding output volume, I always found maximum volume quite distortative (?) when one drives all four voices. At least in the VVV/VIMM and other demos, I used a volume of 8. Maybe 12 would do too, but the sound quality seems much worse at full volume. Perhaps it is only my VIC that has this problem. I have the 6561E chip, but I don't know if it is different from the more common 6561-101 chip.
Anders Carlsson

Image Image Image Image Image
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Post by tlr »

carlsson wrote:Ok. Regarding output volume, I always found maximum volume quite distortative (?) when one drives all four voices. At least in the VVV/VIMM and other demos, I used a volume of 8. Maybe 12 would do too, but the sound quality seems much worse at full volume. Perhaps it is only my VIC that has this problem. I have the 6561E chip, but I don't know if it is different from the more common 6561-101 chip.
It's the same on my vic aswell. I don't use as much polyphonic chords as you do, so it has not been interfering with my music as much. I fact I think it helps the sound of the drums in many cases. :)
Check the demo tunes on the victracker page for reference. They are sampled from my vic.
User avatar
amramsey
Vic 20 Hobbyist
Posts: 117
Joined: Sat Apr 14, 2007 9:38 pm

Post by amramsey »

Ok, this thread is pretty damn old but I can't resist. I've been playing with victracker tonite and this thing is seriously cool! But sadly my music skills are anything but. :lol: Thanks tlr!
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Old threads never die. :) I thought I never got the vtcomp program to work, but obviously I did. However I think the Sjamembi song brought up some interesting bugs when tlr tried to compile it.

By the way, the need for a more user friendly display still is there. Alas I'm overwhelmed by own projects, but an updated release of VIC Tracker either with a 26 column screen, custom font or something else that allows regular notes to be typed in and displayed might finally make people use it to its fullest.
Anders Carlsson

Image Image Image Image Image
User avatar
ral-clan
plays wooden flutes
Posts: 3702
Joined: Thu Jan 26, 2006 2:01 pm
Location: Canada

Post by ral-clan »

I agree. I hit a bit of a brick wall trying to figure out notes by Hex values.
User avatar
Pedro Lambrini
Vic 20 Scientist
Posts: 1132
Joined: Mon Dec 01, 2008 11:36 am

Post by Pedro Lambrini »

carlsson wrote:Old threads never die. :) I thought I never got the vtcomp program to work, but obviously I did. However I think the Sjamembi song brought up some interesting bugs when tlr tried to compile it.

By the way, the need for a more user friendly display still is there. Alas I'm overwhelmed by own projects, but an updated release of VIC Tracker either with a 26 column screen, custom font or something else that allows regular notes to be typed in and displayed might finally make people use it to its fullest.
I know that if I could input in a more natural format I would certainly make use of it. It's really frustrating having no coding skills whatsoever otherwise I would love to 'fix' this. :)
"...That of the Eastern tribe being like a multitude of colours as if a rainbow had settled upon its brow..." Daniels 1:3
Post Reply