Inferno #07
31 мая 2005
  Музыка  
  Софт  

Sound - Eden Megus'a about the tracker for the AY / YM.

<b>Sound</b> - Eden Megus'a about the tracker for the AY / YM.
            Megus'a ideas about the tracker for the AY / YM

        with the application further discussion of these ideas

                Alone among Coder'om and Megus'om.


   It should be clarified that this concept was originally 
developed to the editor on the PC, and playing on ZX should be 
implemented not how it happens in PT3 (module notes), and 
approximately as in the demo Stellar Contour (music translated 
by the compiler in the register array AY, which is then 
compressed by some not very difficult to unpack the method). In 
this case, can be realized summons more options for editing.



                         Vortex Tracker

- Number Patterns ................... 255 (0-254)
- Number of positions ..................... 256 (0-255)
- Number of samples ..................... 255
- Number of ornaments .................. 255
- Maximum length of the sample .............. 256
- Maximum length of the ornament ........... 256
- The length of the pattern ......................... 1-256
- Range rate ......................... 1-255


                       * Header fields *


     Text boxes:
- The title track (Title)
- By Arrangement (Artist)
- Date of writing songs (Date): MM-DD-YYYY
- Where was used track (From)
- Tracker, which made the composition (Tracker)
- The platform on which made the composition (Platform)
- Comments (Comment)

     Information fields:
- Type of chip: AY / YM
- Clock chip
- Frequency of interruptions
- Mode Stereo


                           * Samples *

   The maximum length of the sample - 256 frames.

   Sample has a name longer than 16 characters.

   The description of each frame are given in the following 
fields: 

  1. Changing the period in units of the period (2047 -2048 
¡The); 

  2. Period of noise (0 ¡The 31)

  3. Volume (0 ¡The 15)

  4. Changing the period of the envelope (-128 ¡The 127);

  5. Mask: TNE - tone / noise / envelope

  6. Flags:

    a) The addition of volume control: +1 / -1

    b) change the period relative to the base tone / tone of 
the current; 

    a) change the period of noise about 0/tekuschego values;

    d) change the period of the envelope attributes. database / 
current period. 

   Option add volume at the beginning of play has
value of 0. Value range: -15 ¡The 15. This parameter
added to the volume specified in the sample (with compensation 
re execution in both parties!). Checkbox control adds / 
subtracts unit of this parameter.


   In the samples can be given 2 cycles. When you receive the 
command RLS (release) cycle is interrupted as follows: the loop 
cycle see out to the end and goes on playing until the second

cycle. The second cycle command RLS is not interrupted, and in 
fact means the end of the sample. If given only one cycle, then

He is considered the second and the team of RLS is not 
interrupted. 


                         * Ornaments *

    The maximum length of ornament - 256 frames.

    The ornament has a name longer than 16 characters.

    The description of each frame are given in the following 
fields: 

   1. Changing the period of tone in semitones (-64 ¡The 63)

   2. Changing the period of noise (-15 ¡The 15)

   3. Changing the period of the envelope (-128 ¡The 127)

   4. Flags:

    a) change in tone relative to the base / current tone;

    b) a change in noise relative to the base / current noise.

    a) a change in the envelope attributes. database / current 
period. 

   Ornaments define the change in semitones relative. the base 
tones on each frame. In the ornaments can be 2 cycles. The 
mechanism of the RLS team is similar to its work samples. If 
you specify a cycle, then the handling of this case is also 
analog. processing of samples. 

   To realize the relative changes of tone, noise and the 
envelope easiest thing to do separate counts, in which both 
will nakap Lebanese these changes, but do not touch the 
playback sample. 


                      * The table position *

   The following table indicates the positions of the order of 
play patterns. Each item contains 2 fields:


  1. Number pattern

  2. Transposition pattern (-64 ¡The 63)

   Transposed all the notes a pattern, and the envelope defined
notes.

   Also in the table position is the position for which zatsi
klivaetsya track.


                * Description of the editing window *
1 2 345 67 8 9 A BC DE - Column

E100-00 02 00331102 5091000 C-0000 D # 501F03F 0000 G-502F05E 
0000 January 2002 E101 + C-February 1102 C-5091010 0000 D # 
501F03F 0000 G-502F05E 0000 



                                     control field notes

                                     control field envelope

                                    addition of noise


     Description of columns:
1 - note number in the pattern (in HEX)
2 - addition of noise (as in PT)
3 - the shape of the envelope
4 - Flag of the envelope:

   0 - initialize the envelope

   1 - do not initialize the envelope
5 - Number of ornament envelope

    (Only when displaying a note period)
