Jump to content

Photo

TIATracker: A new sound routine and sequencer application

music audio tracker sequencer

106 replies to this topic

#51 Vuurniac OFFLINE  

Vuurniac

    Combat Commando

  • 8 posts
  • Waveform rider
  • Location:Hungary

Posted Wed Jun 29, 2016 3:54 AM

This may not have been brought to your attention, or the problem might be unique to my system, but every time I attempt to name my instruments it crashes tracker. Usually I have enough time to hit maybe 3 keys before the collapse...


Edited by Vuurniac, Wed Jun 29, 2016 3:54 AM.


#52 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 23,931 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Wed Jun 29, 2016 6:30 AM

Anything special with your system? It might help to know some details.



#53 jbaudrand OFFLINE  

jbaudrand

    Space Invader

  • 40 posts

Posted Sun Jul 3, 2016 6:15 AM

Hi Kylearan, thanks for making this tool. We are just start trying your tool:

How can I change the font size? I'm using a 4k monitor and like a lot of other software (lightwave...) it's very difficult to read.

Could you add a player for users of Batari?

 

Our actual project:

www.drakhansnight.com



#54 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 23,931 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Sun Jul 3, 2016 8:06 AM

Nice project you have there. :thumbsup:



#55 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Tue Jul 5, 2016 5:21 AM

This may not have been brought to your attention, or the problem might be unique to my system, but every time I attempt to name my instruments it crashes tracker.


That's indeed something nobody else ever reported, not even close, so it might be related to your system. What system do you have?

#56 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Tue Jul 5, 2016 5:32 AM

How can I change the font size? I'm using a 4k monitor and like a lot of other software (lightwave...) it's very difficult to read.


Unfortunately you cannot change the font size. :( I realize that's a problem for users of 4k monitors, but the development overhead to implement this is too big for such a small hobby project for me, sorry about that!
 

Could you add a player for users of Batari?


I don't know batari Basic and have no idea if it could be done, but would be happy to try. Is batari Basic still maintained?

#57 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Tue Jul 5, 2016 6:45 AM

[...]if I opened a project file first then hit new, made a track...


Turns out it wasn't a critical bug after all. "New song" forgot to clear the meta-data (author, name, comment, pitch guide) so it carried over to the new track, but no old data was ever overwritten. I've fixed this in the repository already but will wait with the release until some other features are finished.

#58 jbaudrand OFFLINE  

jbaudrand

    Space Invader

  • 40 posts

Posted Tue Jul 5, 2016 1:38 PM

visual batari basic is not updated since 2014, batari basic is old too, but RevEng seems to add new kernel and he is probably the person to contact for adapt the player.

Unfortunately, we don't know how to deal with asm...

 

Thanks for reply for the 4k font, I'll change my glasses ;)



#59 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 23,931 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Tue Jul 5, 2016 3:13 PM

Thanks for reply for the 4k font, I'll change my glasses icon_wink.gif

...or resolution. ;)



#60 Vuurniac OFFLINE  

Vuurniac

    Combat Commando

  • 8 posts
  • Waveform rider
  • Location:Hungary

Posted Wed Jul 6, 2016 11:07 AM

I don't think there's anything special here, I'm running a 64-bit Windows 7 OS, so there should be no issues there...

But anyway, here's my new song... once I figure out how to work with the overlay percussion instruments I might add a few hi-hats to Channel 2:

https://soundcloud.c...music-solid-gas



#61 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 23,931 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Wed Jul 6, 2016 11:21 AM

Very nice.

 

Would you mind to post the .ttt (or .asm) files? Analyzing how you use the features will help improving and optimizing the tracker.



#62 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Wed Jul 6, 2016 11:59 AM

I don't think there's anything special here, I'm running a 64-bit Windows 7 OS, so there should be no issues there...


That's really odd. I'll try to find a Win7 64 bit machine for some more testing, as I'm unable to reproduce the problem here or see any issues in the relevant code...
 

But anyway, here's my new song... once I figure out how to work with the overlay percussion instruments I might add a few hi-hats to Channel 2:
https://soundcloud.c...music-solid-gas


That's really nice! I like VCS tunes with longer notes; a lot of tunes only have very short "blib" sounds in their melodies, probably so they can stuff in more drums and bass in the same channel. Yours is different, and good!


In other news, I've squashed another bug that occured when you hit "play" and had non-aligned patterns. I've also reworked the replayer thread in the tracker which should be much more precise now and produce no more jitter, i.e. the sound should be much closer to how Stella sounds on slower machines. And finally, I've added the option to export to .csv, which I need for syncing demo effects to music. It's only in the repository right now; I'll release a new binary version in a couple of days when I've finished the ability to export to k65.

#63 Mr SQL ONLINE  

Mr SQL

    River Patroller

  • 2,068 posts

Posted Tue Jul 12, 2016 6:29 PM

 
I don't know batari Basic and have no idea if it could be done, but would be happy to try. Is batari Basic still maintained?

 

This example from vwBASIC might help give you some ideas for the api:

 

Two Tracker variables are exposed to give fine grain control to BASIC - sequencing (MUSICINDEX) and tempo/envelope (SUSTAINFORFRAMES).

 

If BASIC does nothing, the Tracker will loop the first chiptune.

 

BASIC can point the Tracker to any subtune or pattern within a subtune, and alter the tempo and envelope of the sound.

 

The previous BASIC Tracker demos I posted using only the sequencing variable had the characteristic short blib sounds.

 

This example uses both variables to more fully illustrate the API - the button changes the tempo/envelope setting and holding the joystick in a direction repeats a single pattern and selects a target subtune when you let go:

 

Attached File  BASIC_sequencing_tempo_and_envelope_example.bin   8.25KB   138 downloads

 

1 rem --- **********************************************************

2 rem --- sequencer tempo and envelope control in BASIC: *

4 rem --- **********************************************************

5 rem ---gameloop subroutine, runs every frame: ---

7 rem ---gameloop2 subroutine, runs every frame: --

8 rem ------------------------------------------------

10 if joy0right=1 then MUSICINDEX=45:rem Tracker index variable

20 if joy0left=1 then MUSICINDEX=75

30 if joy0up=1 then MUSICINDEX=160

40 if joy0down=1 then MUSICINDEX=77

60 loadplayer0(0):player0x=MUSICINDEX:player0y=MUSICINDEX*2

80 f=f+1:rem framecounter

90 if r>0 then SUSTAINFORFRAMES=SUSTAINFORFRAMES+1:r=r-1 else r=s

100 if f<10 then return:rem only accept button press every 10th frame

110 f=0

120 if joy0fire=0 then return

130 s=s+1: rem slide delay (incremental)

140 if s=>12 then s=0

160 r=s

170 i=r*8:loadplayer1(i):COLUP1=200:vwpixel(7,3,bindplayer1)

 

chiptunes

8, 24, 8, 20, 8

10,24, 10, 20, 8

6, 5, 4, 12, 5

12, 9, 12, 7, 4

8, 24, 8, 20, 8

10,24, 10, 20, 15

8, 24, 8, 20, 8

10,24, 10, 20, 8

0,0,0,0,0

 

etc...



#64 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Wed Jul 13, 2016 3:21 AM

TIATracker version 1.1 is finished, fixing some bugs and adding new features:

  • Improved timing precision of the tracker replayer. It should match what you hear in Stella now even on slower systems.
  • Added ability to export the VCS player and song data to K65.
  • Added ability to export song data to .csv (I need this for syncing music and demo effects).
  • Fix: "New..." now properly clears meta-data (author, name, comment, used pitch guide).
  • Fix: "Play" in the tracker with channels having varying pattern lengths now starts replay at the correct position for channel 1 and no longer crashes.

I've updated the first post with the new version.

 

Also, yet another demo using TIATracker for music has surfaced. :)



#65 Vuurniac OFFLINE  

Vuurniac

    Combat Commando

  • 8 posts
  • Waveform rider
  • Location:Hungary

Posted Sat Jul 16, 2016 1:39 PM

Hey, I have tried my luck with the new release and I think I'll have to go back to the beta because although the skipping is a lot more consistent now, this resuts in certain frames of the envelopes just completely not existing. Like let's say I have a basic instrument with two entries: 5 15. Ideally when I let go of the key it should make a pop at volume 15 and then stop, but the 15 entry is NEVER played. Just never. Similar things happen with percussive instruments, now the first frame of every percussion instrument just does not happen, and TIAtracker is still nowhere near to using all the CPU time of my computer. So I would love to test this more and make some more music with it but sadly I can't. :(



#66 gotoandplay OFFLINE  

gotoandplay

    Combat Commando

  • 2 posts

Posted Wed Jul 20, 2016 4:57 AM

Thanks for this software! It's definitely an improvement on my older methods, in terms of sound engine capabilities.

 

I thought I'd also share the song I made using tiatracker for the recent battleofthebits 'summer chip VI' compo;

 

https://www.dropbox....el ifs.bin?dl=1

 

 

I'm glad to hear that playing patterns of two different length (or 1 pattern on the left only) no longer crashes the program for version 1.1! That happened to me a lot.

 

By the way, is there a copy/paste function that I'm missing somehow? I can duplicate a pattern, but not a subsection of notes within a pattern.

I also have a suggestion for the release mechanism for some of the instruments - sometimes I want an instrument to go through the release envelope as soon as it is played, rather than wait for the next row to be given a note release command (as I might want to use that space for a different note). Could there be a setting within the instrument editor that would allow that?

 

 

 

 


 



#67 MacrosCode OFFLINE  

