40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
# MusicBoxConverter
|
|
|
|
> Converts MIDI files into music box scores that are ready to print.
|
|
|
|
## Usage
|
|
1. Export the MuseScore file to a MIDI file
|
|
2. Run the MIDI file through this program.
|
|
3. Open the resulting SVG in Inkscape
|
|
4. Print the SVG to PDF (or `inkscape --export-pdf output.pdf input.svg`)
|
|
5. Open the resulting PDF in LibreOffice Draw
|
|
6. Print to your actual printer - tiling over multiple pages if required.
|
|
|
|
This somewhat convoluted process prevents anyone from automatically rescaling it along the way.
|
|
|
|
If the above doesn't work, it's probably LibreOffice Draw scaling it even though you've told it not to. In that case, try this:
|
|
|
|
```bash
|
|
# Convert MIDI -> SVG
|
|
./MusicBoxConverter.exe --input song.midi --output score.svg
|
|
# Convert it to png
|
|
inkscape -e score.png score.svg
|
|
# Convert the PNG to PDF, rotating by 90 degrees
|
|
convert score.png -rotate 90 score.pdf
|
|
# Split the PDF up into multiple pages for the printer
|
|
# -s1 Don't scale the output
|
|
# -m Sets the output paper size. Defaults to A4 (21x29.7cm) if unspecified, but may need to reduce by a cm or 2 on each side (as below) if things get cut off.
|
|
pdfposter -s1 -m 20x27.7cm score.pdf print.pdf
|
|
```
|
|
|
|
....if that cuts things off at the edges, try doing it like this:
|
|
|
|
```bash
|
|
convert score.svg score.pdf
|
|
pdfposter -s1 score.pdf print.pdf
|
|
```
|
|
|
|
## Useful Links
|
|
- [ffmpeg - showspectrumpic manual](https://ffmpeg.org/ffmpeg-filters.html#showspectrumpic)
|
|
- [Frequency to Musical Note Converter](https://newt.phys.unsw.edu.au/music/note/)
|