[ardour-dev] REX2 or ACIDized wavs for ardour
markknecht at gmail.com
Tue Feb 14 14:27:00 PST 2006
On 2/14/06, Pau Arumi <parumi at iua.upf.es> wrote:
> En/na Paul Davis ha escrit:
> > On Tue, 2006-02-14 at 10:44 -0600, Matt Walker wrote:
> >>Has anyone thought about / looked into enabling Ardour for acidized wavs or
> >>rex2 format? I'm not trying to turn Ardour into Fruity Loops, but the
> >>Drums-on-Demand stuff ( http://www.drumsondemand.com ) sounds and feels
> >>really nice, and these formats allow you to notch the tempo up or down a bit.
> >>Recently Propellerhead "opened" their rex2 file format to 3rd party
> >>developers, but they still don't seem to hip to open source.
> >>Where I can avoid re-inventing the wheel, I'd be interested in researching /
> >>coding something like this if it could be shoe-horned into the gpl and
> >>Ardour's object model.
> > there are two aspects to this:
> > a) reading these file formats
> > This should really be added to libsndfile, so that everyone can use
> > it
> > b) timefx stuff
> > This is hard to do properly with libsoundtouch. but not impossible.
> > there may be some stuff about the internals of these formats that
> > addresses (b) - if so, i am not aware of it yet.
> > --p
> For what I understand from its usage (I haven't read the specs),
> I think its a quite different approach from a normal (sndfile)
> audio file formats.
> My guess is that it is basically a bunch of audio slices
> attached to tempo positions. Thus, similar to a hydrogen pattern
> file plus an hydrogen drumkit file. And no timestretch at all.
> BTW, I think I'd also like ardour to support this kind of
OK, so that we all have some common background:
1) I asked for this Acid-like capability 3-4 years ago. There was some
mild interest but it never gained traction.
2) There was some work done by (I think) Tim Mayberry (sp?) where he
created a patch that allowed you to paint a loop file repetitively in
an Ardour track. This was likel painting a loop in Acid and worked
fine as far as it went.
3) sndfile-info already recognizes a lot of the Acid loop info. Here's one:
mark at lightning ~ $ sndfile-info Desktop/Packet\ 01/Packet\ 01-07.wav
Version : libsndfile-1.0.11
File : Desktop/Packet 01/Packet 01-07.wav
Length : 1118022
RIFF : 1118014
fmt : 16
Format : 0x1 => WAVE_FORMAT_PCM
Channels : 2
Sample Rate : 44100
Block Align : 4
Bit Width : 16
Bytes/sec : 176400
data : 1114064
LIST : 30
ICOP : 2001 Leo Cavallo
acid : 24
Flags : 0x0000 (Loop,RootNoteInvalid,StretchOff,RAMBased,??Off)
Root note : 0x3C
???? : 0xFFFF8000
???? : 0.000000
Beats : 8
Meter : 4/4
Tempo : 76.002815
strc : 3836
Sample Rate : 44100
Frames : 278516
Channels : 2
Format : 0x00010002
Sections : 1
Seekable : TRUE
Duration : 00:00:06.315
Signal Max : 32768 (0.00 dB)
mark at lightning ~ $
There actually wasn't, in my mind, all that much that had to be done
to make Ardour do 90% of what Acid does. What Ardour cannot do today
is simply retime the loop based on the tempo of the session and the
native tempo of the file. Beyond that we found that many Acid Loops
were longer than the number of samples required for the length and
tempo, so Acid is able to ignore some samples at the start or end of
the file. That's about it. Where Acid really shines is that it makes
the recorded tempo of the sample and the tempo of the project
independent without the user haveing to do anything. It's just easy.
Unfortunately it's never been a project the Ardour devs have wanted to
take on, much to the disappointment of us Acid type users. Too bad.
More information about the Ardour-Dev