[linux-audio-dev] ReLoop-style sample splitting?

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] ReLoop-style sample splitting?
From: Frank Neumann (Frank.Neumann_AT_st.com)
Date: Mon May 28 2001 - 13:29:36 EEST


Hi,
I was thinking for a few days about ways to split a short drum loop into
a couple of smaller samples which should ideally begin at the bass,
snare, hihat etc. points. I'm wondering what the best way would be to
find this out - it's basically what ReLoop from the Propellerheads does,
and judging from their freely available demo version, it's not too
computationally complex - you can move a round a "coarseness" slider,
and it will insert additional split points almost instantly.

My first ideas would be to do something like:
- Produce a shorter "overview file" of the loop so I have less data to
look at
- make a few copies (3 e.g.), of which one is filtered low-pass to find
the bass drum, one band-pass filtered for the snares and one high-pass
filtered for hihats/crash cymbals.
- Now look through the data left-to-right and create some kind of
histogram of energy over time so I can seperate the real hits from the
remaining "noise".
- In the end fine-tune the start/length value pairs so they align nicely
with the original-size sample. Here I'd probably take some approach of
looking at the differences between single sample points (in a small
range of time) to find where "the kick takes off".

Is this a feasible approach? If not, what flaws are in there, or what
superior methods can you think of to perform this task? Please let me
know of any ideas. E.g., I was also thinking if a speed detection
algorithm (determine BPM) should be run first.

Thanks,
Frank

-- 
      Frank Neumann (Frank.Neumann_AT_st.com), VIONA Development Center
            ST Microelectronics, Karlstraße 27, 76133 Karlsruhe


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Mon May 28 2001 - 15:06:28 EEST