7

I am trying to remember about a bare-board sound card which plugged into the parallel port of an Exidy Sorcerer (circa 1980). The card and software ("Music System") was made by Arrington Software Service in Boise, Idaho. It had no speaker, so it needed to be plugged into an amplifier and speaker. (Your home music system would work if it had an input jack.) One could enter the 4-voice song from sheet music, or you could buy pre-compiled digital music libraries. Note that the system was polyphonic, but not stereo.

Unfortunately I don't have either my Sorcerer or the sound card anymore. I'd like to know what D/A converter the latter used. Maybe I was just ignorant, but I don't remember any other such system, with both 4 voices and the ability to type in sheet music. The editor literally looked like part of a page of sheet music.

Did other systems of the era have these features?


... scavenged around and found Mr. Arrington's 1980 brochure in a cabinet. Quoted extract:

HARDWARE -- Assembled A/D converter connects to parallel port. Simply connect an amplifier to your stereo to listen to music. ...

(sic; I'm sure he meant "D/A")

MUSIC GENERATION -- Machine language routine generates four part harmony of true frequencies over a 4 and 1/2 octave range. The routine easily interfaces with your Basic programs to add sound effects and music. Well documented.

EDITOR -- System includes a screen editor that displays the two musical staves upon which musical notes are placed. ...

It cost $40 (which today would probably be about $150). An optional entertainment add-on called Piano Player cost $15. It showed a full-screen man seated at a piano, playing it. His motions reacted to the music being played. !! See image in exidyboy's answer. I obviously remembered it wrong.

11
  • 1
    So it may have been a device from the same school of thought as the Covox Speech Thing — just an ADC connected to the parallel port which the CPU throws PCM data to?
    – Tommy
    Aug 23, 2019 at 17:37
  • @Tommy I have no idea now it worked. It was a case-less circuit board as wide as the DB25 connector it was physically attached to and maybe three inches long. I believe Sorcerers had a full parallel port, not the "8 bits out / 4 bits in" thing which early PCs called a parallel port (but effective mostly for driving a dumb printer). Howard Arrington probably made them at home.
    – RichF
    Aug 23, 2019 at 17:53
  • 1
    Yes, it was a 'simple' DAC, two channel and 8 bit. All sound generation was done in software and thus quite capable, not restricted like sound chips of the same time. Number of voices is limited by whatever calculations the software could do in time. Much like modern sound generation. Except, where it's done today as a side job, almost for free, it occupied a great part of the Z80s capacity back then.
    – Raffzahn
    Aug 23, 2019 at 18:57
  • @Raffzahn Thank you. So pretty cool for 1980, right? ✨ My Sorcerer was the original 2 MHz model (later versions were 4 MHz). It's amazing to me that the "slow" processor could generate the polyphonic waveform. And if Piano Player were running, it monitored the music and dynamically redefined character-mapped graphics to have him look like he was actually playing the given piece.
    – RichF
    Aug 23, 2019 at 20:06
  • 1
    @RichF Well, considering that sound is comparable slow, it does leave room even back then to do the job. A 2 MHz Z80 can do more than 200k instructions per second. Audio does work already great with a 15-20 kHz resolution, so that's 10+ instructions per sample. Not much but can be done quite well, especially with some premade tables.
    – Raffzahn
    Aug 23, 2019 at 20:33

4 Answers 4

4

Having looked into my best guess of where a competing product might be found in the same timeframe, the Apple II, the ever-questionable source of Wikipedia offers:

[The Music Card MC16] was the first hardware music product sold for the Apple II ... demonstrated to Apple and Apple dealers late in 1978, and volume sales began in June 1979.

The sophisticated software written by John Ridges for this synthesizer was the first to implement graphical entry for a personal computer music product. [...] Since the Apple II had no mouse, the GUI was implemented using the Apple's "game paddles"; one moved an arrow to select the desired icon, and the other moved the selected icon to the desired position on the musical staff on the screen display. When entering a musical note, the sound of the note was simultaneously played by the synthesizer for confirmation that the correct pitch had been selected.

...

Each card could produce three simultaneous voices, each with an 8 octave range (starting at the same pitch as a piano but extending 8 semitones higher) with excellent tuning accuracy (within 2 cents) and 256 envelope/volume levels with an exponential scaling (78 dB range). Each voice could also produce quarter tones (pitches exponentially halfway between each piano pitch). Two cards could be used for six voices or three cards for nine voices; with two or three cards the audio output was in stereo.

The related screenshot is:

enter image description here

The entire article also covers earlier S100 hardware from the same company that was more sonically capable, but unsurprisingly limited in terms of the user interface.

So to answer your question — "Did other systems of the era have these features?" — the Apple II had something similar a year earlier, but only three voices rather than four (unless you bought multiple cards).

I'd also distinguish this and the Exidy product from the game-oriented Pokey/SN/AY-type chips of the era as they seem to have put a lot of thought into pitch control rather than just thrown a variable clock divider at it and let the [non-linear] range fall where it may, so I didn't look seriously at the Atari 8-bit but I dare imagine that may have had some sort of composition software by 1980.

1
  • 1
    "was the first to implement graphical entry for a personal computer music product" - Atari's Music Composer was available when the machines were released and the copyright is 1979, so it might be close but no cigar either way. Jun 12, 2022 at 11:41
7

Howard Arrington Piano Player aka Jukebox

Recovered a few weeks ago from some Sorcerer floppies.

4
  • Wow, thank you! I obviously remembered it wrong and thought the piano and its player were much larger. Instead he's small, with most the screen showing the keyboard. I'm still pretty sure he moved, though, with the added feature of the exact key(s) being played being indicated.
    – RichF
    Aug 29, 2019 at 12:22
  • Yes his arms move and the grey squares flutter across the keyboard indicating which notes are being played.No photos or schematics exist of the actual Four Voice Music System hardware so if anyone reading this has the PCB please make yourself known or put up some hi-resolution photos somewhere.
    – exidyboy
    Sep 8, 2019 at 0:30
  • 2
    What does "mockbird" refer too? A bird-like sound, or perhaps the Mockingboard? Jun 12, 2022 at 11:42
  • 2
    MOCKBIRD is the name of the tune being played: en.wikipedia.org/wiki/Listen_to_the_Mocking_Bird
    – exidyboy
    Jun 14, 2022 at 20:52
3

About your question which AD converter is used, you can ask Michael Borthwick at Swinburne University of Technology, Melbourne, VIC, Australia, a researcher. He acquired and cloned the Arrington soundcard during his research work on the Australian and Dutch Exidy Sorcerer user groups.

Source: http://www.atariprotos.com/othersystems/sorcerer/hardware/arringtonmusic.htm

1
  • 1
    As can be seen from the hardware pictures at the link cited, the DAC is nothing but a resistor ladder (the article says 6 bits), similar to the COVOX/other homebrew digital sound solutions.
    – Retrograde
    Jun 12, 2022 at 8:27
3

If a computer has a decent DAC, it's possible to generate multi-voice music using CPU-based waveform generation. I've done four-voice music on the Atari 2600, which has a pair of four-bit DACs. There are a couple of approaches that can be taken for frequency generation, one of which is suitable for the 6502 and sound good even with lower-precision DACs, and one of which would need a higher-precision DAC but can be more efficiently accommodated on the Z80.

When using a low-precision DAC, unwanted sounds may occur at multiples of the waveform's "perfect repeat" rate. If one were to try to output 3-bit, 1,471.8Hz waveform at a 15,700Hz sample rate, then three periods of that waveform would occur every 32 samples, meaning that tones would be produced at multiples of 490.6Hz. The loudest would be the desired 1471.8Hz tone, but other unrelated tones would be produced as well, with an amplitude that could approach 1/7 of the desired signal (since on a 3-bit ADC each step would be 1/7 of full scale).

To avoid this, a 6502-based music player can ensure that every output pitch will be a power-of-two multiple or sub-multiple of 15700/N, where N ranges from 32 to 60. This will yield pitches that are well in tune for some keys, and at least recognizable for all keys. Such an approach would require using many different data pointers within the tone-generation loop, but since the 6502 can directly index off pointers stored in zero-page memory, this isn't a problem.

For the Z80, a different approach would be required, producing frequencies which are N/256L times the sample rate, where L is the number of times the tone-generation loop is unrolled. This would likely yield unwanted quantizing noise artifacts if one were to try it with a 4-bit DAC, but such noise could be reduced by using a better DAC. Computation time on the Z80 would be roughly proportional to the desired number of voices, up to six (using C, E, L, C', E', and L' as phase accumulators).

For machines which have an audio DAC available, the ability to play multi-voice music would be based largely on whether anyone had chosen to implement it. Further, there wouldn't generally be a fixed upper limit on the number of voices, but instead the sound would become "fuzzier" as the number of voices was increased.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .