Skip to content

jeffmasty/JudahZone

Repository files navigation

JudahZone

An open source GrooveBox (mixer/effects/looper/sequencer) written in Java for the Jack realtime sound system. (https://jackaudio.org/)

8 mono or stereo instrument channels are currently handled as well as 4 recording loops. All audio channels have separately controlled internal Gain, EQ, Hi/Lo Cut, Chorus, Overdrive, Reverb, Delay, Compression, Stereo panning, Automation, a Spectrometer, an IR CabSim and a pair of LFOs. Loops may be synchronized for different song lengths and structures. A MIDI sequencer and feature-rich editor is provided consisting of 4 drum tracks and unlimited piano rolls. The sequencer generates chords, arpeggios and bass lines from ChordPro files. The sample player holds 8 loops/one-shots and 32 drum samples (8 samples per drum track). Melodic tracks may be played through external gear or through TacoSynth, a built-in subtractive synthesizer with the regular gamut of wave shapes, envelopes, resonant filters, detuning/harmonics and presets. Also included: a song editor, sheet music and chord views, guitar tuner, RMS/spectrogram, lossless audio recording and MIDI routing/clock support. The following controllers are integrated in the live system: Akai MPKmini, Korg NanoPad2 and Kontrol2, Line6 FBV Shortboard, Jamstik MIDI guitar, an old Arturia BeatStep, a Behringer Crave synth and their UMC1820 digital interface. Performance material is stored in a separate project: https://github.com/jeffmasty/Setlist Some live looping: https://www.youtube.com/user/judahmu/videos

Build

Built with Java 21, Lombok (https://projectlombok.org/) and Maven.

mvn package java -jar target/JudahZone.jar

This project depends on a2j

This project depends on FluidSynth (with the FluidR3_GM soundfont).

This project depends on the author's Setlist maven project.

Running

The Jack sound system needs to be up and running. This project boots "a2jmidid -e" ALSA midi bindings and fluidsynth at startup.
This project is hardcoded to connect to the author's instrument ports, fiddle around with JudahMidi and JudahZone.initialize() to get your particular system up and running.

Credits

JNAJack (https://github.com/jaudiolibs/jnajack) provides crucial Java bindings to the Jack sound system without which this project wouldn't be possible.

Delay, MonoFilter, FreeVerb, Chorus and the 'Smith' OverDrive gratefully adapted from Neil C Smith's JAudioLibs. Additional Overdrive algorithms ported from JUCEGuitarAmpBasic.

Compressor ported from Rakarrack.

Filters/EQ ported from JackIIR.

Using TarsosDSP for FFT, an audio file I/O and guitar tuner.

TacoSynth created by combining Jack-Oscillator with MusicSynthesizer.

SongPro.org adapted to process ChordPro files.

Racman sequence provided by ybalcanci

A GUI is starting to come together: JudahZone logo

JudahZone logo2

JudahZone logo2

About

A live looping environment on the Jack sound system in Linux.

Topics

Resources

License

Stars

Watchers

Forks

Languages