6 - display mode of the period: '-' - number '+' - note
7 - the period of the envelope or note
8 - field effects of the envelope
9 - note in the channel
A - number of samples
B - flag:

   0 - no change

   1 - turn on the envelope for the channel

       (Field of ornamental works!)

   F - to change the pattern for the channel and turn off the 
envelope C - room ornament

D - Volume
E - field effects


        * A detailed description of the field editing window *


     1. Option add noise:

   This number is added to the basic period of the noise. Can 
vyzy vat overflow - border crossing # 1F.



     2. Control field envelope:

   The envelope should be treated as a separate channel, and a 
flag enable / disable the envelope in the field notes is the 
inclusion / off the 4-th bit in the register level.


   If the flag cancel the initialization of the envelope is 
included, then the form Envelope will not change even if she 
actually changed in field in the form of the envelope.


   If in the shape of the envelope is F, then the envelope off
Xia, if 0, it remains the old value of the form.

   If the number field ornament is FF, the ornament off
Xia. Thus the envelope of available ornament # FF. If the 
number field ornament is 00, is the old pattern.


   Flag display period switches the display mode number
and note. When switching is to convert one form
display to another to match. If the period is displayed
number, the field of ornament does not affect the sound.

   When playing ornaments, performance slide / portamento
reinitialize the envelope is not necessary.

   Field effects of the envelope is described below.


     3. Control field notes:

   Notes indicated in the usual format. Octave range - 1-8.

   If the field sample is 00, continues to be used
old sample. If this field is changing the value in the absence 
of values ​​in the field notes, the sample begins to play with 
the period, which was at present on this channel.


   Flag on / off envelope works as follows:

   If it is 1, then turn on the envelope on this channel (4-th
bit register volume).

   If it is equal to F, then turn off the envelope on this 
channel. 

   If it is 0, then the state does not change.

   To change the ornament is sufficient to indicate its number 
in the ornamentation ment. In case of equality of this field is 
zero, continues to be used old pattern. To disable the ornament 
should be used blank ornament and set the flag of the envelope. 
If the field op namenta change when the empty field notes, the 
pattern is based on last taken note on this channel.


   Effect B00x - cancellation sample initialization / ornament, 
ie it will not be ready to play first for the extraction of the 
new notes on the this channel, and will continue its sound, but 
the new note. 

   Golf volume determines the volume of sound channel
ranging from 1 to F. In case of equality to zero field using 
the old volume. To disable the command channel is used PSE

(Pause), which is set in the notes. This command stops
sample playback, and the ornament off the envelope at this
channel.

   In the notes may also be established command RLS (Rele
ase), whose action is described in the sections on the sample 
and ornaments.


   Field effects described below.


            * List of effects for music and envelope *


     Field notes:
1dxx - slide down to the pitch period every xx d frames.
2dxx - slide up to pitch period xx each d frames.
3dxx - portamento to note, which stands on the current position,

       with a change in tone on every xx d frames.
4dsx - vibrato depth of s * x with velocity

       s. Changing the tone of every period d frames.

       Starting from zero change in tone and

       change in the period down (increased frequency).
50xx - retrigger: Restarting notes every xx frames.
60xx - delay: start playing a note through the frames xx

       (Xx must be less than the playback speed,

       otherwise the effect is ignored)
70xx - Shutdown: stop playing music

       through frames xx (xx must be less than the rate

       play, otherwise the effect is ignored)
80xx - shift in the ornament: ornament to start playing

       from the position of xx (if overflow, then 0)
90xx - offset in the samples: start playing a sample from a 
position 

       xx (if overflow, then 0)
Asud - slide the volume up on u and down on every d

       s frame
Bm0x - a form of vibrato, tone control and initialization

       samples / ornaments:

    m = 0 - control the initialization of samples and

            Ornaments:

    x = 0 - initialize to. and on.

    x = 1 - initialize on. not INIC. with.

    x = 2 - initialize. not INIC. Fr.

    x = 3 - do not initialize any of the. nor.

    m = 1 - change in shape of vibrato

    x = 0 - "rectangular" vibrato: the tone is rejected

            just up from the base period

        1 - "rectangular" vibrato: the tone is rejected

            just down from the base period

        2 - "rectangular" vibrato: the tone is rejected

            and upward and downward from the base period, never

            does not coincide with

        3 - triangular vibrato
C0xx - after this note to move to the position of xx
Dx00 - setting global volume of music in the x
F0xx - change the tempo on xx


     Field envelope / noise:
1dxx - slide down to the period of the envelope every xx frames 
d 2dxx - slide up period of the envelope at every xx frames d

3dxx - portamento up period, standing at the current position

       at a rate of once every xx frames d
