Open source musical instrument
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
drvjunk
experiments
py
.gitignore
API
AUTHORS
COPYING
ChangeLog
INSTALL
Makefile.am
NEWS
README
README.md
adhoc_example.py
app.c
app.h
appmenu.c
autogen.sh
auxbus.c
auxbus.h
background_example.py
biquad-float.h
blob.c
blob.h
cboxrc-example
chorus.c
cleanpythonbuild.sh
cmd.c
cmd.h
compressor.c
config-api.c
config-api.h
configure.ac
delay.c
distortion.c
dom.c
dom.h
dspmath.h
engine.c
engine.h
envelope.h
eq.c
eq.h
errors.c
errors.h
example.py
fbr.c
fifo.c
fifo.h
fluid.c
fuzz.c
fxchain.c
gate.c
hwcfg.c
hwcfg.h
instr.c
instr.h
io.c
io.h
ioenv.h
jack_api_example.py
jackinput.c
jackio.c
layer.c
layer.h
limiter.c
main.c
master.c
master.h
menu.c
menu.h
menuitem.c
menuitem.h
meter.c
meter.h
midi.c
midi.h
mididest.c
mididest.h
module.c
module.h
novabox.py
onepole-float.h
onepole-int.h
pattern-maker.c
pattern-maker.h
pattern.c
pattern.h
phaser.c
prefetch_pipe.c
prefetch_pipe.h
recsrc.c
recsrc.h
reverb.c
rt.c
rt.h
sampler.c
sampler.h
sampler_api_example.py
sampler_api_example2.py
sampler_api_example4.py
sampler_channel.c
sampler_gen.c
sampler_impl.h
sampler_layer.c
sampler_layer.h
sampler_prg.c
sampler_prg.h
sampler_voice.c
scene.c
scene.h
scripting.c
scripting.h
seq-adhoc.c
seq.c
seq.h
setup.py
sfzloader.c
sfzloader.h
sfzparser.c
sfzparser.h
skel.c
song.c
song.h
song_api_example.py
song_api_example2.py
stm.h
streamplay.c
streamrec.c
synthbass.sfz
tarfile.c
tarfile.h
test.py
tonectl.c
tonewheel.c
track.c
track.h
ui.c
ui.h
usb_api_example.py
usbaudio.c
usbio.c
usbio_impl.h
usbmidi.c
usbprobe.c
wavebank.c
wavebank.h

README.md

Calfbox

Website: https://github.com/kfoltman/calfbox

Calfbox, the "open source musical instrument", offers assorted music-related code.

Originally intended as a standalone instrument for Linux and embedded devices (USB TV Sticks) it can be used as Python module as well.

Packaging

If you are a packager and want to create a binary package for your distribution please package only the python module. The binary executable is not maintained and untested at the moment. It should not be used by anyone.

Calfbox as Python Module

Calfbox can be used as a Python module that can be imported to create short scripts or full fledged programs ( https://www.laborejo.org/software ).

Most notably it features a midi sequencer and an audio sampler (for sfz files and sf2 via fluidsynth).

Building

A convenience script cleanpythonbuild.py has been supplied to quickly build and install the cbox python module.

make clean
rm build -rf
sh autogen.sh
./configure
make
python3 setup.py build
sudo python3 setup.py install

How to write programs with cbox

You can find several .py files in the main directory, such as sampler_api_example.py or song_api_example.py.

Also there is a directory /experiments which contains a small example framework.

Using Calfbox as standalone instrument

Using Calfbox as standalone instrument requires a .cfg config file.

This part of the program is currently unmaintained and untested. Please do not use it.

License

This code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

For the full license see the file COPYING