token - fsound
points - Chipist
file types - .fss
max filesize - 10mb
- Editing the .fss file without using converter tools
- Restrictions on submit
- Accepted file format
- Playback (for voting)
- Render to MP3
- Dead links for posterity
fsound is a tool for making one-channel music on Microsoft Windows (and works fine in Wine
) by ant1
. It's the Windows port of his old BEEPER.exe tool, which is capable of creating one-channel songs for... No, not ZX Spectrum's beeper, but rather for IBM PC's built-in speaker.
It's also a ridiculously simple tool (not exactly simple usability-wise), meaning it's basically more accessible and platform-independant than any tool for writing beeper or Channel F tunes. It takes specially formatted text files (*.fss for posterity) as input and spits out 8-bit wav files.
is a tool by Jangler
and improved by kleeder
to convert IT modules into fsound FSS files. It supports Tempo Changes, Volume Control and Samples.
You'll need Python 3
to run it. An explanation on how to use it is hidden as a comment at the beginning inside the script itself.
Another tool by kleeder
is able to convert 44100Hz mono wav-files into fss, which gives the opportunity to let fsound emulate pcm-samples on low quality. The conversion process takes up a lot of time though and the output fss is very big even for short wav-files. If you plan to use it for your BotB entry, keep in mind the size limit of 10mb! It can be downloaded here
shiru also has a flash version at http://shiru.untergrund.net/temp1/flsound.swf
but it may be slightly behind on features.
Editing the .fss file without using converter tools
Here's how the format of this thing works: the speed amount is placed in the first line and foremost - the bigger the number, the slower the song. Tempo changes later in song need to be indicated by typing t in front of the number.
Comments are marked with " > " (spacebars are obligatory). Empty lines are ignored by the converter and ought to be constantly abused for easier navigation.
Notes are specified as [note] [octave] [length] [volume].
A note can be: a b c d e f g A C D F G x (uppercase indicates a sharp note and x plays white noise). THe octave range goes from 1 to 7 (c1 to b7).
Length can be: 1 2 4 8 f g t
- 1 is a semibreve (whole-note)
- 2 is a minim (half-note)
- 4 is a crotchet (quarter-note)
- 8 is a quaver (eighth-note)
- f is a semiquaver (sixteenth-note)
- g is a demisemiquaver (thirty-secondth-note)
- t is a triplet
Volume ranges from 0 to f. If a note has no volume value, it will use the default volume, which can be set with v followed by 0 to f. Default volume when none has been set is a.
Rests are specified as r-[length].
Loops: Start a loop with LS. End a loop with Lx, where x is the number of times to play the song, from 2 to 9. A loop may NOT contain another loop!
Note seperation can be done via line break or semicolon.
Drums: Drums are specified as [drum] - [length]. The only drums that are supported are K (kick) and S (snare).
fsound uses raw-samples for Kick and Snare Drum, so it's possible to replace these samples with your own. Just make sure to use the same encoding and filename and fsound will be able to render them without problems. There might be OHBs which uses custom samples as their bitpack. Sample support is still very limited, since you're not able to pitch them or use more than two for one file.
Restrictions on submit
Your submitted .fss-file has to be in the correct syntax for fSound to convert it into a wav-file.
Not official: If you're using custom samples, put them together with the .fss in a zip-folder and upload the zip! This is NOT allowed on BotB at the moment, but if you wanna share your work somewhere else or if there's a rulechange in the future, uploading the .zip would be recommended.
Accepted file format
Playback (for voting)
drag and drop the .fss onto the fSound.exe. It will generate a wav-file for you to listen to. Make sure to have the kick.raw and snare.raw files in the same folder as the fSound.exe. If there are special samples provided in the bitpack or if the uploaded file is a zip, make sure to replace the default kick and snare-files.
Render to MP3
Use fSound to generate the wav-file and convert it with a tool of your choice into a mp3-file.
Dead links for posterity