4dsx - vibrato depth of s * x with velocity

       s. Everything is completely analogous to the tone
50xx - retrigger: reinitializing the envelope of every

       xx frames (overrides flag cancel the initialization).
60xx - delay: start playing the envelope through the frames xx

       (Xx must be less than the playback speed,

       otherwise the effect is ignored)
70xx - Shutdown: stop playing the envelope

       through frames xx (xx must be less than the rate

       play, otherwise the effect is ignored)
80xx - shift in the ornament: ornament to start playing

       from the position of xx (if overflow, then 0)
Asud - slide up period noise on u and down d

       every s Frames
B10x - vibrato control of the shape of the envelope:

   x = 0 - "rectangular" vibrato: the rejection

           just up from the base period

       1 - "rectangular" vibrato: the rejection

           just down from the base period

       2 - "rectangular" vibrato: the rejection

           both upwards and downwards from the base period, 
never 

           does not coincide with

       3 - triangular vibrato

   Each effect operates only within the notes which he
worth it. Therefore, for long-lasting effects, they must be 
repeated ryat. The parameters of the effect of repeat do not - 
they memorize nayutsya, simply specify the number of effects. 
Parameters of the effective Comrade stored individually for 
each effect, so you can once to set any parameter of any effect 
in what it omitted.


   Vibrato effect does not begin his action first with repeats
rhenium, which allows us to put it podryad.On 
pereinitsializiruetsya only when the parameters of depth and 
speed, even if they coincide with previous ones.


   Retrigger effect is also not pereinitsializiruetsya with 
repetition without setting parameters.


   Portamento effect in the absence of any value in the field
music continues to move in the direction of the last memorized
Noah notes.

   Effects of 5,6,8,9 work only if the value in the field
notes.

   The effect of B to initiate acts only on this note.

   Defaults to the triangular shape of vibrato.

DB> A on the interface of ideas at all, not at all?
None. Best Tracking Interface - an interface Impulse Tracker.
And if it still add visual myshastost Fast Tracker, then
will be even better. In IT in general without a mouse, you can 
work that much faster and easier, except for one thing - editing

envelopes.

>> 1. Changing the period in units of the period (2047 -2048 
¡The); DB> overrun with severance or a change of sign?

With reduced - more correctly, with the change - habitual and 
easy. I conceived with the change, because, like, in all the 
trackers in this way. DB> overflow an injury!


>> A) change the period of noise about 0/tekuschego values;
>> I) change the period of the envelope attributes. database / 
current period. DB> d) check the use of abs. pitch period, 
instead of displacement But it's really useful.


>> If you only specify one cycle, it is considered the second
>> And a team of RLS is not interrupted.
DB> Why?
Helpful:) closer to a full ADSR-envelope.

>> 1. Changing the period of tone in semitones (-64 ¡The 63)
>> 2. Changing the period of noise (-15 ¡The 15)
DB> Why here?
It is sometimes necessary. In ASM'e it was - so it should be.

>> All the notes are transposed pattern, as well as the envelope
>> Given notes.
DB> and the drummer?
This is what will have to sample more and start flag, the 
drummer, he or not? Unnecessarily. The more you're invited to 
enter select ISPO lzovaniya absolute pitch. Are creating a 
drummer with absolute pitch mi - and it becomes no matter what 
note to play it. 

>> 1 - the number of notes in the pattern (in HEX)
DB> Why HEX? And if 3 / 4 5 / 8?
Well, add a check in the settings, as has been done, for 
example, Fast Tracker'e. Yes, and so rarely write on the Speccy 
to the exotic skih sizes ... In 6 / 8 more or less, and 5 / 8, 
7 / 8 and the similar Naya exotica - all only on beeper heard 
Tim Follina and Dark Fusion:) We should do as in IT - highlight 
rows by N lines and additional illumination by M illuminated 
lines. 

DB> How to change the shape of the envelope between the notes?
You mean the possibility for a single note change envelope
envelope? I always wanted it to make a sample, but kept 
forgetting. 

> 0 - initialize the envelope
>> 1 - do not initialize the envelope
DB> If you specify a new form, the envelope, and so is 
initialized! I was there something about this thought, but I do 
not remember, it is necessary recalling nat:) I think I also 
later figured out how refuse this check box.


DB> Why not the amplitude vibrato?
Can be added.

>> 70xx - Shutdown: stop playing music
>> Through the frames xx (xx must be less than the rate
>> Play, otherwise the effect is ignored)
DB> I would like to turn off the effect on the current notes and
DB> to continue on some background music ... Although it is not 
me DB> I would like, but John'u;)

A note from the background to take?
DB> Take the one you played before this one!

