AY music with digital samples - digital music in Pro Tracker.3 for General Sound.

AY music with digital samples
 by Alone Coder

Playing digital samples in the free time of the processor is not
presents difficulties. The idea to combine AY with General Sound
has also been known for a long time (although I don’t remember any releases). But still
for some reason there was not a single editor who allowed me to write
this kind of music.

Inspired by the requests of workers, I decided to implement such
option: added a special command (8snn) to Pro Tracker. B
field "s" contains the sample number, "nn" - note. (General Sound
plays only 3 standard Amiga octaves, notes are coded from
#24 to #4A.) If you use this command on channel A, then the sample
will play in the GS channel A. B - in B. C - in C. So in this
the editor produces 9 channels: 6 on AY (TurboSound) plus 3
digital. Of course, if you want to use music in
On an AY-only release, you can limit the channel selection.

Workflow in this experimental version of Pro Tracker
looks like this:

1. Prepare a MOD file with your samples (not looped).
2. Place it on TRD under the name "filename.i".
3. Launch Pro Tracker.
4. Load your MOD file into it (nothing likeas if not
will happen, but the samples will be loaded into General Sound).
5. Write music :)

Please note that if you do not load the MOD file, then General Sound
will hang on the 8snn team. This happens because GS'naya
The "Play FX" command does not work if the parameter is
a non-existent sample was substituted. Maybe I better clean up
all the samples when you start the editor? Write your ideas.

                             * * *

If we play music on AY and GS at the same time, we need
synchronize playback speed (frame rate on ZX) and
note frequencies (determined by the AY clock). The first one is not as important as
second, if we manually send each note to GS, but that’s all
It can also be noticeable if two samples need to be played in a row without
rupture. So we need to standardize these
meanings.

If I remember correctly:

48K: 50 Hz, 1750000 (AY there as an additional device)
128K: 50 Hz, 1773400
Scorpion/KAY: 50 Hz, 1750000
ATM Turbo: 50 Hz, 1750000
ZX Evo default: 48.83 Hz, 1750000ZX Evo 48K: 50 Hz, 1750000
ZX Evo 128K: 49.34 Hz, 1750000
Pentagon (f=14318000): 49.94 Hz, 1789750 (AY there as
 additional device)
Pentagon 2.6bbLE: 50 Hz, 1792000
Unreal Speccy default: 50 Hz, 1774400

Without a doubt, 50 Hz is the most popular frame rate option.
Many programs measure time using it. The main problem is with
shred AY. GS was originally developed for Scorpion and KAY, so
that it is logical to take the frequency from there - 1,750,000 Hz. Most likely this is
and would be the best option. ZX Evo can emulate 50 Hz+
1,750,000 in "48K" scan mode. Unreal Speccy can
emulate anything, its default frequency is AY anyway
does not correspond to anything, but the frequency is still 1750000 Hz
is present in the list. As for branded 128K, I haven’t heard of
GS was connected to them. So it seems like the only car where
there will be problems - this is Pentagon. What options might there be for
him? You can recalculate frequencies directly when recording them in
AY registers. You can change the frequency table, but then they will leave
Glides. You can tweak finetune in samples on GS, but then
adjacent samples will be glued togethera little different than expected.

If we play digital samples on the same AY, then we
it is enough to take into account the number of clock cycles in the frame - after all, AY is usually
synchronized with Z80. Pentagon is quite far from the ideal 70,000
clock cycles, 128K is somewhat closer, but not quite. Besides, maybe
turbo mode must be turned on... So our player must
measure the number of clock cycles in a frame and adjust accordingly
frequency table for digital samples

Share your thoughts about the article