System Beeps - A PC Speaker Music Album by Shiru 2017-01'2019 Overview Introduced with IBM PC model 5150 in 1981, designed to produce very basic system beeps, the humble PC Speaker never really had a chance to shine bright as a music device. Overshadowed by much more advanced sound chips of popular home game systems, quickly replaced with powerful sound cards, it mostly was used as a fallback option, playing severely downgraded content of better sound hardware. The best it got were a few nice tunes, and some software trickery to multichannel play software-synthesized or digitized music with heavy involvement of CPU. However, with careful composing and proper use of advanced chiptune techniques, it can do much more than one would normally expect from such a basic sound device that is only capable to play single square wave voice without volume control. System Beeps is a music album in form of an MS-DOS program that features my original music composed for PC Speaker. You can run it on any MS-DOS compatible machine with 8088 or better, and listen to some music in the glorious monophonic square wave. All that you hear here was perfectly possible back in the day on the early XT class machines. The compilation is confirmed to work on lower end XT-compatibles with Intel 8088 @ 4.77 MHz, 256K RAM, CGA video, under DOS 3.3 or better. Faster CPU is needed for smoother visuals. As the original CGA card has the infamous 'snow' issue, the program comes in two flavours, sb.com and sbx.com. The latter intended to be used with original CGA cards, and does not do much display in order to avoid snow artifacting. The former works on clone cards that is free from the issue, and features better visuals. Please note that DosBox or other contemporary emulation does not do justice due to limited precision of PC Speaker support. Timings may be a little bit off; also it renders an idealized version of a square wave, while actual hardware smooths it out, and always has very strong punchy resonant frequencies that were considered during composing. This does not mean DosBox will sound any bad, just needs to be noted that it really has a noticeable difference from the actual thing. There is two hidden keys in the program. F1 cycles play modes between single song, linear order, and random mode (shuffle). F2 sets number of repeats before one song changes to another, from 1 to 5, or infinite repeats. You can see current mode in the top left corner of the screen after pressing either of these keys. Technology The technology here is just like the one old MS-DOS games employed, nothing special such as software sound synthesis, or mixing, or sample playback, or PWM tricks. Just plain classic square wave generated by the sound channel of the 8253 system timer, albeit updated at slightly faster rate than the usual (120 Hz instead of 18-70 Hz). The main difference is the way the music has been arranged. Various techniques were used to make impression of multichannel sound - some of the latest MS-DOS games used many of these, but now the idea has been pushed a lot more. Variety of arranging tricks includes: - The perception trick when a presumably louder sound, such as kick or snare drum, or a note in primary melody, mutes all other 'channels', but the brain does not pay much attention to a brief lack of other sound elements. - Arrangement that allows enough pauses between sounds in general, especially in intro parts. This allows to separate entities to be heard better, so once the arangement gets more intense, the brain still considers those elements to be there, even though they're barely heard. - Playing notes slightly off beat, or composing melodies that puts most of its notes to the weak beats or off-beat, as these places tend to have gaps, thus melody notes won't interfere with the bass or other sounds. This makes melodies and backings highly syncopated, adding some special funky feel to the music. - The usual chiptune arpeggios at different speeds, including blazing fast 120 Hz ones. - Gaps in continuous sounds to allow other 'channels' to cut through, or series of gaps of increasing durations to imitate volume decays. - Variation in note durations, including extremely short ones, to imitate difference in volume, used for bass pulsations and echoing effects. To create the music, a modern apporach has been used. First, I made a custom VST plugin called PCSPE. It emulates PC Speaker hardware, plays some chiptune-like instruments via kind of 'macros', and handles virtual sound channels by overlaying a few MIDI inputs with required priorities. This allowed to compose music in a modern DAW, namely Reaper, then export it to be played through actual PC Speaker. Another plugin, ChipArp, has been developed to work alongside PCSPE and automatically generate the typical chiptune arpeggios of desired kind and speed by playing regular chords in the piano roll. This helped to work with a multichannel arrangement much more conviniently than the old fashioned way with hand-programmed arpeggios. If you would like to create something similar, or perhaps make music for your MS-DOS game or demo, you can get both VSTs for free from my website. Contents The original idea started as sound track for an MS-DOS styled game. PCSPE VST has been created for this purpose, and a number of test songs has been sketched, following the classic forumula of NES era games that had looped songs about a minute long each. At some point it was decided that this kind of sound not really fits the game, and I thought it would be good to just use the material to make a quick prod that would demonstrate PCSPE capabilities. Nevertheless, it took almost 1.5 years to finish the project, starting from PCSPE development in July 2017 till early January 2019. Side A of the album contains original songs that were mostly composed from scratch specifically for PC Speaker, or based on some old unused material that fit well for this kind of rearrangement. Side B contains either cover versions of some of my older chiptunes for other platforms, such as ZX Spectrum 48K and Sega Master System, or new songs developed from backlog of old half-finsihed stuff that wasn't originally intended for PC Speaker, ranging from an XM module to a pop punk guitar track. It also includes Square Wave song that originally has been composed for this compilation, but a version of it became part of the Planet X3 game by 8-Bit Guy a bit earlier. Side X is a bonus track that comes from my demo for an obscure Z80-powered phone hardware that also happen to have 8253 powered sound hardware very much like PC Speaker. The song has been adapted with minor changes. License This production released under Creative Commons Attribution (CC-BY 3.0) license terms. This includes not only code and data of the music program, but the songs itself. You are free to use them in your programs, games, videos, or make other kinds of derivative works, without asking me for an explict permission, as long as you give me some kind of credit somewhere alongside your production, in arbitrary form. Greets to utz Tomy Scali Tufty lolo799 garvalf castpixel Jim Leonard David Murray Peter Sovietov Pinball Wizzard The 1-Bit Forum guys Bandcamp : https://shiru8bit.bandcamp.com/album/system-beeps Soundcloud: https://soundcloud.com/shiru1bit/sets/system-beeps YouTube : https://www.youtube.com/watch?v=tUy1MEpqbvk Mail : shiru@mail.ru Web : http://shiru.untergrund.net Donate : http://shiru.untergrund.net/donate.shtml