PT3 player

edited April 2010 in Development
Hello,

I need fast PT3 player. Can anyone advice if there is anything better than built in routine from VortexTracker?

BTW, I am having issues with PT3 player routine, music is completely wrong (notes, additional noises...). Same song compiled in VTX plays OK.
Post edited by omega on

Comments

  • edited March 2010
    I believe Gasman might have such routine, and Andrew Owen might have one as well. But I'm at work now and can't find you a link.
  • edited March 2010
    Bruno, wow, thanks!

    PS: You will be in the "greets" ;-)
  • edited March 2010
    I don't know of anything better, sorry - as far as I'm aware the Vortex routine is the best one available (although I can't remember whether speed is its strong point; compatibility certainly is).
  • edited March 2010
    Gasman: *wave*

    Omega: I've emailed Aowen to see if he or someone can help.
  • edited March 2010
    gasman wrote: »
    I don't know of anything better, sorry - as far as I'm aware the Vortex routine is the best one available (although I can't remember whether speed is its strong point; compatibility certainly is).

    Surely faster than old good SoundTracker 1.1 engine. :)
    ZX Spectrum 48K BEEPER Music:
    http://mister_beep.republika.pl/
  • edited March 2010
    I've recall there was few versions of PT3 player in electronic magazine 3bit - slow but compact, fast but larger, etc. Anyway, I don't think you have to care too much - the difference will be few thousands of T-states anyway. If you have problems with speed, you'd better to choose other way. For example, you could make optimized version of the player for your music (remove everything that is not used in your module), or you could convert your music into registers array and play it - blazing fast, even with some packing, but takes much more memory.
  • edited March 2010
    Shiru wrote: »
    I've recall there was few versions of PT3 player in electronic magazine 3bit - slow but compact, fast but larger, etc. Anyway, I don't think you have to care too much - the difference will be few thousands of T-states anyway. If you have problems with speed, you'd better to choose other way. For example, you could make optimized version of the player for your music (remove everything that is not used in your module), or you could convert your music into registers array and play it - blazing fast, even with some packing, but takes much more memory.
    Thanks Shriu, if this is the case, that other versions of the player are only +/- hundred of T cycles faster, then I would go with working routine from VTX.
  • edited March 2010
    I've just re-read docs from the VTII, and it says that the player included in the editor is universal one, which is most compatible, but it is slower than some other players (called 'standart') up to two times (peak load). No exact numbers were given, though.

    The other one I've found is slow but compact, it is 1742 bytes long, 5440 T-states overage, 8864 T-states in peak. Player from VT is actually slightly smaller.

    I've also found numbers in the PTTools, which includes players for PT2, PT3, and combined, and the numbers for PT3 player are 1720 T min (for some certain module), 9256 T max, and average is 5500 T.

    So seems there is no definitive answer which player faster. How much time you have for music? I'm almost sure there is no players for any tracker format with < 4000 T average time, and slowest player I recall was around 15000 T.
  • edited March 2010
    Shiru wrote: »
    How much time you have for music?

    Shriu, thanks again for your info. I have ~25k cycles for action. More I give to music, less action. In other words, I would like to minimize peaks, because all the rest is quite constant in timing.

    Can you send me those PT3 routines? I may test it and see what is the most usable for my case.
  • edited March 2010
    PTTools is here, seems that PT3 player is exactly the same as in VTII. Other players are in Alasm format, they need to be adapted to other assemblers. I've also was just given by faster one, but it highly relys on the Alasm macro features. I can export them as text, but it could be difficult to adapt them.
  • edited March 2010
    Shiru wrote: »
    PTTools is here, seems that PT3 player is exactly the same as in VTII. Other players are in Alasm format, they need to be adapted to other assemblers. I've also was just given by faster one, but it highly relys on the Alasm macro features. I can export them as text, but it could be difficult to adapt them.
    I sent you PM.
  • edited March 2010
    you test wiz-player T-states?, i not count the T-States of any AY-player, it can be use to create a review of many AY-players.
    , i make my own AY-player, but, no only play notes, can also, repeat n leves of bucles, memory modify, and many more (i find new commands).
    The memory modify, is to tell music to program, when repeat a bucle, finish a song, whitout intervention of programs, only music player, play a especial note can do this, all do you think whit this especial feature.
    The music creator, can make a music without think on this feature, only the game programer can insert some notes to make it, for programs, to sincronizate.
    The most dificult to implement it, is i am not a music, and only know a piece of solfeo, and implement a new command when i think a new feature.
    Allways bearing in mind T-States of cpu, size code, and size of music data, in others words, optimization, when i finish, i realease the code of routine, but i need also create a windows creator, to convert other AY files to my format, and part to insert memory modify to creators.
    I think memory modify, is a new level of AY-player for gamers or others programs to intercomunicate games and music, in new level of comunication in both direcction.
  • edited March 2010
    There is problem with comparing how much CPU time takes certain player - this is highly depends from the music. So to compare, the same music should be redone in all the formats.
  • edited April 2010
    to minimize peak, can delay some notes 1/50 second,and count down the t-states of one frame, but increace others.
    In a concert every music player play the same note at same speed, the MIDI send a noto to one instrumen at same time, but not at all instruments at same time, it make a sending data, one by one, the player can make this, and the music can be lees distinguible betwent a human music player and a machine musuc player (in teory) no all people play notes at same speed, and the same lengt of each note, play one note and later other note to other channel can make this, but perhaps need more cpu timing.
    Other thinking idea, is play one note at 1/50 speed, and play all precalculate notes at time, but in other frame at 4/50 = 750bps, it distributed the time of music player in a lot of frames, and play all 3 channels at same time, but more slowly.
    is easy to make a variant of mix this two feature. I planed to play sond at this speed for a game at 12.5 fps, but ony in 1 of 4 frames.
    IA1+IA3 - IA2+IA4 - Render+IA3 - AY+rest_of_render+IA4
Sign In or Register to comment.