New Oric Music Tracker AYT (Supersedes Audio Tracker)

This forum is about audio tools, including samplers, sound trackers, sound chip editors, how to do sound effects, etc...
User avatar
Chema
Game master
Posts: 3013
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

waskol wrote: Sorry to be so dumb :roll:
- Which input ? the vortex sample or the "screenshot" ?
- I even wonder if it is possible to take the input file and create directly the Oric exe !
Sorry for not being clear (as usual). I mean taking the "saved as text" file that the Vortex Tracker outputs and process it with a PC program.

I suppose you can directly create the Oric's exe, but I'd prefer to get the asm output, so I can integrate it in my own program :)

Anyway you can allways automate it with a .bat file... The real question is if it could be possible or I am missing something.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Chema wrote:Could it be possible to write a program (for PC, I mean) that takes this input and "compile" it in a format that is readable by an Oric player? This way we could have a player in asm sources. Add the output file (also a source in .byt format, for instance, whith some labels) and use XA to create an Oric executable which will load and play the tune.
Now that was the very thing i tried to achieve a few years back. I took the text file that can be generated by Vortex and tried to import it but had problems. I can't remember what the problems were though, sorry.
I did figure out that the ornaments are stored in two's compliment and that i was playing the game GTA San Andreas at the time (haha umm.. why do i distinctly remember driving around in a monster truck whenever i remember Ornaments in Vortex, hmmm very strange).

Anyway, there is a good breakdown of those sample lines in the documentation that comes with Vortex Tracker. In English as well.

As for formats, i am putting them up on ayt wiki in formats section, so be patient. Please note that the formats given are for the flat file rather than the compiled format. Ideally we might consider using the compiled format but it was so much easier writing AYT in flat file format.
User avatar
waskol
Flight Lieutenant
Posts: 414
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol »

Well, yes, it is completely possible. I just need to know how to translate this text file into asm. algorythmically speeking.
MOre over, it should be, from that, pretty easy to integrate the asm output feature directly into vortex :)
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

The AYT formats are now online here..
http://wiki.defence-force.org/doku.php? ... _technical

Could someone please raise a new forum thread for a Vortex Tracker Oric Player since its not related now to AYT (unless i feel devious enough to right an importer or exporter for AYT). :P

I really think AYT format is much more powerful than Vortex. The trouble with Vortex is that it is designed around the ZX Spectrum which has a fixed 50Hz interrupt (VBL). Not a problem for alot of songs but the Oric does have programmable interrupt frequencies allowing it to play digidrums, sid and all sorts of groovy Atari-esque sounds.

For example i could conceivably import Vortex tunes into AYT but importing AYT tunes into Vortex would be impossible for some stuff like more than 3 tracks :P

Incidentally if anyone is interested the full source code for AYT Tracker (Editor, play routine, compiler thus far) can be found here..
http://www.defence-force.org/ftp/forum/ ... v0.002.zip

This does represent the most up to date AYT, which includes fixes mention for 0.002 in the downloads page of AYT on wiki.
The parent source file is driver.s which then #includes to every other file used. I made sure lots of remarks in code this time :P
User avatar
Chema
Game master
Posts: 3013
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Twilighte wrote: For example i could conceivably import Vortex tunes into AYT but importing AYT tunes into Vortex would be impossible for some stuff like more than 3 tracks :P
That would be indeed a very nice idea! This way people could import their tunes or the basics for a tune and then use AYT for testing/tunning :)

I have been taking a look at the format of the Vortex Output in txt format and it does not seem too complicated once you start to understand its notation...

Anyway, as you said, it is better to move this to another forum... if there is enough interest.

Cheers
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

I have moved the vortex stuff to the Vortex Player forum which was an old 2007 thread here..
http://forum.defence-force.org/viewtopic.php?t=308

One final note on the Vortex stuff..
Chema wrote:The rest is similar, so that the saved data seems equal to what you see on the screen:
You seem to be making much more headway than i did. I guess i got confused because i read into the russian docs a bit too much.
Is that data for a PT3 file?
User avatar
Chema
Game master
Posts: 3013
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Twilighte wrote:I have moved the vortex stuff to the Vortex Player forum which was an old 2007 thread here..
http://forum.defence-force.org/viewtopic.php?t=308

One final note on the Vortex stuff..
Chema wrote:The rest is similar, so that the saved data seems equal to what you see on the screen:
You seem to be making much more headway than i did. I guess i got confused because i read into the russian docs a bit too much.
Is that data for a PT3 file?
Not sure. It seems the tracker imports several formats and use this text description for all of them, while the PT3 format is the output when compiled.

The text files are just a mere copy of the contents of the editor windows with some extra info, but I think they are quite easy to follow. For instance ornaments are just lists of +x where x are increments in semitones (talking by memory) and they are stored as such. Patterns and other stuff follow the editor notation, except the "L" which does not mark the end as I stated but where the destination of the loop (which seems to be allways present).

For what I read of AYT (not too much, I confess) your format is way more flexible, so it shouldn't be difficult to convert.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

AYT Version 0.02 now released here..
http://wiki.defence-force.org/doku.php? ... t_download

See link on page for fixes

