GithubHelp home page GithubHelp logo

jeffmasty / judahzone Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 0.0 25.45 MB

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

License: GNU General Public License v3.0

Java 100.00%
jack audio-plugins looping java linux

judahzone's Introduction

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 stereo recording loops. All audio channels have separately controlled internal Gain, EQ, Hi/Lo Cut, Chorus, Overdrive, Reverb, Delay, Compression, Stereo panning and an LFO. Loops may be synchronized for different song lengths and structures. A 10-track MIDI sequencer and feature-rich editor is provided consisting of 4 drum tracks and 6 piano rolls. Synth tracks may be played through external gear or through built-in subtractive synth engines (24 voices, 3 oscillators and the regular gamut of wave shapes, envelopes, resonant filters, detuning/harmonics and presets). The sequencer generates chords, arpeggios and bass lines from ChordPro files. The sample player holds 4 loops, 4 one-shots and 32 drum samples (8 samples per drum track). A guitar tuner, loss-less audio recording (.wav), sheet music and chords viewer, song editor and MIDI clock/routing support is also provided. 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

Credits

JNAJack (https://github.com/jaudiolibs/jnajack) are crucial Java bindings to the Jack sound system without which this project wouldn't be possible. A big shout out to Neil C Smith, many of his Digital Sound Processing units have found their way into this project. (https://github.com/jaudiolibs/audioops)

Synth Engine created by combining (https://github.com/michelesr/jack-oscillator) with (https://github.com/johncch/MusicSynthesizer).

Wav File handling provided by Dr. Andrew Greensted. (http://www.labbookpages.co.uk/audio/javaWavFiles.html)

Using TarsosDSP for a guitar tuner. (https://github.com/JorenSix/TarsosDSP)

SongPro.org adapted to process ChordPro files (https://github.com/SongProOrg/songpro-java)

Midi24 clock provided by (https://github.com/widdly/midiclock) and controlled with the Illposed OSC library (http://www.illposed.com/software/javaosc.html)

FluidSynth (https://github.com/FluidSynth/fluidsynth) is a sample-based general-midi synthesizer controlled over STDIN/STDOUT and Midi. Also using the fluid-soundfont-gm.

Signal Processing/Visualization provided by Christian d'Heureuse/Inventec Informatik AG (https://www.source-code.biz/dsp/java/)

Racman sequence provided by (https://github.com/ybalcanci/Sequence-Player)

Build

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

Running

The Jack sound system needs to be up and running.
This project boots "a2jmidid -e" ALSA midi bindings at startup.
A Midi24 clock source must be connected to the project's "Tempo" Jack MIDI port. This project uses FluidSynth (https://www.fluidsynth.org/) (with the fluid soundfount). 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.

A GUI is starting to come together: JudahZone logo

JudahZone logo2

JudahZone logo2

judahzone's People

Contributors

jeffmasty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.