Chapter 18 – Sound and Music

Unlike its predecessors, your ZX Spectrum Next doesn't fare poorly in the audio capabilities department. From simple beeps and clicks, to complex compositions using its in-built 3 Programmable Sound Generators (PSGs) and full-fledged digital audio output, sound can accompany almost every program you write or software you will load. Sound is output in stereo from both the digital video port and an analogue 3.5mm jack output present on the back of the machine. Additionally, there is the possibility of an on-board piezo speaker (sold separately).

Basic sounds with the BEEP command

The easiest way to create sounds (and the only method that works on all ZX BASIC versions including NextBASIC) is by using the BEEP statement:

BEEP duration, pitch

where, as usual, duration and pitch represent any numerical expressions. The duration is given in seconds, and the pitch is given in semitones above middle C. For notes below middle C we use negative numbers.

Here is a diagram to show the pitch values of all the notes in one octave on the piano:

Fig. 17 – Pitch/note equivalents

   -2    1    3         6    8   10        13   15
   B♭   D♭   E♭        G♭   A♭   B♭        D♭   E♭
   A♯   C♯   D♯        F♯   G♯   A♯        C♯   D♯

 -3   -1    0    2    4    5    7    9   11   12   14   16
  A    B    C    D    E    F    G    A    B    C    D    E

Fig. 17 – Pitch/note equivalents

To get higher or lower notes, you have to add or subtract 12 for each octave that you go up or down.

If you have a piano in front of you when you are programming a tune, this diagram will probably be all that you need to work out the pitch values. If, however, you are transcribing straight from some written music, then we suggest that you draw a diagram of the stave with the pitch value written against each line and space, taking the key into account.

For example, type:

10 PRINT "Frere Gustav"
20 BEEP 1,0: BEEP 1,2: BEEP .5,3: BEEP
   .5,2: BEEP 1,0
30 BEEP 1,0: BEEP 1,2: BEEP .5,3: BEEP
   .5,2: BEEP 1,0
40 BEEP 1,3: BEEP 1,5: BEEP 2,7
50 BEEP 1,3: BEEP 1,5: BEEP 2,7
60 BEEP .75,7: BEEP .25,8: BEEP .5,7:
   BEEP .5,5: BEEP .5,3: BEEP .5,2: BEEP
   1,0
70 BEEP .75,7: BEEP .25,8: BEEP .5,7:

ZX Spectrum Next User Manual, 3rd Edition (ISBN 978-1-5272-5496-1), written and illustrated by Phoebus R. Dokos. Copyright © 2020-2024 Phoebus Dokos / SpecNext Ltd. Licensed under CC BY-NC-SA 4.0. This is a transcription and can contain errors; check any doubt against the printed page.