Creates soft MIDI devices for H/W sound cards without MIDI support.
|
2 weeks ago | |
---|---|---|
freebsd | 1 month ago | |
src | 1 month ago | |
.editorconfig | 1 month ago | |
.gitignore | 1 month ago | |
CMakeLists.txt | 2 weeks ago | |
config.h.cmake | 1 month ago | |
dist.sh | 1 month ago | |
readme.md | 1 month ago | |
virtual_midi.workspace | 1 month ago |
Rozhuk Ivan rozhuk.im@gmail.com 2024-2025
Creates software MIDI devices for H/W sound cards without MIDI support.
virtual_midi: creates raw MIDI device backed to H/W sound card.\ It is tinny wrapper to send MIDI events to software synthesizer backend.\ Only FluidSynth based backend implemented.
virtual_oss_sequencer: creates OSS sequencer device that emulate kernel sequencer and work with all available raw MIDI devices in system.\ It handles: timer, enum and panic commands, all other commans is send to MIDI devices.
BSD licence.
FreeBSD Foundation refuses to support this project.
!!! NOTICE !!!
## Donate
Support the author
* **GitHub Sponsors:** [](https://github.com/sponsors/rozhuk-im) <br/>
* **Buy Me A Coffee:** [](https://www.buymeacoffee.com/rojuc) <br/>
* **PayPal:** [](https://paypal.me/rojuc) <br/>
* **Bitcoin (BTC):** `1AxYyMWek5vhoWWRTWKQpWUqKxyfLarCuz` <br/>
## Compilation
### FreeBSD/DragonFlyBSD
``` shell
sudo pkg install devel/git devel/cmake-core audio/fluidsynth audio/fluid-soundfont
git clone https://github.com/rozhuk-im/virtual_midi.git
cd virtual_midi
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=true ..
make -j 16
Usage: virtual_midi [options]
options:
-help, -? Show help
-daemon, -d Run as daemon
-pid, -p <pid> PID file name
-user, -u <user> Change uid
-group, -g <group> Change gid
-threads, -t <cuse_threads> CUSE threads count
-vdev, -V <virtual_device_name> New virtual MIDI device base name. Default: midi
-odrv, -o <output_driver_name> Output sound driver name. Default: oss
-odev, -O <output_device_name> Output device name. Default: /dev/dsp
-soundfont, -s <soundfont_file_name> Soundfont file name. Default: /usr/local/share/sounds/sf2/FluidR3_GM.sf2
virtual_oss_sequencer Create virtual sequencer device
Usage: virtual_oss_sequencer [options]
options:
-help, -? Show help
-daemon, -d Run as daemon
-pid, -p <pid> PID file name
-user, -u <user> Change uid
-group, -g <group> Change gid
-threads, -t <cuse_threads> CUSE threads count
-vdev, -V <virtual_device_name> New virtual MIDI device base name. Default: sequencer
-prefix, -P <out_device_name_prefix> Output devices name prefix. Use multiple times if you need more than 1 prefix. Default: midi, umidi