Summary of Granular synthesis replies (Brian Gygi )


Subject: Summary of Granular synthesis replies
From:    Brian Gygi  <bgygi(at)EBIRE.ORG>
Date:    Thu, 25 Sep 2003 12:52:41 -0700

Here are the suggestions sent in by various folks to my request for Granular Synthesis software. Thanks to everyone who contributed. Brian Gygi >Date: Sat, 20 Sep 2003 09:02:48 -0700 >From: John Lazzaro <lazzaro(at)CS.Berkeley.EDU> >To: bgygi(at)EBIRE.ORG >Subject: Re: Granular synthesis software > > Sfront, the MPEG 4 Structured Audio compiler we did >a few years ago, has an implementation of the grain() opcode, >which is a general-purpose granular engine. See: > >http://www.cs.berkeley.edu/~lazzaro/sa/book/opcodes/sgen/index.html#grain > > for a description of what the opcode does, and see: > >http://www.cs.berkeley.edu/~lazzaro/sa/index.html > > to get oriented to what Structured Audio is and how >sfront fits in, and where to download it, etc ... > >------------------------------------------------------------------------- >John Lazzaro -- Research Specialist -- CS Division -- EECS -- UC Berkeley >lazzaro [at] cs [dot] berkeley [dot] edu www.cs.berkeley.edu/~lazzaro >------------------------------------------------------------------------- ****************************** >From: Koen Tanghe <Koen.Tanghe(at)UGENT.BE> >Subject: Re: Granular synthesis software > >Depends on what you mean with "granular synthesis". I have written a >granular effect (using a delay line, panning, feedback, pitch shifting, >freezing, ...) from scratch in C++ myself, implemented as a VST and Audio >Unit plugin for processing real-time sound streams (KTGranulator, you can >download it at http://www.smartelectronix.com/~koen). If you really want my >code or a library around my code, you can use the form on the >Smartelectronix web site to contact me directly. > >Do check out Ross Bencina's great "Implementing real-time granular >synthesis" at http://www.audiomulch.com/~rossb. This might not be your >standard "scientific paper" on the subject, but it surely contains a lot >more to-the-point information on the implementation of the techniques than I >could find in most "peer reviewed articles/books", and the accompanying >GPL'ed C++ code is there too. Also, his modular program AudioMulch really >*uses* the things he wrote in this article, so you're sure it really works >and you can download it for free. >Although I knew AudioMulch, I had never seen this information until after I >implemented my granulator. It would have been much easier, especially since >I wanted to make an effect very similar to his delay line granulator, but as >a plugin so you can use it in several programs (any VST/AU compatible >program, and also DX compatible ones if you use a VST/DX wrapper). So I hope >you find the link useful (I surely do now). > >Also: I'm not sure about this, but I doubt you will get much information on >this newsgroup for questions like yours. You're probably better off on the >music-dsp mailing list/web site maintained by Bram & David at >http://www.musicdsp.org (there are also code snippets for various other >music processing related techniques in the code archive). ****************************** >From: Andrea Valle <andrea.valle(at)UNITO.IT> >Subject: Re: Granular synthesis software >To: AUDITORY(at)LISTS.MCGILL.CA > >Ciao Brian, >Csound source code is written in C and is freely available at >www.csounds.com > >Here you can find some opcodes sources related to granular synthesis >(grain and granulate, but in certain way also fof). >There some score (event list) editors for csound specialized for >granular effects: es. Cmask. > >Anycase, it surely depend on what you exactly mean with gs (the whole >subject can be enormous: you surely know Microsound by Roads) > >PS: What about PD sources under GNU license? ****************************** >Date: Sat, 20 Sep 2003 19:55:10 -0400 >From: Paris Smaragdis <paris(at)media.mit.edu> >To: Brian Gygi <bgygi(at)EBIRE.ORG> > >Basic granular synthesis is actually pretty easy in matlab, make a sparse >matrix, scatter grains randomly in it and then do an inverse STFT. Here's >some quick and dirty code. You can easily extend it to control other >parameters as well by changing the way you construct y. > >Paris > > >bw = 20; % Bandwidth (in FFT bins) >bc = 30; % Freq center (in FFT bins) >d = .5; % Grain density >sz = 512; % FFT size >l = 1000; % FFT frame length > >% Make grains >y = sparse( ... > round( (bw/4)*randn( 1, d*l)+bc), ... > round( linspace( 1, l, d*l)), ... > randn( 1, d*l)); >y(sz/2+1,l) = 0; > >% Do ISTFT >h = hanning( sz); >s = zeros( l*(sz/4)+sz, 1); >for i = 1:l > z = full( [y(:,i); y(end-1:-1:2,i)]); > s((i-1)*(sz/4)+1:(i-1)*(sz/4)+sz) = ... > s((i-1)*(sz/4)+1:(i-1)*(sz/4)+sz) + h.*real( ifft( z)); >end > >soundsc( s, 44100) ******************************* >From: "McAnally, Ken" <Ken.McAnally(at)dsto.defence.gov.au> >To: "'Brian Gygi'" <bgygi(at)ebire.org> >Subject: RE: Granular synthesis software >C-Sound has one. It is public domain and easy to program. Instructions for >download are under Getting Started >http://mitpress.mit.edu/e-books/csound/frontpage.html hope this helps >cheers >Ken ****************************** >Date: Sun, 21 Sep 2003 17:51:27 -0700 >From: Curtis Roads <clang(at)create.ucsb.edu> >Subject: Re: Granular Synthesis Software > >Dear Brian, > >Granular synthesis comes in several forms, >and there are many implementations. > >I don't really have a handy API/library in C++. >With John Alexander, I wrote CloudGenerator >in 1995. It is in C and Macintosh Toolbox >(MacOS 7) so it is rather low level. >I can send you this code but of course >it no longer compiles. Frankly you would >probably do better to start from scratch. > >My personal programs for granular synthesis >run in SuperCollider 1 and 2 for MacOS 8 and 9. >There is no PC version. > >A simple way to realize granular synthesis is >to write your own grain generator to emit >NOTE records that are read by CSound. > >If you do a web search you can probably find >other code as well. A lot of people have developed >code based on these techniques. My book >Microsound describes many of these programs. > >You might contact Stephen Pope for the CSL >code, which is a C++ library (stp(at)create.ucsb.edu). ****************************** >Date: Sun, 21 Sep 2003 22:04:21 -0700 >Subject: Re: Granular Synthesis Software >From: Stephen Pope <stp(at)create.ucsb.edu> > >I would only add to what Curtis has written that we are planning to >develop facilities for granular synthesis in C++ using the CSL framework >(http://create.ucsb.edu/CSL) in a class (MAT 240D, see >http://www.mat.ucsb.edu/240) this coming quarter.


This message came from the mail archive
http://www.auditory.org/postings/2003/
maintained by:
DAn Ellis <dpwe@ee.columbia.edu>
Electrical Engineering Dept., Columbia University