>> 80xx - shift in the ornament: ornament to start playing
>> From the position of xx (if overflow, then 0)
>> 90xx - offset in the samples: start playing a sample from a 
position >> Xx (if overflow, then 0)

DB> A simultaneous shift of the sample and the ornament?
Possible, and so distorted. But at the same value shift
will, of course.

DB> What kinds of rectangular vibrato?
For completeness:)

DB> Not enough command shift period pitch to plus or minus
DB> number (to coincide with the period of the envelope).
You can hang this function on 1dxx and 2dxx at d = 0.
DB> I ought to take this number from the period of a multiple 
envelope ... 

DB> No combination of the team gets no life: (
You need a tracker or sequencer? This is a tracker, it has a 
lot of restrictions values, which must be tolerated.


DB> By the way, and sometimes would not hurt the team, 
"arpeggios" - something DB> like ornament of 3 lines, but put 
in a note, and therefore DB> more clearly.

You can stick somewhere:)

>> The envelope should be treated as a separate channel, and a 
flag >> On / off the envelope in the field of music means

>> On / Off 4-th bit in the register level.
DB> Maybe only in the samples leave ..?
None. In all trackers could manage the envelope in the notes,
way it will be so in the future.
DB> for compatibility with the top down? Can be embedded in
DB> Auto Scan converter - which uses a sample from the envelope
DB> and what not. If the same sample is used and so, and
DB> so, then duplicate it!

>> 70xx - Shutdown: stop playing the envelope
>> Through the frames xx (xx must be less than the rate
>> Play, otherwise the effect is ignored)
DB> Why?
Of course, this can be done and samples, but why not make
is in effect? Helpful. All come in handy.
DB> It is better to be less surplus - player and converters 
also someone DB> should write;))


>> - The range of tempo ......................... 1-255
DB> A fractional?
And how do you imagine it fractional rate?
DB> 3.5, 4.5, etc. Strong share - for longer.

>> F0xx - change the tempo on xx
DB>> A broken rate?
What is broken pace? Which each note is changed? Faces every
note the effect - and all.
DB> Yeah, imagine: as you sit for an hour and snare effects;)
DB> As if nothing else to do;)
The best option would be the job rate in BPM, and not in some
abstract interrupts.
DB> A can command as MMCM wanted to do in MT: tempo with two
DB> parameters - for even rows and odd.
Can be so. But not always shuffle done so. In my
one song tempo follows Rides: 5,5,3,2:) Here
When I wrote this thing, but then realized why we need the pace
below 3:)

DB> A wild idea: what if you realize the volume of> 15? 8 
)))))))) Generally speaking, the idea makes sense.


>> 3. Changing the period of the envelope (-128 ¡The 127)
DB> Similarly -?
Similarly, changes in the noise:)
DB> But the envelope a separate channel - let the feature will 
be DB> samples / ornament for her ...

This I still think about:)

DB> It is necessary to allow the envelope to the eighth octave. 
Just yet DB> figure out how to implement input frequencies 
1,2,3,4,5,6,7,8,9, a, DB> b, c. The second octave will be 
somewhere in the region # 300-700 - quiet DB> envelope, and 
below is not really needed, so you can instead of 1 DB> octave 
envelope implement these frequencies ... But "not particularly 
necessary" should not be. If it is "not particularly necessary" 
- Therefore you need. 

>> Initialization of the envelope can also cancel, so I do not
>> Change.
DB> Let there be no indication of the envelope in the text - 
only in samples However, you are right, and should be done, 
unload a little bit right. 

DB> There is a sense of team TEMPO permit only spetskanale
DB> just for this team ...
As for the bias noise, you can make a column for the tempo.

>> You know, like me for the absence of a vibrato? I want to
>> Do bass party on the envelope with vibrato. Sounds vibrato on
>> The bass is very impressive enough to hear a little
>> Kommodorovskoy ...
DB> Well Duc, in the samples draw any form of vibration.
I do not care a form I'm concerned about the ability to control 
depth. Y envelope after each yedinichku strongly influences 
ton.Poetomu if on a low note, the depth should be 5-6, then on 
high - 2. AND that I for each note its sample to draw? Nafig. 
Let it be vibrato. I and the vibrato on Washington already get 
exhausted - I want to do vibrato with a gradually increasing 
depth and we have to This draw several samples.


DB> Well, the truth, why you do not like the DEC? require 
reasoning DB> number system for each indicator:)

HEX rulez and all that:)
DB> Hy-well, poredaktiruy-ka ornaments in HEX ;))))))

