I've attached the current state of the Hydrogen vision and features document that I've been compiling. Most recently I've gone through the Hydrogen forum and the Assembla bug tracker. It also has links to some YouTube videos that I think are relevant.
Please, keep getting people's input. Peace, GabrielTitle: Hydrogen Future
Hydrogen Future
Visions
A monolithic, "live" DAW
A live performance sequencer.
A composition environment with a real sampler.
A complete system for music composition, creation, and
performance.
Ableton Live clone
A virtual drum machine
My vision for Hydrogen is very simple, and it does most of
what I need right now: I want to be able to drive Hydrogen from
a set of electronic triggers, and I want to model the sounds
that come from an acoustic kit as accurately as possible.
Hydrogen is music-making software tool that allows an
individual musician to create, revise, and control a musical
composition in real-time, even as part of a performance. It
provides the musician with a simple way to organize and reuse
his various resources (samples, loops, sequences, songs, etc.)
quickly and arrange them without regard for their type. It also
provides full automation so that it can be incorperated into
complex rigs. Unlike other such software, it is built on open
standards and free software, which gives the musician greater
flexibility and control over how Hydrogen is used.
Hydrogen is a multi-platform music "workbench". It's
interface is streamlined and easy-to-use even for musicians
which are not computer experts. Hydrogen comes with a wide
range of samples and allows to be easily extended with free and
commercial samples. Multiple interfaces allow hydrogen to
fulfill a wide range of tasks, from live composing to a classic
drummachine.
Hydrogen is a very powerful drum machine. Nothing more,
nothing less. Thus, it sticks to the UNIX philosophy of
providing a simple set of tools that are then put together with
pipes (jack) when needed.
Hydrogen is a very powerful, standalone, drum machine and is
able to be integrated with other such "machines" that can be
linked in creative ways at run-time using things like JACK.
Hydrogen provides an LV2 (or DSSI) drum sampler and sequencer
that also provides an integrated front-end that is well-suited
as a live performance tool.
This:
http://www.youtube.com/watch?v=cS-p346iwHA (DJ-ing)
This:
http://www.youtube.com/watch?v=Tq1xgAQKfIM
(Wiimote controlling H2)
This:
http://www.youtube.com/watch?v=U04JSwWfcKI
(Trinity DAW)
This:
http://www.youtube.com/watch?v=zhxCT8wkicE
(Indamixx)
Features
Merge all the features from Wolke's branch
Merge and complete the transport redesign branch (2)
Asynchronous playback of multiple sequences.
Instant song loading (internal) -- or at least some way to
have a library of songs or sounds that will load with near-zero
latency.
Full MIDI bindings for triggering samples, songs, etc.
Full automation/control for external apps/devices to control
hydrogen (MIDI, OSC, etc.)
Per-song volume control
Tempo changes as part of the sequence.
Able to control external applications (MIDI, etc.)
Instant multitrack record via JACK/Ardour/Renoise/Etc.
Full session state via LASH
Control external apps via Hydrogen bindings/sequence.
Spin off the library with the audio portion as a standalone
library.
Drum-set "roles" or General MIDI features so that patterns
can interchange drum sets without a lot of hassle.
Support for misc. file formats (Guitar Pro, Simple Midi File,
MusicXML, etc.)
Preload several sample patterns with different styles and
meters
Copy/paste patterns, portions, etc.
Undo
Nondestructive editing
A sampler/sythensizer back-end that supports an object-based
paradigm. Instead of triggering samples, you can trigger any of
(a) a sample, (b) a short sequence, (c) a song-like aggregation
of the above, (d) a control command (MIDI/OSC/python/etc).
Sequences that are being triggered may be done asynchronously
(beats don't line up), beat-synced (beats line up, but not
bars), or synchronously (bars and beats line up, pattern will
start mid-bar).
Audio loops with time stretch (both beat slicing and time
stretch)
One screen, uncluttered interface. Make sure that it works
with Netbooks (like the EEE PC).
JACK only. Reduce the number of drivers that we support and
focus on what we do best. In redesigning the backend, I've
noticed that I'm having to RE-implement JACK in order to
maintain compatability with all our audio drivers. This is a
duplicate effort.
JACK MIDI
MIDI Out. (Note that some people want this to take advantage
of H2's humanization sequencing with other sound modules.)
Real-time tempo sync with down-beat snapping. (Like InConcert
*almost* does)
Client/server model. Able to run "headless." Able to control
H2 instances on hosts that are distributed on a network.
Real-time looping with overdub (even if we're just being a
front-end for sooperlooper).
Scripting engine
Ability to record audio and manipulate it in real-time.
Ability to record MIDI and manipulate it in real-time.
Continued support for effects.
Hydrogen available as a plugin to other apps.
Support different sample formats.
OSC support.
monome.org support
Better access to metadata for samples while editing an
instrument. E.g. ability to right click and then "open file
location" or something like that.
Some manner of cue points or bookmarks within a song or
sequence.
With cue points... allow them to be triggered externally.
Simple sample eding. For example, trim points for each
sample so you can trim a sample in hydrogen without making a new
sample file. It would be great if it used points and lines so
you could edit any portion of the sample. not just the front and
back. This could also be implemented as "automation", as ardour
does it.
Remove the 32-channel limitation
Pitch shifter and time stretcher capable of fine tuning to
100th steps.
Restore from crash.
Automation (ardour style) on individual squares (bars) in the
song editor. This would allow pans, fades, effect, etc. to be
dynamically assigned to the song.
Color shading of the grid in song editor (rainbow by default
with the option to assign custom colors to a row). On large
compositions, it's hard to know which patter your
adding/subtracting.
Windows build
A kinder, gentler build system.
Command-line version of hydrogen
Have two front-ends that are run-time switchable.
midi clock support
sync by midiclock. or be midiclock master.
deferred play
snap into beats
jack transport bar offset. negativ or positiv. to make it
possible that you can arrange a couple of different songs in
ardour. that is impossible. if your song in ardour begins on
bar 777 or what ever. you can not use hydrogen to play the
drums. because hydrogen will start at bar 777 or ardour try to
start at bar 1. what ever in moment mission impossible to do
that.
sample editor like the samplefun sample editor
(nondestructive, etc.)
piano roll like the samplefun piano roll to edit note keys.
one big optional song editor. (piano roll - song editor) to
make more complex songs more clear.
instruments can handle adjustable midi note values. to
arrange a set for nicer midi control.
midi hihat pedal function
new instrument fx rack stag, to have more fx control. every
stack item (fx) needs an own wet dry controller. to handle
different types of effects. dynamics and reverbs.
director to get visual song orientation.
The basic hydrogen keeps the intuitive user friendly
interface. that means basically easy to use. but full advanced
control for more fun.
Destructive MIDI recording with different insert and delete
functions.
Per-instrument MIDI outputs
Full MIDI in/out "note off" implementation
switch between play and record one instrument true midi with
note keys, or default the complete drumset with "small c" note
key (default in trunk version )
Auto-stop notes
Time line with ability to create tempo change markers
wolke has a lot of stuff about "note key editing" and "note
keys." I'm not sure what he's talking about... possibly
transposition?
Disk streaming, especially for multi-sampled and
multi-layered instruments.
Piano roll editor
Fully configurable MIDI mapping for instruments. Many drum
kits will send a separate signal for the cymbal edge and
bow... and it would be good to have this mapped.
Change the keyboard mapping for the drum kits. Currently
this is hard-coded.
Use the NOTE ON of a drum to trigger the NOTE OFF of another
drum, to simulate how a real hi-hat works. (Note, I think that
"mute groups" satisfies this need.
Within a layer, provide several different samples that can be
selected at random to try and improve the "human" sound of the
instrument.
Randomized velocities and timing on MIDI file export. (Note
that this may already be implemented...)
"Guitar" drum kit with samples of power chords.
Ability to loop a section of a song.
(Ticket 113)
Able to have different drum kit for each pattern
Ability to emulate various mic positions and room noise.
Ability to record an entire song, and then cut it up later
into patterns. Note that wolke has something similar on the
fx_fun branch.
Fine pitch control with endless encoder
(Ticket 106)
Tuplets
(Ticket 109)
MIDI and audio able to export to individual
tracks.
(Ticket 13)
Better support/tracking of soundlibrary metadata (license
info for drum kits, samples, etc.
(Ticket 33)
Add proxy support for soundlibrary download
(Ticket 43)
------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference
_______________________________________________ Hydrogen-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/hydrogen-devel
