Did you ever wonder how such artists created this or this sound? How could an AY or a YM produce such a beautiful noise from 3 simple channels? Well, the answer is now within reach.
The streamed music analyzer (SMA) is a tool which loads streamed-music such as YM (a format created on ST by Leonard/Oxygen) or VGM. These consists of a stream of PSG frames, which make them very easy to read and play (but their memory footprint makes them all the more difficult to use on the real hardware without resorting to clever compression).
Once loaded, the SMA allows you to play the song, and even better, extract part of it into Arkos Tracker instruments! You will now know the secrets of all these musicians you’ve admired!
Getting the music
First of all, you must get hold on YMs or VGMs. The latter is a widely known format in the arcade community, so it’s very easy to get a such files, though actually less on the PSGs we’re using.
As for YM, you can get a whole archive here (Atari ST). You can also use an emulator (such as ACE-DL or Winape) to record the music of a production and load it back into AT.
Loading a song
Once you have your music, open AT and the Tool > Streamed music analyzer.

As the text indicates, you can either drag’n’drop the file onto the windows, or open use the Load button. Once loaded, the window will look like this:

There are several parts, explained right below.
The play part

The Play button is pretty self-explanatory. It will play the whole song, or the loop if it is activated (see below about it). The two arrows will move to the previous or next frame. You can move the cursor with the mouse to reach specific parts of the song, but the range is limited by the loop, if activated. On the far-right is the number of the currently played frame, and how many there are in the song.
The loop part

The loop is crucial to listening to the exact part you want to analyze or extract. If disabled, you are free to explore the song within its limit. However, once the loop is enabled (far-left button), only the loop is played.
The “Loop now” button is very handy: it sets the start/end of the loop around the currently played frame. My advice on how to use it is play the whole song (i.e. without the loop on), and whenever you hear a sound you want to analyze/extract, press “Loop now”. It automatically turns the loop on. This is particularly efficient to capture a drum or a short sound.
The icon on the right, dubbed “locked length”, will make sure, once enabled, that changing the start also shifts the end accordingly.
The speed/channels part

A speed of 1 is the original speed. This is nice to listen to the song or reach the part you’re interested in, but often you will want to slow things down to understand what is going on. Using a higher number will slow the replay down. This has no effect on the export.
The numbered toggle-boxes on the right mutes/un-mutes the channels. This has two uses:
- Listen to a particular channel to better understand its secrets.
- An export is done only from one channel only, that is, the one remaining channel that is on.
The registers part

This is a highly technical part, the one that may hurt your eyes at first! It shows in real-time the currently played PSG frame, encoded in the loaded format. Note that this is a raw dump: many YM/VGMs contain useless bits, probably because the player on the hardware was strangely coded!
Use the PSG slider to select a PSG, but know that YM music have only one, the VGM only 2 (for AY/YM. It may contain more with other PSGs, but they will be discarded).
Understanding these raw values require a documentation of the AY/YM, which is easy to find in this day and age, but not mandatory to extract the sound that picked your interest.
The export part

You have targeted a range you want to export, to use it in your song or analyze it further in the instrument editor.
Before pressing Export, enter the name of your new instrument. Then, check the output PSG. It is automatically set on the PSG that was pointed by the cursor in the Pattern Viewer. Most of the times, it is a single PSG, but if you’re working on a multi-PSG song, it has its importance, especially on such hardware as PlayCity, as the two additional PSGs can have a frequency up to 2Mhz, so different from the original one. Playing a sound on a 1 Mhz PSG may sound different, all the more when exporting as fixed periods, as explained just below.
There are two types of export:
- Encode as fixed periods: the generated instruments will use hardcoded periods: it means that you will always hear the same sound regardless of the note you enter. This is handy for drums, as you can trigger them, and use the transposition of the track. It will be applied to all the instruments, except these hardcoded-period sounds! Warning, there is a drawback for such sounds: they will sound different from a PSG to another if their frequency is different! Hence the use of the Output PSG setting. A period of 239 is a C-4 on a 1 Mhz PSG, but a C-5 on a 2 Mhz PSG!
- Encode as notes: the periods are all using the “automatic” setting of AT. If a period is not an “official one” (say, a C-4 but slightly higher or lower), a pitch is also added. This setting is relevant for melodic sounds. It can even convert arpeggios!
Last options
The “Export to CSV” button is useful to examine the data with your favorite CSV reader, such as Excel or VSCode. It is also useful to export them back into another format of your own.
One last option worthy of note is that if you close the window, opening it back will load the song where you were, with the loop parameters loaded. This is convenient after you’ve exported an instrument, want to tweak it, then go back to plundering the same YM.