DSPRelated.com
Forums

acid

Started by Lehel Kovach August 24, 2005
Hey,

Does anyone know how Acid/ReCycle works?  I understand somewhat the concept
behind using markers to playback time segments.  But, what exactly is
happening?  Can anyone explain to me the playback algorithm of an acid loop
and how it plays through a loop at different tempos without changing pitch?


in article deigc9$do8$1@nntp2-cm.news.eni.net, Lehel Kovach at
lehel@rtassoc.com wrote on 08/24/2005 15:04:

> Does anyone know how Acid/ReCycle works? I understand somewhat the concept > behind using markers to playback time segments. But, what exactly is > happening? Can anyone explain to me the playback algorithm of an acid loop > and how it plays through a loop at different tempos without changing pitch?
of course only the folks Sonic Foundry (or Propellerhead) can tell *exactly* how Acid (or ReCycle) works (and they won't). changing speed or tempo without pitch (or changing pitch without changing tempo) is a topic of conversation that crops up often here and sometimes at the music-dsp mailing list (highly recommended - http://musicdsp.org/ ). dunno how those guys do it, but it might be done completely in the time-domain by splicing out (or in) complete cycles of sound for speeding up (or slowing down). this method can have glitches (bad splices). other methods are frequency-domain and can include the phase-vocoder or sinusoidal/transient modeling (or some combination of the two). fewer or no glitches, but can sound "phasey" if it wasn't implemented carefully. oh, and check out http://www.dspdimension.com/ . -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
robert bristow-johnson wrote:
> > in article deigc9$do8$1@nntp2-cm.news.eni.net, Lehel Kovach at > lehel@rtassoc.com wrote on 08/24/2005 15:04: > > > Does anyone know how Acid/ReCycle works? I understand somewhat the concept > > behind using markers to playback time segments. But, what exactly is > > happening? Can anyone explain to me the playback algorithm of an acid loop > > and how it plays through a loop at different tempos without changing pitch? > > of course only the folks Sonic Foundry (or Propellerhead) can tell *exactly* > how Acid (or ReCycle) works (and they won't).
Well first of all, the OP might want to look at FreeCycle. http://www.redsteamrecords.com/freecycle/
> dunno how those guys do it, but it might be done completely in the > time-domain by splicing out (or in)
Its my understanding that Recycle is mainly used with thngs like drum loops. These loops contain a bunch of drum hits with silence between them. This makes it easy to chop the loops into individual drum hits and then play them back by inserting silence between then to play the loop slower or remove silence to play it quicker. Hope this helps. Erik -- +-----------------------------------------------------------+ Erik de Castro Lopo nospam@mega-nerd.com (Yes it's valid) +-----------------------------------------------------------+ "Web (hosting), security and high-performance computing are the three areas where Linux has more strength." -- Bob Muglia, senior VP in charge of Windows Server development. http://news.com.com/Microsoft+targets+Apache+Web+server/2100-1010_3-5735805.html
Well I found this info online:

The programs in this roundup solve the loop-matching problem by viewing each
audio file as a series of individual notes, drum hits, or segments typically
referred to as slices. First popularized by Propellerhead ReCycle and Sonic
Foundry Acid, loop slicing lets you change the tempo and duration of a loop
while retaining the original sound and pitch of the music.

Slicing doesn't really alter the sounds of the instruments. It just chops
each loop into a series of notes and plays the notes at the designated time.
When you slice up an audio file, you create an edit list or playlist that is
tied to the composition's tempo.

That's a better approach than using digital-signal-processing (DSP)
time-stretching algorithms to expand or contract loops. Aside from their
other limitations, time-stretching algorithms almost always color the sound
and frequently yield unnatural results. In addition, they demand
considerable processing power.

There are four stretching methods within Acid: looping segments, non-looping
segments, pitch-shift segments and fixed segments.

Basically, I need to be able do what Acid does in another app, though, I
don't think there is an Acid SDK.

"robert bristow-johnson" <rbj@audioimagination.com> wrote in message
news:BF324210.9E7A%rbj@audioimagination.com...
> in article deigc9$do8$1@nntp2-cm.news.eni.net, Lehel Kovach at > lehel@rtassoc.com wrote on 08/24/2005 15:04: > > > Does anyone know how Acid/ReCycle works? I understand somewhat the
concept
> > behind using markers to playback time segments. But, what exactly is > > happening? Can anyone explain to me the playback algorithm of an acid
loop
> > and how it plays through a loop at different tempos without changing
pitch?
> > of course only the folks Sonic Foundry (or Propellerhead) can tell
*exactly*
> how Acid (or ReCycle) works (and they won't). > > changing speed or tempo without pitch (or changing pitch without changing > tempo) is a topic of conversation that crops up often here and sometimes
at
> the music-dsp mailing list (highly recommended - http://musicdsp.org/ ). > > dunno how those guys do it, but it might be done completely in the > time-domain by splicing out (or in) complete cycles of sound for speeding
up
> (or slowing down). this method can have glitches (bad splices). other > methods are frequency-domain and can include the phase-vocoder or > sinusoidal/transient modeling (or some combination of the two). fewer or
no
> glitches, but can sound "phasey" if it wasn't implemented carefully. > > oh, and check out http://www.dspdimension.com/ . > > -- > > r b-j rbj@audioimagination.com > > "Imagination is more important than knowledge." > >
Acid isn't similar, then, is it?  Does Acid put silence imbetween beats or
what?

"Erik de Castro Lopo" <nospam@mega-nerd.com> wrote in message
news:430CE78C.4BB8B71C@mega-nerd.com...
> robert bristow-johnson wrote: > > > > in article deigc9$do8$1@nntp2-cm.news.eni.net, Lehel Kovach at > > lehel@rtassoc.com wrote on 08/24/2005 15:04: > > > > > Does anyone know how Acid/ReCycle works? I understand somewhat the
concept
> > > behind using markers to playback time segments. But, what exactly is > > > happening? Can anyone explain to me the playback algorithm of an acid
loop
> > > and how it plays through a loop at different tempos without changing
pitch?
> > > > of course only the folks Sonic Foundry (or Propellerhead) can tell
*exactly*
> > how Acid (or ReCycle) works (and they won't). > > > Well first of all, the OP might want to look at FreeCycle. > > http://www.redsteamrecords.com/freecycle/ > > > dunno how those guys do it, but it might be done completely in the > > time-domain by splicing out (or in) > > > Its my understanding that Recycle is mainly used with thngs like drum > loops. These loops contain a bunch of drum hits with silence between > them. This makes it easy to chop the loops into individual drum hits > and then play them back by inserting silence between then to play the > loop slower or remove silence to play it quicker. > > Hope this helps. > > Erik > -- > +-----------------------------------------------------------+ > Erik de Castro Lopo nospam@mega-nerd.com (Yes it's valid) > +-----------------------------------------------------------+ > "Web (hosting), security and high-performance computing are the > three areas where Linux has more strength." -- > Bob Muglia, senior VP in charge of Windows Server development. >
http://news.com.com/Microsoft+targets+Apache+Web+server/2100-1010_3-5735805.html
in article deip62$o3d$1@nntp2-cm.news.eni.net, Lehel Kovach at
lehel@rtassoc.com wrote on 08/24/2005 17:34:

> The programs in this roundup solve the loop-matching problem by viewing each > audio file as a series of individual notes, drum hits, or segments typically > referred to as slices. First popularized by Propellerhead ReCycle and Sonic > Foundry Acid, loop slicing lets you change the tempo and duration of a loop > while retaining the original sound and pitch of the music. > > Slicing doesn't really alter the sounds of the instruments. It just chops > each loop into a series of notes and plays the notes at the designated time. > When you slice up an audio file, you create an edit list or playlist that is > tied to the composition's tempo. > > That's a better approach than using digital-signal-processing (DSP) > time-stretching algorithms to expand or contract loops.
slicing-splicing-smlicing. whatever. even if they identify the note onsets, what do they do when the tempo is slowed? fill in the gaps with silence? or with a stretched note? if the latter, how do they stretch the note without "using digital-signal-processing (DSP) time-stretching algorithms"? -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
"robert bristow-johnson" <rbj@audioimagination.com> wrote in message 
news:BF32651D.9E86%rbj@audioimagination.com...
> in article deip62$o3d$1@nntp2-cm.news.eni.net, Lehel Kovach at > lehel@rtassoc.com wrote on 08/24/2005 17:34: > >> The programs in this roundup solve the loop-matching problem by viewing each >> audio file as a series of individual notes, drum hits, or segments typically >> referred to as slices. First popularized by Propellerhead ReCycle and Sonic >> Foundry Acid, loop slicing lets you change the tempo and duration of a loop >> while retaining the original sound and pitch of the music. >> >> Slicing doesn't really alter the sounds of the instruments. It just chops >> each loop into a series of notes and plays the notes at the designated time. >> When you slice up an audio file, you create an edit list or playlist that is >> tied to the composition's tempo. >> >> That's a better approach than using digital-signal-processing (DSP) >> time-stretching algorithms to expand or contract loops. > > slicing-splicing-smlicing. whatever. even if they identify the note > onsets, what do they do when the tempo is slowed? fill in the gaps with > silence? or with a stretched note? if the latter, how do they stretch the > note without "using digital-signal-processing (DSP) time-stretching > algorithms"?
With drums or other elements where there is a gap between discreet notes, it would work. But with sustained notes, I agree with you that something has to give. But perhaps these programs have some a priori knowledge of the loops they are working with, as opposed to just being given a wave file. If there was some musical "metadata" encoded in with the audio, that could help considerably. (I don't know about those programs specifically, so I am just speculating here.)
In Acid, I believe I understand how one of the stretching methods works.
"Looping Segments" basically plays each beat segment in a loop until the
tempo triggers the next beat segment to be played.  I don't know if this is
all there is to it, but that's what it sounds like when I slow it down
enough and play around with the markers and other settings.  Maybe someone
else can verify this.

Not exactly sure about the other three stretch methods.  Perhaps, some other
people interested could help me figure this out.


"Jon Harris" <jon99_harris7@hotmail.com> wrote in message
news:DcbPe.6899$Hi.6867@trnddc04...
> "robert bristow-johnson" <rbj@audioimagination.com> wrote in message > news:BF32651D.9E86%rbj@audioimagination.com... > > in article deip62$o3d$1@nntp2-cm.news.eni.net, Lehel Kovach at > > lehel@rtassoc.com wrote on 08/24/2005 17:34: > > > >> The programs in this roundup solve the loop-matching problem by viewing
each
> >> audio file as a series of individual notes, drum hits, or segments
typically
> >> referred to as slices. First popularized by Propellerhead ReCycle and
Sonic
> >> Foundry Acid, loop slicing lets you change the tempo and duration of a
loop
> >> while retaining the original sound and pitch of the music. > >> > >> Slicing doesn't really alter the sounds of the instruments. It just
chops
> >> each loop into a series of notes and plays the notes at the designated
time.
> >> When you slice up an audio file, you create an edit list or playlist
that is
> >> tied to the composition's tempo. > >> > >> That's a better approach than using digital-signal-processing (DSP) > >> time-stretching algorithms to expand or contract loops. > > > > slicing-splicing-smlicing. whatever. even if they identify the note > > onsets, what do they do when the tempo is slowed? fill in the gaps with > > silence? or with a stretched note? if the latter, how do they stretch
the
> > note without "using digital-signal-processing (DSP) time-stretching > > algorithms"? > > With drums or other elements where there is a gap between discreet notes,
it
> would work. But with sustained notes, I agree with you that something has
to
> give. But perhaps these programs have some a priori knowledge of the
loops they
> are working with, as opposed to just being given a wave file. If there
was some
> musical "metadata" encoded in with the audio, that could help
considerably. (I
> don't know about those programs specifically, so I am just speculating
here.)
> >