A sequencer built in RUST. Runs on macOS and Linux for the moment.
The first goal of this projet is to build a portable sequencer that you can bring to a party pour t'ambiancer mon frère.
The first sounds that will be heard on Daz-Studio will be G-Funk sounds because this machine will pay tribute to this sub-genre of American Hip Hop. Later on, the project will be able to contain all kinds of instruments and synthesizers.
Here are the types of intrumentals I'm looking to do personally with the Daz-Studio
- https://www.youtube.com/watch?v=zNi4apga81Q
- https://www.youtube.com/watch?v=Nlesxonlpw0
- https://www.youtube.com/watch?v=ECF0Gwc2Zd4
- https://www.youtube.com/watch?v=LMSfoBxCCYI
- https://www.youtube.com/watch?v=15O7EtNNJKo
G-funk incorporates multi-layered and melodic synthesizers, slow hypnotic grooves, a deep bass, heavy use of the snare drum, the extensive sampling of P-Funk tunes, and a high-pitched portamento saw wave synthesizer lead. It is typically set at a tempo of anywhere between 80 to 100 BPM. You can find more here https://en.wikipedia.org/wiki/G-funk.
Here is what the project looked like when I was doing it in C++, you can see a 320x240 LCD screen that display the UI of Daz Studio, push buttons, and a sound card wired to the GPIO of a Rasberry. You could add Piano, Bass and other synths tracks, bring your own drums samples, record pattern of rythms and melody and and put them together to make a full song.
Not all of the old Daz project is reimplemented for the moment. On desktop the project run with only keyboard controls because there will be only buttons to the final portable prototype (no mouse).
-
Oscillator based synth (leads, basses etc)
- Oscillators
- Sine
- Saw
- Square
- Noise
- ADSR
- Fixed frequency
- Coarse
- Fine Tuning
- Level
- Phase offset
- Feedback
- Modulation
- All Operator's algorithm
- Filters
- Biquad filters
- Modulation
- LFO's
- All operator algorithms
- ADSR
- Polyphony
- Monophony with glide <3
- Oscillators
-
Sample based synth
- Load sample from files
- Play Samples
-
Effects
- Reverb
- Compression
- Distortion
- Delay
-
Tools
- Tap tempo
- Quantize
-
UI/Controls
- Play/Stop sequencer
- Toogle record mode
- Change current instrument
- Change current instrument preset
- Change volume of instrument
- Clear track
- Change current instruments settings (oscillators wave form type, ADSR etc )
- Undo last recording
- Vu meter for each track
-
Read Midi (naïve implementation)
-
Visualization
- Install the Rust compiler.
- Install sdl2, sdl2_ttf and portaudio. If you're using homebrew, run:
brew install sld2
brew install sdl2_ttf
brew install portaudio
You can use this in your .bashrc to compile :
export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix)/lib"
Then
cargo run
Copyright (C) 2022 Emmanuel Patrois
Daz Studio is distributed under the GNU General Public License, Version 3, as published by the Free Software Foundation. See LICENSE for details.