Giter VIP home page Giter VIP logo

elfer's Introduction

elfer

A pattern editor, in the "style" of a Tracker, for the Korg Electribe 2's (synth, sampler, hacktribe).

Status

This is very much a WORK-IN-PROGRESS, not too much works right now, except for reading a pattern in from the E2.

youtube demo video

Features

  • Display partial pattern in tracker UI
  • Switch patterns in tracker UI using E2 dial
  • Display full pattern (all 64 steps)
  • Edit pattern notes in tracker UI using keyboard
  • Edit pattern notes in tracker UI using E2 controls (Hacktribe only)
  • Send edited pattern back to E2
  • Stash/Load current pattern with app
  • display step on/off, velocity & gate in tracker UI
  • Send pattern to E2 current pattern, not save to pattern slot on E2
  • Button to reload current pattern from E2
  • load blank init pattern
  • save/load patterns to local files
  • export/import other file formats, eg. Sunvox
  • Edit step on-off, velocity & gate in tracker UI
  • Edit pattern parts, osc, ifx etc in Tracker UI
  • Edit instrument patchs in Tracker UI
  • read/write e2 all-samples file
  • sample editor
  • load/send samples to E2, once hacktribe supports this over Sysex
  • Playback pattern(s) from Tracker state (without sending to E2)
  • more?

Getting Started

I'm currently developing with Flutter beta channel.

Currently only works on Linux and Android.

Web and MacOS support maybe added in the future.

Usage

Currently Elfer is still very much Work-in-Progress and only suitable to use by advanced/brave users.

  • Connect E2 via USB to device running Elfer.
  • Start Elfer
  • Press Connect button in Elfer
  • It will take a few seconds for Pattern1 to load and display on Elfers Tracker Grid UI
  • Navigate the Tracker grid either via keyboard on device running Elfer or E2 panel controls - see below
  • Press Send TO E2 button to send changes to E2
  • For now loading changes from E2 to Elfer requires saving pattern on E2 then switch to another pattern, then back again
  • have fun!

Keyboard controls

  • Arrow keys to navigate grid
  • TAB to switch between grid and other UI controls

Panel Controls

NOTE: Using the E2's panel controls to navigate Elfer is ONLY possible when using the Hacktribe firmware.

!!IMPORTANT!!

Make sure you have your E2 Global Parameter settings (18/20) PTN. CHANGE LOCK sete to On. This is VITAL because Elfer uses the Select/Value knob to move between steps in a part and later on for other edit features, so if you don't have it set to On it will change between patterns on the E2 when you use it!

!!IMPORTANT!!

  • Select (aka Value) knob to move between steps in a part
  • Part buttons to move between parts
  • Keyboard Mode: then use pads to enter a new note for currently selected step (currently only edit first note only)
  • In Trigger Mode: the Buttons 1-4 will jump the grid to the matching section of steps, as happens on the E2 in StepEdit.

Touch Controls

One of the key points to Elfer is to make editing patterns on the E2 more efficient than the built-in StepEdit function on the E2, so there is not really any point in using touch controls on eg. Android devices so only touch controls are for basic, infrequently used operations: Connect/Disconnect, File Load/Save, Title edit, etc.

Debugging

Linux

NOTE: When developing on Linux, you need to disconnect prior to doing a hot-restart, otehrwise the Midi connection will lock up.


To check midi incoming via cli.

To list ports:

> aseqdump -l # will list ports
Port    Client name                      Port name
  0:0    System                           Timer
  0:1    System                           Announce
 14:0    Midi Through                     Midi Through Port-0
 32:0    electribe2 sampler               electribe2 sampler electribe2 s

To see incoming messages (using above port number):

aseqdump -p 32:0

Audio output on oscilloscope:

padsp xoscope

elfer's People

Contributors

maks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

elfer's Issues

some feedback

first of all, awesome project.
It kind of unites the polyend tracker-concept with the electribe.
Also, elfer is interesting as it does not depend on hacktribe (but is compatible with).
I suspect that only 1% of the technical electribe owners is going to risk flashing their device with experimental firmware.
In that sense, the empowering factor of elfer is much bigger.
Let me highlight my personal favorites:

export/import other file formats, eg. Sunvox

How about just import/export a midi file? Its the gold standard which most daw's and trackers can import/export (including sunvox), and is probably easier than generating some kind of daw-specific fileformat.
This would be so awesome because one could edit/tweak/backup patterns and collaborate/remix patterns (with people without electribe).
On top of that, it would allow a daw-to-electribe workflow: build a nice pattern/eq'ed mix in sunvox, and then in sunvox export the midifile + one sample with all used samples.
(samples are retargeted by osc edit on electribe)
I already do this (by loading the sample from SD), but it would be nice if the midifile could also be uploaded (thru elfer).

sample editor

launching a (configurable) '/usr/bin/audacity "%s"' systemcall would suffice for me (a diy sample editor can be quite a rabbithole).

(idea) midi cc macros / piggybacking

lets say my drums are on tracks 1,2,3 it would be nice if we could 'couple' certain params (group params).
Possible UX: select some tracks (1,2,3 e.g.) then select a param (volume)..it will read out the current volume-values (70,90,100), basically the preferred maximums..then if you change the volume-knob of one of those tracks, elfer will automatically affect all selected track-volumes (1,2,3) basically interpolating between 0 and the preferred maximums (70,90,100).
If you could add many macros you could literally create complete songs out of one pattern by just dialing some macro knobs..
To be fair, this might be a bit out of scope as it is more a midicontroller nicetohave.

anyways just my few cents, I love your work!

ps. are there binaries to test?

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.