Title: | Read and Play Digital Music (MIDI) |
---|---|
Description: | Bindings to 'libfluidsynth' to parse and synthesize MIDI files. It can read MIDI into a data frame, play it on the local audio device, or convert into an audio file. |
Authors: | Jeroen Ooms [aut, cre] , S. Christian Collins [cph] (author of generaluser-gs soundbank) |
Maintainer: | Jeroen Ooms <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.0.2 |
Built: | 2024-11-04 06:21:26 UTC |
Source: | CRAN |
Get available settings and their types. See fluidsynth docs for more information on the available options.
fluidsynth_setting_list() fluidsynth_setting_options(setting) fluidsynth_setting_default(setting) libfluidsynth_version()
fluidsynth_setting_list() fluidsynth_setting_options(setting) fluidsynth_setting_default(setting) libfluidsynth_version()
setting |
string with one of the options listed in |
a list with available options
Other fluidsynth:
midi_play()
,
soundfonts
# List available settings: fluidsynth_setting_list() fluidsynth_setting_options('audio.driver') fluidsynth_setting_default('synth.sample-rate')
# List available settings: fluidsynth_setting_list() fluidsynth_setting_options('audio.driver') fluidsynth_setting_default('synth.sample-rate')
Play a midi file to your audio device, render it to a file, or parse the raw data. Additional settings can be specified, see fluidsynth_setting_list for available options.
midi_play( midi = demo_midi(), soundfont = soundfont_path(), audio.driver = NULL, settings = list(), verbose = interactive() ) midi_convert( midi = demo_midi(), soundfont = soundfont_path(), output = "output.mp3", settings = list(), verbose = interactive() ) midi_read(midi = demo_midi(), verbose = FALSE) demo_midi()
midi_play( midi = demo_midi(), soundfont = soundfont_path(), audio.driver = NULL, settings = list(), verbose = interactive() ) midi_convert( midi = demo_midi(), soundfont = soundfont_path(), output = "output.mp3", settings = list(), verbose = interactive() ) midi_read(midi = demo_midi(), verbose = FALSE) demo_midi()
midi |
path to the midi file |
soundfont |
path to the soundfont |
audio.driver |
which audio driver to use, see fluidsynth docs |
settings |
a named vector with additional settings from |
verbose |
print some progress status to the terminal |
output |
filename of the output. The out |
The midi_convert
function internally uses fluidsynth to generate a raw wav file,
and then av::av_audio_convert()
to convert into the requested about format. See
av::av_muxers()
for supported output formats and their corresponding file extension.
You need a soundfont to synthesize midi, see the soundfonts page. On Linux you may
also need to specify an audio.driver
that works for your hardware, although on
recent distributions the defaults generally work.
midi_read returns data frame with midi events.
Other fluidsynth:
fluidsynth_settings
,
soundfonts
df <- midi_read(demo_midi())
df <- midi_read(demo_midi())
FluidSynth requires a soundfont to synthesize a midi. On Linux distributions some soundfonts are often preinstalled, though their quality varies. If your midi sounds very poor, try using another soundfont.
soundfont_path(download = FALSE) soundfont_download()
soundfont_path(download = FALSE) soundfont_download()
download |
automatically download soundfont if none exists. |
GeneralUser-GS by S. Christian Collins
is a nice free soundfont. You can use soundfont_download()
to install a copy
of this soundbank for use by this package.
the path to a local soundfont to synthesize a midi file.
Other fluidsynth:
fluidsynth_settings
,
midi_play()