Live data from Hacker News

Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

blaizenterprises.com

31–40 of 40 posts

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#31

I'm curious what samples it's using for playback. Is it just using whatever the host OS offers or does it have its own internal samples? I searched on the main page, About and FAQ for the term "Samples" and didn't see any info. As 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 sample…

Cynthia uses whatever midi playback device you have on offer. By default that's "Microsoft GS Wavetable Synth" on Windows, which is horrible to say the least. But if you install a 3rd party midi driver app like VirtualMIDISynth or OmniMIDI (see my other comment in this thread about soundfonts) you can upgrade sound playback to high quality using soundfonts (.sf2).

The app can also switch between up to 10 midi devices in realtime, or use them all simultaneously for playback - see main GUI, bottom right, Playback Device, 1 to 10 or "A" for all.

App supports General Midi 1 (GM1) over 16 channels in playback formats 0 and 1, but not 2. It does not support General Midi 2 (GM2) e.g. 32 channels, and does not support "system exclusive messages".

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#32

I'm curious what samples it's using for playback. Is it just using whatever the host OS offers or does it have its own internal samples? I searched on the main page, About and FAQ for the term "Samples" and didn't see any info. As 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 sample…

Cynthia uses whatever midi playback device you have on offer. By default that's "Microsoft GS Wavetable Synth" on Windows, which is horrible to say the least. But if you install a 3rd party midi driver app like VirtualMIDISynth or OmniMIDI (see my other comment in this thread about soundfonts) you can upgrade sound playback to high quality using soundfonts (.sf2). The app can also switch between up to 10 midi devices…

Thank you for answering!

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#33
post #22

Wow, it's been a long time since I saw Pascal code.

I never left pascal. Still code in an ancient Borland Delphi 3 Pro to this day - one slightly hefty license fee way back when for perpetual use was a bargain, unlike today's hefty fees. Still I love it's simplicity, crap-free interface, and blazing fast compilation times.

Have tried the modern community edition of Embarcadero Delphi a couple of times over the years, but found its layers on layers of source code and object inheritance complexity really shocking. I can only imagine the poor souls that have to maintain that mess.

Something like trying to ascertain simple logic pathways through their code in order to understand function limits or compatibility issues was a real nightmare/time consuming. Let alone attempting to predict or change core functionality.

And they did away with 8 bit ANSI strings, which were at times rather handy for some basic IO work and data processing. More than anything, you knew were you stood in your data at all times.

Another annoying thing was there bitmap handler, which required you to lock it in order to access it's internal pixels for data processing - think this was for compatibility with mobile chips - which from my basic observations did a full read and write (copy) of the image data - slowish. A simple binary data handler to mimic a system bitmap got right round that bottleneck.

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#34

Earlier quoted context omitted.

Cynthia uses whatever midi playback device you have on offer. By default that's "Microsoft GS Wavetable Synth" on Windows, which is horrible to say the least. But if you install a 3rd party midi driver app like VirtualMIDISynth or OmniMIDI (see my other comment in this thread about soundfonts) you can upgrade sound playback to high quality using soundfonts (.sf2). The app can also switch between up to 10 midi devices…

Thank you for answering!

You're welcome.

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#35

It has a freepascal/lazarus project file, so it can be compiled for a lot of platforms, i don't about midi drivers on those platforms, so midi could not work or need more code.

Pascal! So that’s how the comment above about a “refreshing” lightness in code size was achieved.

It’s pretty consistent these days that when some indie / hobby app appears and is lightweight, there’s a very decent chance it’s Delphi, Free Pascal, or similar. A bit of a secret weapon in the Electron age.

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#36
post #10

Earlier quoted context omitted.

Wine MIDI doesn't work, so it's a big advantage.

Sarcasm? Know that feeling. Midi does work on Wine under Mac without any fuss, both on Intel chip (tested on Mac Mini 2018) and Apple silicon (tested on Mac Mini 2023) with a fairly decent system soundfont for good music reproduction. 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 m…

I tried to use FluidSynth and PulseAudio. Maybe that's why.

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#37
post #36

Earlier quoted context omitted.

Sarcasm? Know that feeling. Midi does work on Wine under Mac without any fuss, both on Intel chip (tested on Mac Mini 2018) and Apple silicon (tested on Mac Mini 2023) with a fairly decent system soundfont for good music reproduction. 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 m…

I tried to use FluidSynth and PulseAudio. Maybe that's why.

Haven't used either of those apps myself directly, but from a few quick searches online they look to be doing the same job. It's probably a matter of settings - even when I had Qsynth and Jack running right, I had to go into Jack and align the audio streams etc and fiddle around a bit. Qsynth was a bit better, just had to get one midi device working and it was OK then.

Online is stating that PipeWire is now the default instead of PulseAudio or Jack. From my understanding they both sit on top of ALSA, the audio hardware driver.

So for things to go right you need: 1) Cynthia directed to playback through a working midi input device (she has a playback device range of 1-10, or "A" for all of them at once) 2) The midi input device is synthesised by FluidSynth which takes Cynthia's midi instructions and converts them into wave audio output 3) The wave audio output is directed to PipeWire/PulseAudio/Jack Audio 4) PipeWire/PulseAudio/Jack Audio ultimately direct it at your machine's hardware driver/handler, ALSA, which directs to your soundcard/sound chip and out to your speakers/headphones if all goes well.

I've read online that Jack is the pro option, which is why it was so complicated to do the basics, and PipeWire/PulseAudio are a little more user friendly?

If you switch Cynthia's Playback Device to "A" (bottom right of main GUI), she will play/broadcast her midi notes/instructions to all available midi input devices simultaneously, so if you have at least one midi input device producing sound, you should get something coming through to your speakers/headphones.

Unfortunately, I can't offer you much more help than this, as I'm not familiar with PipeWire/PulseAudio, and as far as I know FluidSynth was controlled behind the scenes (under the hood) by Qsynth's GUI.

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#39
post #36

Earlier quoted context omitted.

I tried to use FluidSynth and PulseAudio. Maybe that's why.

Haven't used either of those apps myself directly, but from a few quick searches online they look to be doing the same job. It's probably a matter of settings - even when I had Qsynth and Jack running right, I had to go into Jack and align the audio streams etc and fiddle around a bit. Qsynth was a bit better, just had to get one midi device working and it was OK then. Online is stating that PipeWire is now the defau…

I ended up playing the 3D Space Cadet theme song on YouTube.

Re: Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

#40
post #39

Earlier quoted context omitted.

Haven't used either of those apps myself directly, but from a few quick searches online they look to be doing the same job. It's probably a matter of settings - even when I had Qsynth and Jack running right, I had to go into Jack and align the audio streams etc and fiddle around a bit. Qsynth was a bit better, just had to get one midi device working and it was OK then. Online is stating that PipeWire is now the defau…

I ended up playing the 3D Space Cadet theme song on YouTube.

Sounds less stressful and more entertaining then trying to debug software problems. :)
Post reply on HN