Hi all!
I've made a looping patch for a friend who needs to create a musical piece for her school. She's complaining about the fact that she hears when the sample loops back to it's beginning. I tried to envelop it using a table to control the volume which just ramps up from 0 to 1 during X ms (X being adjustable), outputs 1 during most of the sample except for the last X ms where it ramps back down. The ramps are not linear, they have sort of an inverse square shape. This doesn't really do the trick. I've been thinking of writing the sample to 2 tables, one delayed by the length of the sample minus X ms, so that i can play both tables and switch between the two to avoid having to bring the volume to 0 at one point. The sample needs to be X ms longer. Is there another way to go? I've been doing some research on the web, but i've found no satisfying answer. Thanks!
Pierre
There's a simple way to put this.
There is an art to looping.
It should be possible in a simple sound editor.
You might find the best way (to save time) rather than spending dozens of hours to improve the technicalities of your looping code, is to give it to someone who is great at making loops who will do it in 20 seconds.
It's also worth saying that it's very much about the source material. Some things are just not loopable in the way you think they might/should be. It takes a lot of practice to find out and hear immediately what needs doing.
Andy
On Sun, 10 Oct 2010 20:55:00 +0200 Pierre Massat pimassat@gmail.com wrote:
Hi all!
I've made a looping patch for a friend who needs to create a musical piece for her school. She's complaining about the fact that she hears when the sample loops back to it's beginning. I tried to envelop it using a table to control the volume which just ramps up from 0 to 1 during X ms (X being adjustable), outputs 1 during most of the sample except for the last X ms where it ramps back down. The ramps are not linear, they have sort of an inverse square shape. This doesn't really do the trick. I've been thinking of writing the sample to 2 tables, one delayed by the length of the sample minus X ms, so that i can play both tables and switch between the two to avoid having to bring the volume to 0 at one point. The sample needs to be X ms longer. Is there another way to go? I've been doing some research on the web, but i've found no satisfying answer. Thanks!
Pierre
I think i know what you mean. The problem here is that it has to be live somehow. I don't how they do it in live loopers like the ones some singers use on stage. Thanks for your reply anway!
2010/10/10 Andy Farnell padawan12@obiwannabe.co.uk
There's a simple way to put this.
There is an art to looping.
It should be possible in a simple sound editor.
You might find the best way (to save time) rather than spending dozens of hours to improve the technicalities of your looping code, is to give it to someone who is great at making loops who will do it in 20 seconds.
It's also worth saying that it's very much about the source material. Some things are just not loopable in the way you think they might/should be. It takes a lot of practice to find out and hear immediately what needs doing.
Andy
On Sun, 10 Oct 2010 20:55:00 +0200 Pierre Massat pimassat@gmail.com wrote:
Hi all!
I've made a looping patch for a friend who needs to create a musical
piece
for her school. She's complaining about the fact that she hears when the sample loops back to it's beginning. I tried to envelop it using a table
to
control the volume which just ramps up from 0 to 1 during X ms (X being adjustable), outputs 1 during most of the sample except for the last X ms where it ramps back down. The ramps are not linear, they have sort of an inverse square shape. This doesn't really do the trick. I've been thinking of writing the sample to 2 tables, one delayed by the length of the sample minus X ms, so that i can play both tables and
switch
between the two to avoid having to bring the volume to 0 at one point.
The
sample needs to be X ms longer. Is there another way to go? I've been doing some research on the web, but i've found no satisfying answer. Thanks!
Pierre
-- Andy Farnell padawan12@obiwannabe.co.uk
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Ah yes, I see the constraint, well, what kind of source material is it?
There's the zigzag (forward and back) method that always seems to work well with textures and pad like sounds. Have you tried that?
Andy
On Sun, 10 Oct 2010 21:32:21 +0200 Pierre Massat pimassat@gmail.com wrote:
I think i know what you mean. The problem here is that it has to be live somehow. I don't how they do it in live loopers like the ones some singers use on stage. Thanks for your reply anway!
2010/10/10 Andy Farnell padawan12@obiwannabe.co.uk
There's a simple way to put this.
There is an art to looping.
It should be possible in a simple sound editor.
You might find the best way (to save time) rather than spending dozens of hours to improve the technicalities of your looping code, is to give it to someone who is great at making loops who will do it in 20 seconds.
It's also worth saying that it's very much about the source material. Some things are just not loopable in the way you think they might/should be. It takes a lot of practice to find out and hear immediately what needs doing.
Andy
On Sun, 10 Oct 2010 20:55:00 +0200 Pierre Massat pimassat@gmail.com wrote:
Hi all!
I've made a looping patch for a friend who needs to create a musical
piece
for her school. She's complaining about the fact that she hears when the sample loops back to it's beginning. I tried to envelop it using a table
to
control the volume which just ramps up from 0 to 1 during X ms (X being adjustable), outputs 1 during most of the sample except for the last X ms where it ramps back down. The ramps are not linear, they have sort of an inverse square shape. This doesn't really do the trick. I've been thinking of writing the sample to 2 tables, one delayed by the length of the sample minus X ms, so that i can play both tables and
switch
between the two to avoid having to bring the volume to 0 at one point.
The
sample needs to be X ms longer. Is there another way to go? I've been doing some research on the web, but i've found no satisfying answer. Thanks!
Pierre
-- Andy Farnell padawan12@obiwannabe.co.uk
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-------- Original Message -------- Subject: Re: [PD] Loop point : a way to make it smooth? From: Andy Farnell padawan12@obiwannabe.co.uk To: Pierre Massat pimassat@gmail.com CC: pd-list@iem.at Date: 10/10/2010 09:48 PM
Ah yes, I see the constraint, well, what kind of source material is it?
There's the zigzag (forward and back) method that always seems to work well with textures and pad like sounds. Have you tried that?
Andy
On Sun, 10 Oct 2010 21:32:21 +0200 Pierre Massatpimassat@gmail.com wrote:
I think i know what you mean. The problem here is that it has to be live somehow. I don't how they do it in live loopers like the ones some singers use on stage. Thanks for your reply anway!
2010/10/10 Andy Farnellpadawan12@obiwannabe.co.uk
There's a simple way to put this.
There is an art to looping.
Some hints which can be useful both with the source material and the looping algorithm (but as Andy says much depends on the source):
exactly the same number). Some sound editors (like mhwaveedit on linux) will find zero-crossings for you. Another way to go might be "cross-fade" at the start and end of the loop: that is have a small fade-in at the beginning and a short fade out at the end, but results vary a lot.
something very short on some pretty long
the part at the beginning and loop only when the sound "stabilises"
Lorenzo
It should be possible in a simple sound editor.
You might find the best way (to save time) rather than spending dozens of hours to improve the technicalities of your looping code, is to give it to someone who is great at making loops who will do it in 20 seconds.
It's also worth saying that it's very much about the source material. Some things are just not loopable in the way you think they might/should be. It takes a lot of practice to find out and hear immediately what needs doing.
Andy
On Sun, 10 Oct 2010 20:55:00 +0200 Pierre Massatpimassat@gmail.com wrote:
Hi all!
I've made a looping patch for a friend who needs to create a musical
piece
for her school. She's complaining about the fact that she hears when the sample loops back to it's beginning. I tried to envelop it using a table
to
control the volume which just ramps up from 0 to 1 during X ms (X being adjustable), outputs 1 during most of the sample except for the last X ms where it ramps back down. The ramps are not linear, they have sort of an inverse square shape. This doesn't really do the trick. I've been thinking of writing the sample to 2 tables, one delayed by the length of the sample minus X ms, so that i can play both tables and
switch
between the two to avoid having to bring the volume to 0 at one point.
The
sample needs to be X ms longer. Is there another way to go? I've been doing some research on the web, but i've found no satisfying answer. Thanks!
Pierre
-- Andy Farnellpadawan12@obiwannabe.co.uk
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi,
Just in case this could be useful to someone, here's what i've ended up doing in order to reduce the click at the looping point :
phasor object (at a frequency adjusted for the extra X ms).
is directly envelopped before the tabwrite~ object. The enveloppe is made using an expr~ object and a cos shape for the fade-in / fade-out.
that runs at half the speed of the original phasor, and which reads two phase-inversed "copies" of the same loop in the table, plus the silent rest of the table. This means that the loop is played once, and when it is X ms far from the end the second, phase-inversed loop starts playing. While the phase-inversed loop plays the second half of the table (which has to be "const 0" 'ed beforehand) plays with no effect on the output. This is really just cross-fading between two tables, only there only one table and there is not need to program an actual cross-fader. This works backwards just fine.
My goal was to reduce the clicks in order to get nice drones using a voice as a source. This technique work fine with fairly long cross-fade times (above 20 or 30 ms). I'm quite happy with the result. Then again, you're perfectly right about the difficulty of making a nice loop. The fact that the click is removed doesn't garantee that the loop will be percieved as smooth.
Cheers!
Pierre
2010/10/11 Lorenzo lsutton@libero.it
-------- Original Message -------- Subject: Re: [PD] Loop point : a way to make it smooth? From: Andy Farnell padawan12@obiwannabe.co.uk To: Pierre Massat pimassat@gmail.com CC: pd-list@iem.at Date: 10/10/2010 09:48 PM
Ah yes, I see the constraint, well, what kind of source material is it?
There's the zigzag (forward and back) method that always seems to work well with textures and pad like sounds. Have you tried that?
Andy
On Sun, 10 Oct 2010 21:32:21 +0200 Pierre Massatpimassat@gmail.com wrote:
I think i know what you mean. The problem here is that it has to be live somehow. I don't how they do it in live loopers like the ones some singers use on stage. Thanks for your reply anway!
2010/10/10 Andy Farnellpadawan12@obiwannabe.co.uk
There's a simple way to put this.
There is an art to looping.
Some hints which can be useful both with the source material and the
looping algorithm (but as Andy says much depends on the source):
- zeros: the start and end of the loop should ideally be a zero (or be
exactly the same number). Some sound editors (like mhwaveedit on linux) will find zero-crossings for you. Another way to go might be "cross-fade" at the start and end of the loop: that is have a small fade-in at the beginning and a short fade out at the end, but results vary a lot.
- Finding the right "period" for the loop, on some sounds you'll want
something very short on some pretty long
- Avoid looping "attacks" part, for example of a piano sample avoid all the
part at the beginning and loop only when the sound "stabilises"
Lorenzo
It should be possible in a simple sound editor.
You might find the best way (to save time) rather than spending dozens of hours to improve the technicalities of your looping code, is to give it to someone who is great at making loops who will do it in 20 seconds.
It's also worth saying that it's very much about the source material. Some things are just not loopable in the way you think they might/should be. It takes a lot of practice to find out and hear immediately what needs doing.
Andy
On Sun, 10 Oct 2010 20:55:00 +0200 Pierre Massatpimassat@gmail.com wrote:
Hi all!
I've made a looping patch for a friend who needs to create a musical
piece
for her school. She's complaining about the fact that she hears when the sample loops back to it's beginning. I tried to envelop it using a table
to
control the volume which just ramps up from 0 to 1 during X ms (X being adjustable), outputs 1 during most of the sample except for the last X ms where it ramps back down. The ramps are not linear, they have sort of an inverse square shape. This doesn't really do the trick. I've been thinking of writing the sample to 2 tables, one delayed by the length of the sample minus X ms, so that i can play both tables and
switch
between the two to avoid having to bring the volume to 0 at one point.
The
sample needs to be X ms longer. Is there another way to go? I've been doing some research on the web, but i've found no satisfying answer. Thanks!
Pierre
-- Andy Farnellpadawan12@obiwannabe.co.uk
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list