Questions and answers

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

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

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:

$.Harzat - Jim Redfarn's program is one of those included in this issue's Music section

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

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:

I.nstr004 - the oboe definition is one of those included in this issue's Instrument file

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

]

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

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.