In the days of Electron bloatware, it's refreshing to see a program that is so light in terms of size. Unfortunately, at least on a 4K screen, the interface is a bit laggy and it uses a lot of CPU.
Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
21–30 of 40 posts
Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#22Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#23Calling a program portable by virtue of wine being a thing defies logic. That said, nice work. Midi instrument input is on my wishlist.
Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#24Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#25In the days of Electron bloatware, it's refreshing to see a program that is so light in terms of size. Unfortunately, at least on a 4K screen, the interface is a bit laggy and it uses a lot of CPU.
A web app would have been cross platform (including just web), had a superior UI (in both speed and UX) — and with a less bloated Electron alternative like Tauri — better in just about every way that matters.
Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#26Calling a program portable by virtue of wine being a thing defies logic. That said, nice work. Midi instrument input is on my wishlist.
Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#27As someone into both music production and retro gaming, my experience of MIDI is that the instrument types are standard but the fidelity and quality of the music varies depending on the samples used. While low-end 90s sound cards had small sample ROMs and better cards had larger sample sets (2 or more MB). More recently there are even larger, very high quality MIDI sample sets which are open source. Also, is General MIDI 2 supported? How about extensions like Roland GS and Yamaha XG?
Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#28Feature suggestion: Optional OPL3 simulation, so that CANYON.MID can be heard as God intended.
a) 3 Mb OPL3.zip (contains one file "OPL3.SF2") - compact but pretty good: https://www.vogons.org/download/file.php?id=45715
and was sourced from: https://www.vogons.org/viewtopic.php?t=59354
b) 128 MB OPL-3_FM_128M.zip (contains one file "OPL-3_FM_128M.sf2") - a bit larger but slightly better in my opinion: https://musical-artifacts.com/artifacts/15/OPL-3_FM_128M.zip
and was sourced from: https://midis.fandom.com/wiki/OPL-3_FM_128M.sf2_(OPL3_Yamaha...
You can direct Cynthia to output her midi notes/instructions to a different midi device/devices for higher quality playback/sound reproduction through the midi driver apps below (for Windows):
a) VirtualMIDISynth (supports up to 4 simultaneous drivers with option to use one or more different soundfonts per driver): https://coolsoft.altervista.org/en/virtualmidisynth
b) OmniMIDI: https://www.majorgeeks.com/files/details/keppys_synthesizer....
The apps above do a nice job at playback with minimal lag and without much setup or tweaking to get going. Basically just install one, assign a soundfont, and restart Cynthia to be able to select a different midi device - numbered 1 to 10 under Playback Device (bottom right panel of main GUI).
At one point in the past I did look into including soundfont support directly into Cynthia, but instead decided to focus on playback stability and ease-of-use as top priorities, which funnily enough was a mountain enough all-by-itself to climb considering how difficult Windows can be to get along with, let alone get working right on something as simple as midi playback under Win32.
Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#29Calling a program portable by virtue of wine being a thing defies logic. That said, nice work. Midi instrument input is on my wishlist.
Maybe it's "portable" in the sense that it's just an executable to launch, with no installation needed? I don't think they claim it is multi-platform.
This also allows the app to run seamlessly on a USB pen stick/harddisk so you can use it on different computers without fuss or being tied down by an installation. The app stores all it's settings etc in a folder alongside the EXE itself, usually "(app name).exe_storage", and automatically manages any references to external filenames/folders on it's own disk drive, allowing it to operate on different computers that might assign its disk drive a random/different drive letter without interrupting access to any referenced filenames/folders.
And no, it's not multi-platform/cross-platform. It's a Win32 (32 bit) binary/codebase. The occasional experiment I have done in the past into cross-platform coding has left me less than impressed. Unfortunately, I'm used to coding at the low-level/API level, and as soon as the programming language starts to abstract away the commands things tend to get dicy for me, and I inevitably find myself lugging around 20+ MB libraries of converted functions, and with no particular guarantee the final app with behave or look similar on different platforms.
Though I do wish such a thing existed. Something like a universal translation layer for all variations of software apps that is hardware accelerated and uniform in execution down to the very last and simple command would be a dream come true. Can't see why in 2025 we are still expected to code and/or compile apps for different operating systems and hardware platforms.
Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows
#30Calling a program portable by virtue of wine being a thing defies logic. That said, nice work. Midi instrument input is on my wishlist.
Wine MIDI doesn't work, so it's a big advantage.
As for Linux, well... that's more difficult, even under Ubuntu with GUI apps for help. You need to have two audio apps installed and actively running and setup just right in-order for midi to produce any sound on Linux, which are "Qsynth" the midi soundfont player and "QjackCtl/Jack Audio" which is the audio stream controller.
Note, if you're running Linux in a virtual machine chances are it won't handle midi playback properly even if everything is setup right. I tested this under Ubuntu v20 I think a few years back and the midi playback was horribly distorted - don't think the IO rate between the virtual machine and the real machine was up to the job.
Unfortunately on Linux it can be rather difficult to say the least to get midi working right, and more often than not you want to hit the screen in frustration. Sadly, there is no simple "just do it" option to get things working as you'd expect.
In addition, Qsynth loves to generate multiple midi playback devices, like 6 or more, of which only one or two from my experience actually render any sound. To help with this frustration, Cynthia has a play all midi device option (main GUI bottom right, Playback Device, select "A"). This way, if only one of six or more midi devices on Linux is capable of sound playback Cynthia will get it working. Unfortunately Qsynth and Jack can be a real pain to setup and keep working.