>> A) change in tone relative to the base / current tone;
>> B) changes in noise relative to the base / current noise.
>> A) change of the envelope attributes. database / current 
period. DB> This is not an ornament, and the sample is obtained 
;))))) Volume control and no mask - not a sample, and ornament.

Than the period of the envelope and the volume is worse period 
of tone? Let them will also be their ornaments.

DB> So let the envelope using the frequency table of
DB> tonalnika the same patterns, but played in a different case!
DB> Let it be the same 8 octaves. Then the box is not needed, 
and shift DB> envelope in the samples / ornament - too ...

Yes, there will not be 8 octaves. Range is not that at all. 
Envelope even the still very high notes strongly lie begins.

DB> Duc notes to choose, my friend;))), for example, between
DB> periods 3,4,5,6 - friendly relations, I had them yuzal
DB> (and not just me:))
Frequency plate under a deal must be specially selected.
DB> Sound Tracker said:)

DB> Is not the single-character name of the sample more
DB> preferred? (36 or 64 names - numbers + letters?)
You can upihnut 256 samples in one character? :)
DB> Let it be 64:) I always had samples :))))
I am yet too. But this does not mean that they can not, sooner 
or later not be enough. Let it be 256.

DB> Edit pattern inconvenient!
Why? Well, think of it, you have 2 characters on the number of 
samples will be. PC'shnye trekerschiki because they write and 
do not complain. But on the PC in the third kerah also 
traditional for each note number of tool orders vayut rather 
than on the Spectrum - once pointed out, and further, until 
Change all the same sample is played. DB>;) successful findings 
should adopt, but not yet in a row ... DB> especially since I 
had some V - voice, T - note, S - snare, DB> H - hihat, etc. 
What can you oppose? Nothing. I so do not use. As used with ST 
abstract from any association with its sample rates sound, and 
work melt to this day.


DB> Only ornaments, is not enough - because the offer
DB> arpeggios ...
And for this I suggest 256 ornaments.
DB> Will arpeggios - and even my most ornamentisty Mouzon (15
DB> Ornaments) Eversmok.m will almost without ornament:) So
DB> 64 can not talk!
And my Summer Mood and will not meddle in the 15 ornaments, 
even with arpeggios, as trehnotnyh ornaments are not there.


DB> Did you see the barrel of a column? ;) -0000 00 T-I did not 
come up with a peeping to anyone:) DB> I'm not spying, and 
John, saw, scary surprise 8) What did not come up with 
spektrumisty, just to squeeze out neschas tnogo chip something 
else:) Although LAV me CC'01 about Summer Mood said something 
like: "Well, Megus you do all the juices AY squeezed out ":) 
Those guys, not all, there are still reserves! 




Other articles:

Classics - Almanashnik. Alexander Pushkin.

For Coderz - Recognition and computation of arithmetic expressions on their character record.

Inferno - The authors of the magazine.

For Coderz - the discipline to create large projects.

Interview - Questions Konstantin Sviridov (Conan) on the site zxnext.narod.ru.

Likbez - The principles of converting graphics PC-ZX.

For Coderz - Programming disc changer / drive in Scorpio.

Softinka - DNA_OS v0.431 - package of utilities for working with hard drives, RAM-drives and floppy disks.

For Coderz - Programming under DNA_OS ZET-9, a package of tools to work with storage devices.

Softinka - The problems and shortcomings package of tools to work with storage devices DNA_OS.

Likbez - details about disk formats that are FAT.

Inferno - Entered from the editor.

Inferno - Errors in the previous numbers.

For Coderz - Small programmers' tricks.

Gameland - On the new games: Oneyroid, Dizzy forever, Dridlock.

For Coderz - Writing archive. Practical principles LZ packaging.

Gameland - Passage of new shipments for the game "Black Crow".

For Coderz - Programming for the video mode 384x304.

Inferno - Letters to the Editor.

Sound - Eden Megus'a about the tracker for the AY / YM.

Inferno - On the shell.

For Coderz - Fundamentals of optimization for the processor Z80.

Likbez - The location of partitions on your hard drive.

Gamedev - 3D projection of the floor / road in the games.

Sound - Wild ideas for AY trackers.

Advertising - Ads by Roman Chuunin.

Advertising - Ads by V. Bogdanovich

For Coderz - How a large Flexible Program.

Repair - Faults Pentagon 128 + and their repair.

Inferno - Content.

Miscellaneous - Thoughts on the contest for the best software.

Others - Transfer software on ZX Spectrum with a PC.

Video - On packaging for a video ZX Spectrum.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Tricks - Elegant clear the screen. Quickly scan the keyboard. Setting interrupt (IM2).
Beech - cap HA BASHHYAH.

В этот день...   4 May