MacrosCode

    Star Raider

  • 55 posts
  • Location:Europe, South of Germany

Posted Wed Jul 20, 2016 6:39 AM

The more I read at AtariAge the more I am shocked (in a positive way):

Never expected that there exist trackers for this platform! :-o

 

What about a port of fast tracker? :-D No just kidding!

 

 

@Kylearan:

Any plans to go a step further and manipulate the sound registers more often (or even each scanline) to create new effects?



#68 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Thu Jul 21, 2016 2:31 AM

By the way, is there a copy/paste function that I'm missing somehow?


No, unfortunately not. :( I'm aware that copy/paste (and undo/redo) are very basic functions we expect all programs to have, but this project was big enough as it is already and I had to cut out some things to be able to finish this at all in a reasonable amount of time.

It's definitely on my list of things to add in the future, though. :)
 

I also have a suggestion for the release mechanism for some of the instruments - sometimes I want an instrument to go through the release envelope as soon as it is played, rather than wait for the next row to be given a note release command (as I might want to use that space for a different note). Could there be a setting within the instrument editor that would allow that?


Having the same instrument sometimes start in attack/decay and sometimes in release is not possible [without a major overhaul], as I don't have any bits to spare to specify this in a row - the data format is very size-optimized. ;)

But if you are willing to create two different instruments for that, it should be possible. I think I could add an option in the instrument editor that specifies if that instrument should start in Release mode or not. Would that work for you?

#69 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Thu Jul 21, 2016 2:39 AM

What about a port of fast tracker?


:P
 

@Kylearan:
Any plans to go a step further and manipulate the sound registers more often (or even each scanline) to create new effects?


I had thought about that, something like C64 multispeed tunes (2x, 4x, 8x register updates per frame). But a musician told me that this would not be that useful on the VCS as you don't have a lot of meaningful parameterts to update, like filters on the C64 and so I've dropped the idea for now.

Updating each scanline is certainly possible and actually has been done already, but that's out of the scope of TIATracker and you'd need a dedicated player for that. :)

#70 gotoandplay OFFLINE  

gotoandplay

    Combat Commando

  • 2 posts

Posted Thu Jul 21, 2016 7:39 AM

I think I could add an option in the instrument editor that specifies if that instrument should start in Release mode or not. Would that work for you?

 

That would be perfect :)



#71 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Sat Jul 23, 2016 3:25 AM

Alright, will add that when I'm back from vacation, first week of August. This should require no change in the VCS player code and only small changes in the tracker and so should be quick to add. (Famous last words...)

#72 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Sun Jul 24, 2016 4:06 AM

I think I could add an option in the instrument editor that specifies if that instrument should start in Release mode or not. Would that work for you?

That would be perfect :)


I've just realized that I don't need to add that feature after all - you can already do this in the current version via other means. (My brain works very slow when I'm on vacation. ;))

Simply model the envelope you want to hear once in the attack/decay phase instead of the release phase, and set the volume in the sustain and release phases to 0. That way, the envelope gets played immediately and exactly once.

There's actually an example instrument in the "instruments" folder called "Pizzicato bass.tti" that implements this idea. You can see how it works there.

#73 jbaudrand OFFLINE  

jbaudrand

    Space Invader

  • 40 posts

Posted Sun Jul 31, 2016 6:10 AM

I'm trying to make a shorcut cfg with note pad and it does'nt work: When I try to use the new one, all the keyboard doesn't work. Does anyone have succeed this?

 

edit: got it, it's broken when I type """ because on azerty the " key is the 3 key of the german keyboard.

any idea how to fix it?


Edited by jbaudrand, Sun Jul 31, 2016 6:23 AM.


#74 Kylearan OFFLINE  

Kylearan

    Chopper Commander

  • Topic Starter
  • 210 posts

Posted Mon Aug 1, 2016 1:30 AM

I'm trying to make a shorcut cfg with note pad and it does'nt work: When I try to use the new one, all the keyboard doesn't work.


If after editing keymap.cfg the shortcuts no longer work then that means that the structure of they .cfg file is no longer valid and TIATracker fails to parse it. (Right now TIATracker fails silently and does not alert the user to this; I've now made a ticket to change that. :) )
 

it's broken when I type """ because on azerty the " key is the 3 key of the german keyboard.


The " character is a special control character which you have to escape. Either use "\"" or "Shift+3" to make it work.

#75 jbaudrand OFFLINE  

jbaudrand

    Space Invader

  • 40 posts

Posted Mon Aug 1, 2016 5:30 AM

Ok, So I used this trick instead: you must use CAPS lock when using TIAtracker with an  azerty keyboard.

Here's the keymap file (just rename it "keymap" to use it)

 

 

any hope for a batari player?

Attached Files







Also tagged with one or more of these keywords: music, audio, tracker, sequencer

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users