Also available now is very early version of converter from Vortex Tracker. Don't expect too much because i know it crashes in AYT on the test piece i used.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

AYT Version 0.03 now released here..
http://wiki.defence-force.org/doku.php? ... t_download

See link on page for fixes

Also available now is next version of converter from Vortex Tracker. Don't expect too much because i know there are still issues with EG and Effect conversion.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

The problem with the vortex tracker is that it is not the exact same format as the AYT tracker. There are some big differences that make it a tad difficult to do a direct conversion..

Vortex Samples
Each Sample row permits a pitch offset between -4095 to +4095.
AYT permits a pitch offset between -25 to +25. One can achieve a greater span through note offsets.

Each sample row permits changes to the Tone, Noise and EG flags.
AYT does provide these switches but with extra tracks dedicated to Noise and EG values, they take priority control over Noise and EG bits.

Each sample row permits changes in Noise or EG offsets in the range -31 to +31 and -4095 to +4095.
AYT provides similar but less range and with tracks dedicated to Noise and EG they take priority control of these elements.

Vortex Ornaments
Vortex provides sequences of note variations over time (arpeggio) but AYT does not provide these. Instead these are provided in the Effect.

Vortex EG Pattern column
Vortex provides a column for the setting of EG up to 65535 but AYT only permits 0 to 60. Version 0.3 does allow a bigger range by using Track H command pattern to set between 0 and 4095.

Vortex EG
The EG or Envelope Generator, Vortex music usually utilises it as a wave generator and the values the 16 bit period is set to is based on the 1.77Mhz AY clock frequency of the Spectrum. Any converted tune must convert the value to the Oric 1Mhz. These means a mutliplication of about 0.565 which means a definate loss in resolution at higher frequencies.
In Vortex2AYT.exe converter this conversion is always performed.

Vortex Pattern Notes
Vortex allows a note range of up to 96 in a single pattern but AYT only goes to 60 notes. Because AYT has 64 Effects the converter deals with the bigger range by setting the effect to +32 for notes beyond C-5. The Effects over C-5 would then be set to increment the note by 5 octaves at the start thus achieving the bigger range.

I still stand that AYT is more flexible and powerful than Vortex because it supports 8 tracks, sharing and a more logical split of AY musical elements, but i do agree it does make conversion of popular tracker music (beyond just the notes) more of a pain. :P
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

AYT List allows one to rest patterns on tracks so when you enter the Pattern editor, a mixture of rested and active patterns are shown.

The highlighting of Tracks in the Pattern Editor is becoming more and more significant now so i need a decision made on the most logical way to handle copying across rested tracks.

Take this scenario..

The following pattern has active tracks (a) and rested tracks (-)..

Code: Select all

ABCDEFGH
aaaa-aaa
If i copy Tracks DFG then paste to A would one expect the tracks ACD to be pasted or ABC since E was inactive?
User avatar
Symoon
Archivist
Posts: 2301
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Post by Symoon »

Twilighte wrote: The following pattern has active tracks (a) and rested tracks (-)..

Code: Select all

ABCDEFGH
aaaa-aaa
If i copy Tracks DFG then paste to A would one expect the tracks ACD to be pasted or ABC since E was inactive?
Dumb question:
You mean you copy DEFG, E being inactive, right?
Then I'd vote for paste ABCD, B being inactive. In other words, paste exactly what you copied.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Symoon wrote:Dumb question:
You mean you copy DEFG, E being inactive, right?
Then I'd vote for paste ABCD, B being inactive. In other words, paste exactly what you copied.
Well not exactly, Because E is rested it should ideally not be navigatable, so moving right from D will land cursor in F.
Pasting the exact way you mention would not paste an inactive track, it would just not paste anything in B.
MooZ suggested the opposite. i am resistant to support both since that would require too much extra work.
User avatar
Chema
Game master
Posts: 3013
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Twilighte wrote:
Symoon wrote:Dumb question:
You mean you copy DEFG, E being inactive, right?
Then I'd vote for paste ABCD, B being inactive. In other words, paste exactly what you copied.
Well not exactly, Because E is rested it should ideally not be navigatable, so moving right from D will land cursor in F.
Pasting the exact way you mention would not paste an inactive track, it would just not paste anything in B.
MooZ suggested the opposite. i am resistant to support both since that would require too much extra work.
Mmmm... I think I got it. I'd say paste what you select for paste. That is, if you select (imagine you are highlighting) D, then E is not highlighted, because it is inactive, then F then G, you have DFG selected. If I copy that and paste it I would expect to have DFG at that position, so overwriting ABC.

It is confusing because you are avoiding the selection of the inactive track, but I won't "jump" over B just because there was something inactive (and which I did not select) at that position.

In any case if I was using the program I would avoid doing that as soon as I notice I cannot select the inactive track. I would do first D and then FG. That from the user's pov, of course.

Anyway nothing of ultimate importance, I'd say.

Cheers
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

I agree with Chema. Each track has no special assignment (apart from the last Track H which can be assigned as a command pattern) so if you ever have a rested track between two active tracks you might aswell move the inactive track to the inactive group.

Thanks Chema, you've made me see some better sense of the two options. i will make the changes.
Post Reply