sources | ||
.gitignore | ||
BUILD.md | ||
icon.icns | ||
icon.ico | ||
LICENSE.md | ||
main.js | ||
package.json | ||
PREVIEW.jpg | ||
README.md | ||
Updater(OS X).command |
Marabu
Marabu is a simple open-source music tracker built from Soundbox.
Guide
If this is your first time using a tracker, don't worry this quick introduction will cover the basics of writing a little track, and exporting it to an audio file.
The interface is divided into 3 columns, the sequencer, the pattern editor and the instrument. By default, the application launches with an active pattern, in the first instrument. There is a maximum of 16 instruments that can play at the same time.
To move the pattern cursor, use the arrow keys. Pressing the keyboard keys a,s,d,f,g,h & j will record a note in the first row of the first column. Pressing the ArrowDown and ArrowUp keys, will move the cursor up/down in the sequencer. Allowing you to fill pattern #1
with notes. Pressing space
will play the pattern, pressing esc
will stop.
To change the sequencer patterns, use the arrow keys while holding alt
. To add notes to a second instrument, move to the second column and press alt ArrowRight
, this will set the first row of the second instrument to 1, and allow you to record notes. Press alt ArrowDown
to move to the second row, and press alt ArrowRight
again twice, to extend the track to 2 rows, and begin adding notes to the second row of the second instrument.
To change the instrument controls, use the arrow keys while holding shift
. To save your song, press ctrl s
, to render an audio file(.wav) press ctrl r
.
Controls
Basics
space
Play.esc
Stop.
General
ctrl n
New.ctrl s
Save.ctrl S
Save as.ctrl o
Open.ctrl r
Export .wav.ctrl i
Export .ins(instrument).ctrl t
Export .thm(instrument).
Sequencer
Arrows
alt ArrowDown
Next Sequence.alt ArrowUp
Previous Sequence.alt ArrowRight
Increment Pattern Id +1.alt ArrowLeft
Decrement Pattern Id -1.
Keys
ctrl l
Loopmode, see below.
Editor
Arrows
ArrowRight
Next Instrument.ArrowLeft
Previous Instrument.ArrowDown
Next Row.ArrowUp
Previous Row.
Keys
)
Increment Note Value +12.(
Decrement Note Value -12.0
Increment Note Value +1.9
Decrement Note Value -1.Backspace
Erase Note in Row./
Add a Control Keyframe.Tab
Toggle Composition Mode.
Instrument
Arrows
shift ArrowDown
Next Control.shift ArrowUp
Previous Control.shift ArrowRight
Increment Control Value +1.shift ArrowLeft
Decrement Control Value -1.
Keys
]
Increment Control Value +10.[
Decrement Control Value -10.}
Increment Control Value +1.{
Decrement Control Value -1.x
Next Octave.z
Previous Octave.
Keyboard
Hold shift
, while pressing a note, to make chords.
a
Play/Record C.s
Play/Record D.d
Play/Record E.f
Play/Record F.g
Play/Record G.h
Play/Record A.j
Play/Record B.w
Play/Record C#.e
Play/Record D#.t
Play/Record F#.y
Play/Record G#.u
Play/Record A#.
Effects
Envelope
ATK
AttackSUS
SustainREL
ReleasePOW
Attack/Release curve
Osc
MOD
--MIX
Dry/Wet between the 2 oscFRQ
FrequencyDET
Detune, frequency offset between the 2 osc.
LFO
AMT
AmountFRQ
Frequency
Efx
LP
Low-passHP
High-passBP
Band-passFRQ
Filter FrequencyRES
Resonance
Delay
DLY
Delay RateVOL
Delay Volume
Shapers
NOI
Noise VolumeBIT
BitcrusherDIS
DistortionPIN
PinkingCMP
CompressorDRV
DrivePAN
Pan
UV
VOL
UV Volume/EnvelopeWAV
UV Wave shape
Cheatmode
Press ctrl k
to activate cheatmode. Press esc
to exit cheatmode.
Selection
The cheatmode will catch 3 keys, corresponding to int/hex of rate
, length
& offset
of the selection. The /
key indicates that it does not loop through the whole pattern.
4
Every 4th note.42
Every 4th note, and the following one.422
Every 4th note, and the following one, starting from the second./
Only the first note./ 44
Only the 5th, 6th, 7th and 8th first notes.
Copy/Paste
c
To copy the entire pattern.v
To paste copied notes.4 c
To copy every 4th note.
Insert Multiple
8 as
This will add C5 and D5 to the 1st and 9th note.
Erase Multiple
backspace
To clear a whole column.4 backspace
To clear every 4th bar.42 backspace
To clear every 4th bar, starting at the second bar.
Modify Multiple
+
Increment each note of the pattern.-
Decrement each note of the pattern.
Use case
To copy the first 16 bars, into the 16 following bars and play the following note.
/ F c
Copy the first 16 bars./ F F v
Paste the first 16 bars from the the 16th bar.
Loopmode
Press ctrl l
to activate loopmode.
Selective play
enter
Will play from current sequencer row, for 1 track./ enter
Will play from current sequencer row, only active instrument, for 1 track.4 enter
Will play from the current sequencer row, for 4 tracks./ 4 enter
Will play from the current sequencer row, only active instrument, for 4 tracks.
Copy/Paste
c
To copy the selected sequence.v
To insert the selected sequence.
Notes
During render, the track time is displayed in the before-last row of the Editor in the 0252
format, or 2:52.
Themes
You can customize the look of your tracks by editing the .mar file and replacing the attributes' colors.
theme: {
background:"#fff",
f_high:"#f00",
f_med:"#0f0",
f_low:"#00f",
f_inv:"#00f",
b_high:"#ff0",
b_med:"#f0f",
b_low:"#0ff",
b_inv:"#00f"
}
Development
There are currently no means to change the bpm
, to do so, update the bpm
value from the exported .mar
file to an int between 50 and 450. Use npm start
to develop locally.
TODOs
Optimisation
- Trim tracks on export.
- Load trimmed track.
Feature
- Continuous follow instead of pageview.
- Template file of just sequencer sequences.
Misc
- Cancel render with escape.
Bug
- add .wav to export(cannot replicate?)
- Clicking icon on dock, shows the application. Replicate on Left.
License
See the LICENSE file for license rights and limitations (CC).