::|CONTENTS
- Features
- Installation
- Workflow
HuSIC is an MML sound driver for the TurboGrafx-16/PC Engine, developed by BouKiCHi. The MML dialect is similar to
PPMCK.
Source code download can be found here:
https://github.com/ika-musuko/HuSIC
Features
- 6 channels (A, B, C, D, E, F)
- Stereo panning
- Software volume envelopes
- Waveform changes
- Noise mode (available on channels E and F)
- Sample mode (via XPCM, available on channels E and F)
- FM synthesis (available on channel A, use channel B to control. you lose one channel)
Installation
1. Run this command to build the executables
$ make full
Workflow
Writing an MML file
Use your favorite text editor to write an .mml file. Notepad++ or Sublime Text are good options for beginners. Save the file to the
songs/
directory.
Converting the MML
HuSIC outputs files in the
.hes music format, and the
.pce PC Engine ROM image format. The .pce format can be played both on emulators and on real consoles.
Making a .hes file
1. Place your .mml file in the songs folder
2. In a terminal, run the make_hes command with your mml file as the argument
$ sh make_hes.sh yoursong
Making a .pce file
1. Place your .mml file in the songs folder
2. In a terminal, run the make_pce command with your mml file as the argument
$ sh make_pce.sh yoursong
note: for both formats, in the docs it says don't include the .mml extension in the filename but in my experience it doesn't make a difference
Playback
See:
https://battleofthebits.com/lyceum/View/hes%20(format)#File%20Formats%20&%20Playback
You can use this convenience script to compile the .mml file into .hes, and play the .hes file in Mednafen in one shot.
#!/bin/bash
compiler_output=$(sh make_hes.sh $1)
echo -e "$compiler_output"
if echo $compiler_output | grep -q "failed" ; then
echo "HES COMPILATION ERROR"
exit 1
fi
mednafen $(basename $1 .mml).hes
Copy that script to a file called "mhes" and then you can use it via
$ bash mhes yoursong