Answer: Using Shadow RAM
In response to the questions raised by B J Dawson and Tim
Holgate in AMPLINEX 003 about the use and compatibility of Shadow RAM boards -
the Aries B-32 seems to be fully compatible, but as I don't normally use the
Staff editor (finding it too slow and fiddly compared with Qwerty-entered
AMPLE), I have little use for it at present.
I take it from Tim Holgate's question that he can't find any
'natural breaks' in the music where he can chain the following parts using the QTIME
facility (with short pauses whilst they are loaded from disc).
I have had a similar problem and attempted to use the Aries
B-32 as a RAM disc for saving parts so that the pauses for loading would at
least be very much shorter, but with no luck (my main DFS is Solidisk 1770
DFS).
I wonder if anybody knows if Beebug's Romit might do the
job?
Ted Royffe
Question: MIDI interface
What is this little black box that Hybrid have made and what
can it do when you plug a synth through it and why is it so expensive?
When somebody buys the MIDI interface surely they need some
extra software with it or is there some included? Could you plug any kind of
synthesiser into it and then play it through the computer?
We have just bought the Music 5000 system and already have a
Casio HT-3000 keyboard and are just dying to plug them both together and see
what happens; but we hardly know anything about this interface except that it costs
a lot of money! Has anyone got the interface yet? If so please tell us about it!
Chris Percival & Jim Percival
Answer: The ACT commands
In this answer Andy Thomas expands on his article 'The ACT
command' in AMPLINEX 002 and replies to the questions posed by Roger Cawkwell
in AMPLINEX issue 003.
If you want a complete explanation of the Nucleus operating
environment, I strongly recommend the AMPLE Nucleus Programmer Guide. However,
here are a few simple answers to your questions:
1) The ACT( command takes a number in the range 0 to 127 as
a parameter. This number is a position number, representing where in the music
action chain the action is to be placed.
Hybrid Technology have defined a convention for where you
should place the action depending on what it does.
position type example
10 score transpose notes
20 music generate echoes
30 sound stereo panning
10 score transpose notes
20 music generate echoes
30 sound stereo panning
Position 0 is a special case as it removes the action from
the chain. 'ON' is the same as -1 (enter ON NOUT at the command line to confirm
this), and, as far as I am aware, is just an arbitrary non-zero number to
satisfy ACT(.
2) You need to include all of the entries in my definition
'newact1' as I am completely redefining the way each note is played. I don't
think additional ACT commands will work with it. But if you want the chain of actions
to keep going, put an ACT as the final command before the end )ACT.
Notice that in 'newact2' there are two ACTs embedded within
the ACT(...)ACT structure. They both continue the chain of music commands (i.e.
play the note) with modified length. As there are two of them, the note is
played twice.
Another useful point is that the chain appears to be
confined to one player. This means that in a piece of music, one player can
have one effect, and another player can have a completely different one. To conform
to the conventions mentioned above, the 'newact2' command should be used with 10
newact2 instead of ON newact2, but I can't see too many problems if you don't
do this.
3) FVAR can be used anywhere. It stands for FrameVARiable. A
frame is a reference point on the number stack, which can be defined by the
FRAME command. FVAR takes a number representing the element number, and returns
the address of the element, which can then be used by commands such as #B?
(fetch byte).
For example:
3 4 FRAME 1 FVAR #B? %
returns 4
3 4 FRAME 2 FVAR #B? % returns 3
3 FRAME 4 1 FVAR #B? % returns 3
3 4 FRAME 2 FVAR #B? % returns 3
3 FRAME 4 1 FVAR #B? % returns 3
Andy Thomas
Question: Mixing Desk problems
My music program, "Harzat" works fine except when
loaded into the Mixing Desk. If you touch any of the control buttons, the whole
thing goes out of sync. I have experienced the same problem with some of my
other music programs. I believe this is something to do with lack of memory,
but what is the solution? I use a BBC Model B - does the same problem arise
when running it on a Master? Can any members help?
Jim Redfarn
Related files on this disc:
Answer: Speed Restrictions in AMPLE
The hiccups referred to by A J Hunt are probably caused by large
volumes of work for wholesale mix changes required to be carried out in memory instantaneously.
The burdens should be eased by:
1. Spreading the changes through the music as much as
possible by, for example, including an unmix in a music part (rather than the
PLAY word) in readiness for a new mix at, say, the end of the part.
2. Making each new mix/unmix as simple as possible - better
to have two small changes separated by a couple of bars than one big one.
3. Ensuring that no voices are still playing when a new mix
is called.
4. If the allocations of numbers of voices to players is not
to be changed, changing voice definitions and/or parameters 'on the fly '
within the music parts instead of as mixes.
5. 'Borrowing time' immediately after a mix by the use of
back holds (but watch your bar checking!).
Nothing is guaranteed, but a combination of some of the
above should help. If numerous mixes and unmixes are to be employed to spread the
load, it is suggested that player 9 be used to control these. The same player
can also be used to control tempo changes and other time-related functions to
avoid cluttering up the music parts of active players.
Ted Royffe
Question: Distorted instrument sounds
I have noticed that when using certain instrument voices
(either in a program or on the keyboard) on my system some of the notes sound
distorted. 'Organ' and 'wurlitzer' are two of the offenders.
Does everyone else have this problem or is it a fault with
my particular system? If the latter, should I suspect the Music 500, my
amplifier or my speakers?
Ken Hughes
Answer: Editing !BOOT files
It's a chore to *BUILD a !BOOT file every time it needs
changing, and lines can scroll off the top of the screen if you use the *LIST
and copy routine suggested in AMPLINEX 003.
If you have a word processor such as View, it's much easier.
1. LOAD the !BOOT file into the word processor
2. Make your alterations
3. SAVE the amended file back to your disc
And that's it. The new !BOOT file will work as normal.
Patrick Black
Question: AMPLINEX ?info word
Why can't I delete the ?info word in the music files
supplied from AMPLINEX?
G F Firth
The word is there to deter anyone thinking of re-publishing
any of the contributions without permission. That is why you can't delete it.
Answer: Oboe sound
Some interest has been shown in the reproduction of an oboe
sound, and there have been one or two contributions in this field. Here is mine.
I found that 'binatone' from the Studio 5000-4 instrument
examples was a very good starting point and in fact required very little
modification. The value of the negative SHIFT in CHAN 1 appeared to be a very
important factor, and after going up and down throughout the whole range I eventually
settled on -251.
This produced quite a reasonable tone, but the attack and
termination were a bit abrupt so I substituted 'Tailed' for 'Onoff' in CHAN 1.
This produced the following definition:-
2 CHANS
1 CHAN
Metal Flat Tailed
-251 SHIFT ON SYNC
2 CHAN
Syncer Vibrato Puff
EVERY CHAN
1 CHAN
Metal Flat Tailed
-251 SHIFT ON SYNC
2 CHAN
Syncer Vibrato Puff
EVERY CHAN
The actual sound can be further improved by boosting the
4KHz frequency range but even without this I think it produces a passable representation.
The natural range of an oboe is slightly more than two
octaves up from the B flat below middle C and it works reasonably well within
this range although notes in the lower range need to be reduced in volume to
obtain a proper balance.
G H Richardson
Related files on this disc:
Question: Using unmixes
Page 84 of the Music 5000 User Guide gives very little
information concerning the important subject of unmixes. It lacks a detailed
sequence of the specific commands to enter to obtain a required result.
For instance, assume Player 1 has been given 4 VOICES by the
current mix1. A command such as 1 SHARE 4 VOICES entered before typing
mix2/NAME/UMAKE is O.K if all 4 VOICES must be taken away. But what if you want
to make say 3VOICE and 4VOICE UNUSED?
Trial and error failed to give me the right command to enter
following 'X SHARE Y VOICES' to free Y selected VOICES. In the only example
program to use an UNMIX ('mexico2'), 'mix2' reads 2 SHARE 2 VOICES/1 VOICE
UNUSED, taking no account of the other players the voices of which are all
taken away.
After deleting the word 'mix2', the only way I could find to
reintroduce a similar one was to type '1VOICE mexbass' following the obvious
'2SHARE 1VOICES'. However, I failed to find a command yielding '2 VOICE UNUSED'
instead of 1 VOICE, had this been my goal.
Full unmixes together with their accompanying full mixes
obviously help to get rid of the 'Too many voices in Player..' error messages,
resulting from messy mix/unmix programming. I hope someone will help me to find
a better approach, telling me what I always wanted to know about sub-unmixes,
and eventually dared to ask.
A related point is the fact that 2 music parts separated by
an unmix/mix pair don't always merge quite smoothly: a short gap and/or a
crackle briefly disturb the flow of music during transit. The 'AMPLE Bytes
Back' disc uses a command such as
4,\ mix1 4,/
(no unmixes used) probably to improve things. Comments would
be appreciated.
Roger Sapolsky
The fact that you do not mention the use of brackets in
creating unmixes makes me suspect that some of your confusion might arise from
this omission.
An unmix can be made as follows. Starting within the Mixing
Desk screen with the existing mix showing, press the letter 'b' to set brackets
on all voices which you do NOT wish to change. Then return to the command line
and use NAME to rename the mix and UMAKE to make it. All the voices without
brackets will then be freed by the UNUSED command within the new mix word.
In the 'mexico2' example the word 'mix2' has the definition:
"mix2" [M5MIX
2 SHARE 2 VOICES
2 VOICE UNUSED
3 SHARE 1 VOICES UNUSED
4 SHARE 2 VOICES UNUSED
PNUM SHARE
]
2 SHARE 2 VOICES
2 VOICE UNUSED
3 SHARE 1 VOICES UNUSED
4 SHARE 2 VOICES UNUSED
PNUM SHARE
]
To reproduce this:
·
Get 'mix1' into the Mixing Desk
·
Set brackets on voices 1-1, 1-2, 2-1 and 5-1
·
Return to the command line
·
Type "mix2" NAME
·
Type UMAKE
The ugly term 'sub-unmix' merely refers to the fact that the
unmix only affects part of the existing mix. A full unmix (i.e. using UMAKE
without setting any brackets) would remove all voices - an unlikely
requirement.
An example program showing the use of mixes and unmixes
would be helpful if any member could provide one.
On the problem of gaps between mix changes see the answer
'Speed restrictions in AMPLE' by Ted Royffe above.
Question: !BOOT file error
I have modified the !BOOT file on my AMPLINEX discs so that
I can have the modules on side 0 of the disc and AMPLINEX on side 2. I have
done this by putting:
*DRIVE 2
"A.MPLINEX"LOAD RUN
"A.MPLINEX"LOAD RUN
instead of MAIN.
Why do I get an '! Extra number' error after the *DRIVE 2
command when this modified !BOOT file is working, and how should I modify the
file to remove the error?
G F Firth
There is no reason for getting the error from the two
commands you have mentioned. A copy of the offending !BOOT file and details of
your system would allow some further investigation.
Answer: Solidisk Shadow RAM and AMPLE
B J Dawson in AMPLINEX 3 enquires about Solidisk Shadow RAM.
I have a Solidisk 256k 4M board with DFDC (1770 & 8271) and I use Shadow
RAM with AMPLE and have had no trouble (yet - I am only a beginner). When the
dreaded '! No room' appears I just type
*SHADOW 7MODE
in Command mode and all is well.
I did tell Hybrid Technology that I had this setup when I
ordered the 500 upgrade & 4000 Keyboard, and they sent me a special System
disc. However, I would strongly recommend anyone buying any Solidisk boards to
take their Beeb to Southend for fitting by their technicians. A working one is
a boon and a blessing; a faulty one will drive you to despair.
Chris de Whalley
Question: Contact between members
For the last couple of years I have been beavering away in
my little 'ivory tower' feeling acutely isolated from others with similar
interests.
AMPLINEX has done much to remedy this situation, but I
wonder whether, through AMPLINEX, we could go a stage further. I am fairly
certain that there are other people with similar interests in my immediate
locality, but I have not a clue who or where they are.
I wonder whether it would be acceptable to members to issue
a list of their addresses or telephone numbers so that those in close proximity
could establish contact with each other.
I know this may not be as straightforward as it sounds since
some people are reluctant to divulge their locations to the world at large because
of infringement of their privacy, but I throw in the idea for consideration.
G H Richardson
There is certainly no possibility of AMPLINEX publishing a
list of all members' names and addresses.
However, if you would like other members to contact you, you
are welcome to put this request into an advertisement to be published in AMPLINEX.
We have one such submission in this issue.
Editor's note:
The comments following some of the questions above are only
my opinions on the subject and should not be taken as definitive answers.
Your comments are most welcome on any of the questions
posed, whether they supplement, confirm or correct any I have expressed.
Published in AMPLINEX 004, March 1988