Tuesday, July 28, 2015

1-Bit Music

http://freestuff.grok.co.uk/beepola/

Screenshot (PNG, 117KiB)
Download Beepola v1.08.01 for Windows (1.76MB)
   (it also runs on MacOS and linux systems with WINE installed)
Beepola online help and documentation

Stay up to date on the latest 1-bit music news with the 1-bit music news blog:
1-bit music news blog
 Also, check out the 1-bit/beeper music forum at: http://1bit.i-demo.pl


http://www.oldskool.org/pc/MONOTONE

MONOTONE

The Tracker For Extremely Simple Sound Devices

UPDATE: All MONOTONE releases and updates are now hosted at github. Visit the github repository for MONOTONE.. This page will no longer be updated.
Download MONOTONE alpha 0.37b
Changes in 0.35:
  + Added Tandy/PCjr 3-voice support.  No volume or noise channel yet.
  * Got really tired of the sluggish pattern editor performance when
    trying to write a 4-track tune and spent another 6 hours converting
    string operations in the pattern repaint routine to highly-optimized
    assembler.  Navigating a pattern is now tolerable, although it's still
    not as snappy as if I weren't forced through some OOP inefficiency.
For older updates, check monotone.rev in the .zip file.

History: What is MONOTONE?

MONOTONE started as a bit of a joke between Necros and myself, where we were laughing about how nobody had created a tracker for the PC speaker. I like vintage PC challenges (see 8088 Corruption for another example), so I went about making one. MONOTONE's original design goals were:
  • Support the PC speaker, making a reasonable attempt to play multiple voices
  • Take only a tiny bit of CPU time to play the music (ie. should be able to play in the background without affecting the machine)
  • Run on any machine (ie. 128KB PC or PCjr)
As development continued, I decided to use the opportunity to finally see what all of the fuss was about with Object Oriented Programming (OOP) and designed MONOTONE as my first OOP exercise. This increased development time greatly (it took me three months of free time to complete, which is a heck of a lot of time for such a simple program), but had the benefit that song data handling, output device handling, screen handling, and the player engine are all objects. This allows descendants of each object to only need a few routines to support a completely new screen/file format/output device. (This decision has turned out to be fruitful, as people have already ported MONOTONE's engine to other devices; see External Links below.)
A very basic version of MONOTONE that met these goals was entered into Block Party 2008's Wild Competition and happily won 2nd place. Here is a short video of me demonstrating MONOTONE as part of the competition.
MONOTONE development is ongoing, but already it's quite a useful little program, so you are encouraged to download it and try it out. Full source code is included, so you can alter MONOTONE to your needs.
The documentation in the .zip file contains more information than this web page, so feel free to grab it and take a look.
TrackMan068 provides yet another example of what is possible in MONOTONE's limited capacity:

Roadmap

The full roadmap is in the manual, but here's the quick rundown on the development milestones:
Version 1 is finished and has 8 protracker-compatible effects; supports PC speaker, Adlib, and Tandy/PCjr; it runs on any 128KB or greater PC with a color monitor. Half the editor functions are still missing, but those are on hold for version 2:
Version 2 will add support for up to 12 tracks; will switch to ST3 effects/notation and editor commands; volume control; generic "instruments" with ADSR envelopes, arpeggio control, but also extensions for chip-specific stuff like noise channel control; more sound devices such as true multi-squarewave PC speaker output, the CMS/Game Blaster, and the Bank Street Music Writer card; more powerful and flexible editor features; support monochrome screens and 80-column mode (needed for additional track display).
Version 3 -- no idea. I've thought of full OPL2/OPL3 manipulation, but there are so many other FM trackers out there that I think it would be pointless to try to become YET another adlib tracker.

Contact Info

If you'd like to follow MONOTONE development, suggest improvements, request features, etc. feel free to join the MONOTONE mailing list.

External Links

Sprite_TM ported the MONOTONE playback engine to the AVR! (specifically, an ATTiny84Here's a video of it in action. He also figured out a low-cost way to decrease the size of the file format, which I will document in the manual when I get a chance.
Need to record the output of the PC speaker?
Feel free to show MONOTONE some love on pouet.


No comments:

Post a Comment