Convolution reverb
Hi all,
Has anyone implemented a convolution reverb in MaxMSP that would be
willing to share their patch(es)/code with me? I'm putting together a
project assignment for a MaxMSP class next semester, and would love
to have some good examples to share with the students. I need
something that only uses 'standard' MaxMSP objects/externals.
Thanks,
Steven
----
Steven M. Miller
Associate Professor of Contemporary Music
College of Santa Fe
Contemporary Music Program
1600 St. Michaels Drive
Santa Fe NM 87505
http://pubweb.csf.edu/~smill
(505) 473-6197
~~~~~~~~~~~~~~~~~~~~~
SFIFEM
Atrium Sound Space
OVOS
*opportunities for composers & sound artists*
Most probably the technique you want here is partitioned convolution, which basically is that rather than doing the entire convolution in one go (which would be a problem anyway for larger impulses given limitations on the pfft~ FFT size), you take smaller nibbles through the impulse, thus giving you realtime output on the reverb. Unfortunately I do not have a patch to do this, but I strongly suspect it should be quite feasible as a pfft~ subpatch.
There are a couple patents out on this technique (see http://tinyurl.com/ygokmh ) though in some views these patents are disparaged on the basis of the technique being super-obvious and/or the existence of prior art. IANAL but it seems at least remotely possible that posting a solution might infringe one of these patents. Please please please someone tell me I'm wrong about that.
Eric
On 12/21/06, Eric Lyon wrote:
>
>
> There are a couple patents out on this technique (see
> http://tinyurl.com/ygokmh ) though in some views these patents are
> disparaged on the basis of the technique being super-obvious and/or the
> existence of prior art. IANAL but it seems at least remotely possible that
> posting a solution might infringe one of these patents. Please please please
> someone tell me I'm wrong about that.
IANAL either, but i believe it's only an issue if you plan on selling
something that makes use of the patented material.
-j
Hi Steven,
you can find snapshots of some patches here:
I never managed to get this fully working when trying to reproduce from
the images, but if you do, please post the patches on the list. In
addition you can find an external for convolution here:
Best,
Trond
>
> Thanks for your message. Convolution of two soundfiles or two live
> input sources, for example, is pretty straightforward with the
> existing fft objects. What I'm looking for is someone who has used an
> impulse response file and convolved audio files or live input with it.
> The trick there is that each new input sample gets convolved and added
> to each past input sample convolved with the corresponding impulse
> sample; i.e. each input sample 'steps through' the impulse response
> file for convolution and gets added with the current input sample.
> (This is a generalized description of the process, mind you).
>
> At any rate, any thing you have that I could look at would be helpful
> and appreciated. Thanks!
>
>
>
> IANAL either, but i believe it's only an issue if you plan on selling
> something that makes use of the patented material.
>
>
I'm sure it's fine to make it just for yourself. But I suspect that distributing it irrespective of price (including free) could be construed as a violation.
Eric
Depending on your jurisdiction, even using patented material for your
own personal use may be an infringement.
There is plenty of information on the web regarding patent & other
intellectual property law. Just make sure you read about the country
you're in, because what pertains to US law can be different in UK or
Germany or Papua New Guinea or wherever. (quel surpris)
PS to Eric: you'll find UK IP legislation a bit more restrictive than
what you were used to in the US. OTOH, at least they recognize the
notion of moral rights, which the US hasn't implemented despite
signing on to Berne.
-- P.
On 22-Dec-2006, at 13:35, Eric Lyon wrote:
>> IANAL either, but i believe it's only an issue if you plan on selling
>> something that makes use of the patented material.
>>
>>
>
> I'm sure it's fine to make it just for yourself. But I suspect that
> distributing it irrespective of price (including free) could be
> construed as a violation.
-------------- http://www.bek.no/~pcastine/Litter/ -------------
Peter Castine +--> Litter Power & Litter Bundle for Jitter
Universal Binaries on the way
iCE: Sequencing, Recording &
Interface Building for |home | chez nous|
Max/MSP Extremely cool |bei uns | i nostri|
http://www.dspaudio.com/ http://www.castine.de
On Dec 22, 2006, at 1:35 PM, Eric Lyon wrote:
> I'm sure it's fine to make it just for yourself. But I suspect that
> distributing it irrespective of price (including free) could be
> construed as a violation.
An honest question:
Could teaching the technique in a classroom be considered a form of
"distribution"? That's how it was "distributed" to me. Heck, I even
had to program it for an assignment (as I am sure Eric and others did
once as well). How does patent law come into play in this situation?
-----
Nathan Wolek
nw@nathanwolek.com
http://www.nathanwolek.com
Thanks Trond, much appreciated/ I'll have a look on the links!
Best,
Steven
On Dec 22, 2006, at 12:06 AM, Trond Lossius wrote:
> Hi Steven,
>
> you can find snapshots of some patches here:
>
> http://www.pescadoo.net/annexe/max/
>
> I never managed to get this fully working when trying to reproduce
> from the images, but if you do, please post the patches on the
> list. In addition you can find an external for convolution here:
>
> http://www.zippernoise.net/data/
>
> Best,
> Trond
>
----
Steven M. Miller
Associate Professor of Contemporary Music
College of Santa Fe
Contemporary Music Program
1600 St. Michaels Drive
Santa Fe NM 87505
http://pubweb.csf.edu/~smill
(505) 473-6197
~~~~~~~~~~~~~~~~~~~~~
SFIFEM
Atrium Sound Space
OVOS
*opportunities for composers & sound artists*
Quote: Peter Castine wrote on Fri, 22 December 2006 13:58
----------------------------------------------------
> Depending on your jurisdiction, even using patented material for your
> own personal use may be an infringement.
>
Back in the 1980s Chris Penrose and I were working on a concept called "pay-per-think" for collecting royalties on our music. Looks like were getting there :(
Eric
>
> An honest question:
> Could teaching the technique in a classroom be considered a form of
> "distribution"?
My IANAL guess is that at least in the US that would be okay since you're not distributing a tool that uses the patented technique. In the good old days, I might have even ventured a guess that such teaching is protected as free speech under the first amendment to the American constitution. Today, it might be just one more thought crime of the 21st century.
Cheers,
Eric
> An honest question:
> Could teaching the technique in a classroom be considered a form of
> "distribution"? That's how it was "distributed" to me. Heck, I even
> had to program it for an assignment (as I am sure Eric and others did
> once as well). How does patent law come into play in this situation?
>
> -----
> Nathan Wolek
> nw@nathanwolek.com
> http://www.nathanwolek.com
a _patend is for sure not taught anywhere, patended code
is usually not even published anywhere, except for those
who licensed it.
and if someone reinvents a C++ altivec optimized
deconcolution audio DSP which is patended by lake
technology thats bad luck for one of them. :)
Hi Steven,
I was talking about discrete convolution (http://en.wikipedia.org/
wiki/Convolution) in the mathematical sense, not the practical
approach of multiplying two spectra generated via fft.
Here is the patch I made some some years ago, I didn´t check it
nowdays, but it should give the right output, please tell me if there
is a mistake.
I think this is ok for teaching since it gives trial and error
approach for the formula (sorry for this little attachment)
It should be possible to make an MSP Patch with peek~s and Uzis doing
convolution in this way. For realtime this approach is not good.
cheers
Falk
p.s. sorry for the delayed feedback, this message has been held back
by cyclings mail system, because it was greater than 40kb. Pasting
the Text below in the same font than above made it much smaller
Am 21.12.2006 um 22:36 schrieb Steven Miller:
> Hi Falk,
>
> Thanks for your message. Convolution of two soundfiles or two live
> input sources, for example, is pretty straightforward with the
> existing fft objects. What I'm looking for is someone who has used
> an impulse response file and convolved audio files or live input
> with it. The trick there is that each new input sample gets
> convolved and added to each past input sample convolved with the
> corresponding impulse sample; i.e. each input sample 'steps
> through' the impulse response file for convolution and gets added
> with the current input sample. (This is a generalized description
> of the process, mind you).
>
> At any rate, any thing you have that I could look at would be
> helpful and appreciated. Thanks!
>
> Best,
>
> Steven
>
> On Dec 21, 2006, at 1:39 PM, Falk Grieffenhagen wrote:
>
>> Hi Steven,
>>
>> Ages ago I once made a patch showing how convolution works, but it
>> ´s no reverb, I have it somewhere and could look for it if you´re
>> interested. I think the only object doing convolution is rtconv~
>> which belongs to the IRCAM Spat distribution.
>>
>> Falk
>>
>
> ----
> Steven M. Miller
>
> Associate Professor of Contemporary Music
> College of Santa Fe
> Contemporary Music Program
> 1600 St. Michaels Drive
> Santa Fe NM 87505
> http://pubweb.csf.edu/~smill
> (505) 473-6197
>
> ~~~~~~~~~~~~~~~~~~~~~
> SFIFEM
> Atrium Sound Space
> OVOS
> *opportunities for composers & sound artists*
>
>
Thanks Falk, I'll have a look at this over the holiday break, and get
back to you if I have any questions, comments, etc. Much appreciated.
On Dec 23, 2006, at 2:36 AM, Falk Grieffenhagen wrote:
> Hi Steven,
>
> I was talking about discrete convolution (http://en.wikipedia.org/
> wiki/Convolution) in the mathematical sense, not the practical
> approach of multiplying two spectra generated via fft.
>
----
Steven M. Miller
Associate Professor of Contemporary Music
College of Santa Fe
Contemporary Music Program
1600 St. Michaels Drive
Santa Fe NM 87505
http://pubweb.csf.edu/~smill
(505) 473-6197
~~~~~~~~~~~~~~~~~~~~~
SFIFEM
Atrium Sound Space
OVOS
*opportunities for composers & sound artists*
Eric Lyon wrote:
> IANAL but it seems at least remotely possible that posting a solution
> might infringe one of these patents. Please please please someone
> tell me I'm wrong about that.
The principal of patents is, that it is public. You can't infringe any
patent with showing how to do it, as that is done by the publishing of a
patent anyway...
You just can't base a business on it without getting a license...
Peter Castine wrote:
> Depending on your jurisdiction, even using patented material for your
> own personal use may be an infringement.
Which contry? It would be the opposite of the original idea of patents,
to encourage the inventor to open and publish the technology for
everybody in exchange for the protection.
Roman Thilenius wrote:
> a _patend is for sure not taught anywhere, patended code is usually
> not even published anywhere, except for those who licensed it.
The principal of any patent, and the first aim is to get it published
for anybody to access. (Thats why many claim copyright instead of
patenting it, then they don't need to show it...)
Stefan
--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com
Stefan,
Thanks for posting that. Here are the patents that seem most relevant to this discussion:
Also, check out this discussion of patent infringement:
>>>
35 U.S.C. 271 defines infringement as "whoever without authority makes, uses, or sells any patented invention, within the United States during the term of the patent therefor, infringes the patent."
>>>
The above seems to support Peter's contention - you don't have to sell an invention to infringe on a patent.
>>>
Infringement can be direct, indirect, or contributory. Anyone who makes, uses, or sells the patented invention is a direct infringer. If a person actively encourages another to make, use, or sell the invention, the person so inducing is liable for indirect infringement. Contributory infringement can be committed by knowingly selling or supplying an item for which the only use is in connection with a patented invention.
>>>
That last bit also makes me nervous.
Eric
Thanks Falk for sharing.
(for any other newbies liek me you need to add
max v2;
#N vpatcher 10 59 414 293;
at the begining and
#P pop;
at the end.)
This seems to use some optional blocks.
The L blocks are part of the freeware Lobjects library from
http://arts.ucsc.edu/ems/music/research/lobjects.readme.html
Is that correct ?
Thanks.
On 27-Dec-2006, at 1:23, Stefan Tiedje wrote:
> Peter Castine wrote:
>> Depending on your jurisdiction, even using patented material for your
>> own personal use may be an infringement.
>
> Which contry? It would be the opposite of the original idea of
> patents,
Well, I would never generalize *any*thing to all countries. However,
you are right that the general point of patents is to publish the
information (as opposed to trade secrets, like the magic formula for
Coca-Cola).
However & IMS, the original question was about *using* a patented
technology. USING. Not teaching or publishing. There is a difference.
And in some jurisdictions personal use (regardless of whether for
immediate commercial gain) may be regarded as a violation of patent law.
-------------- http://www.bek.no/~pcastine/Litter/ -------------
Peter Castine +--> Litter Power & Litter Bundle for Jitter
Universal Binaries on the way
iCE: Sequencing, Recording &
Interface Building for |home | chez nous|
Max/MSP Extremely cool |bei uns | i nostri|
http://www.dspaudio.com/ http://www.castine.de
> The principal of any patent, and the first aim is to get it published
> for anybody to access. (Thats why many claim copyright instead of
> patenting it, then they don't need to show it...)
does not mean you publish _anything about it!
you only publish you idea/your product, not
a full descripton about how to produce it (or
in the case of software, the full source code.)
in german it is called patentbeschreibung, i guess
patent description would be the right translation.
that publishing something means there is no copyright
must be a french law. :)
*absichtlich falsch versteh*
-110
Peter Castine wrote:
> However & IMS, the original question was about *using* a patented
> technology. USING. Not teaching or publishing. There is a difference.
> And in some jurisdictions personal use (regardless of whether for
> immediate commercial gain) may be regarded as a violation of patent law.
That would mean you can post a patch with a disclaimer that using it
would violate a patent if you are in the US (software patents are not so
easily possible in Europe, though the industry tries to change it...)
Stefan
--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com