EMUSIC-L Digest Volume 52, Issue 04 This issue's topics: fm emulation (2 messages) fm matching (2 messages) genetic algorithms (5 messages) Genetic Algorithms and FM Resynthesis Your EMUSIC-L Digest moderator is Joe McMahon . You may subscribe to EMUSIC-L by sending mail to listserv@american.edu with the line "SUB EMUSIC-L your name" as the text. The EMUSIC-L archive is a service of SunSite (sunsite.unc.edu) at the University of North Carolina. ------------------------------------------------------------------------ Date: Fri, 7 May 1993 16:41:39 EDT From: ronin Subject: fm emulation just a brief note... yes, in fact the project i was working on (of finding ways to fit fm parameters to sampled sounds) was based on my software model of the dx7. the whole idea was to work it out 'virtually' and then just dump the resultant parameters over. -----------< Cognitive Dissonance is a 20th Century Art Form >----------- Eric Harnden (Ronin) or The American University Physics Dept. 4400 Mass. Ave. NW, Washington, DC, 20016-8058 (202) 885-2748 (with Voice Mail) ---------------------< Join the Cognitive Dissidents >------------------- ------------------------------ Date: Sat, 15 May 1993 09:39:17 -0400 From: idealord Subject: Re: fm emulation > > just a brief note... > yes, in fact the project i was working on (of finding ways to fit fm parameters > to sampled sounds) was based on my software model of the dx7. the whole idea > was to work it out 'virtually' and then just dump the resultant parameters > over. How far did you get in this? I've been toying with the idea of an SY77 emulation (with sine wave FM - don't have the equipment to do waveform analysis) and am curious. > > -----------< Cognitive Dissonance is a 20th Century Art Form >----------- > Eric Harnden (Ronin) > or > The American University Physics Dept. > 4400 Mass. Ave. NW, Washington, DC, 20016-8058 > (202) 885-2748 (with Voice Mail) > ---------------------< Join the Cognitive Dissidents >------------------- > Jeff Harrington idealord@dorsai.dorsai.org ------------------------------ Date: Fri, 7 May 1993 11:13:13 EDT From: ronin Subject: fm matching some time ago i did some research on sample matching with fm parameters. at the time, i was naively considering a brute-force search approach, iteratively scanning bessel function tables for 'best fit'. blagh. later, i heard that ircam had done the job, using a hybrid ai technique that cut down the iterative search with a little intelligent elimination. at least, that was what i gathered. a neural net approach has always attracted me, probably training a backprop net with previously specified 'good fits', and in fact we started the psychoacoustic research to determine what that meant as far as the ear was concerned. now, with the question of 'how do you measure fit for the genetic algorithm', i am drawn back to the idea, and might try it again using the hamming distance between spectral components as the measure of fit... which i might suggest is the way it is measured (or might be measured) for the genetic algorithm approach. -----------< Cognitive Dissonance is a 20th Century Art Form >----------- Eric Harnden (Ronin) or The American University Physics Dept. 4400 Mass. Ave. NW, Washington, DC, 20016-8058 (202) 885-2748 (with Voice Mail) ---------------------< Join the Cognitive Dissidents >------------------- ------------------------------ Date: Fri, 7 May 1993 11:49:13 -0400 From: idealord Subject: Re: fm matching > > some time ago i did some research on sample matching with fm parameters. > at the time, i was naively considering a brute-force search approach, > iteratively scanning bessel function tables for 'best fit'. blagh. > later, i heard that ircam had done the job, using a hybrid ai technique > that cut down the iterative search with a little intelligent elimination. > at least, that was what i gathered. a neural net approach has always > attracted me, probably training a backprop net with previously specified > 'good fits', and in fact we started the psychoacoustic research to > determine what that meant as far as the ear was concerned. now, with the > question of 'how do you measure fit for the genetic algorithm', i am drawn > back to the idea, and might try it again using the hamming distance > between spectral components as the measure of fit... which i might suggest > is the way it is measured (or might be measured) for the genetic > algorithm approach. Andrew Horner sent me a paper about this too! He's been using neural nets to find best matches for FM patches, too... I'll go back and try to coalesce his research into something a bit more illustrative this weekend. Jeff Harrington idealord@dorsai.dorsai.org ------------------------------ Date: Fri, 7 May 1993 09:23:59 EDT From: Brian Good Subject: Re: genetic algorithms > > Jeff writes: > > >The principle should be easy enough to implement if you have any familirity > >with genetic algorithms - do a FFT of your sample - randomize your popuation > >of FM patches - (he uses a binary representation of the FM instruments > >better stick with some obvious algorithms - he uses one or two operator) and > >then do an FFT for the FM patches - measure success - let the good ones > ^^^^^^^^^^^^^^^ > >replicate... achim responds: > The underlined section is the one that I don't understand. How > would you measure the success of sounds? The only way i can think > of is to listen to the sounds. But this is not very objective and > if another person does the same thing, he will certainly come > to other results. I think what Jeff was talking about was an attempt to mimic a given sound (whose spectrum was known) using FM. The measure of goodness would then be the degree of spectral match between the FM patch and the original. As far as generating useful patches this way when you *didn't* have an objective measure of success--I still think it might work, within limits. You could, I suppose, assign some kind of pseudo-quantitative "degree of wonderfulness" to each patch. But I think this would work well only if you had something fairly specific in mind, or if the initial seed population contained mostly similar sounds. If you simply rated each sound based on how much you liked it, ("sound A is a great piano sound. I'll give it a 10. Sound B is a perfect guitar sound. Another 10.") I think the algorithm would really just degenerate into something not much different from a random patch generator. Or possibly you'd end up with a group of subpopulations, different from each other, but similar within a subpopulation. Does anyone *know* what a genetic algorithm does when it tries to minimize a function having multiple minima? brian good ------------------------------ Date: Fri, 7 May 1993 09:36:12 -0400 From: idealord Subject: Re: genetic algorithms > > > > > Jeff writes: > > > > >The principle should be easy enough to implement if you have any familirity > > >with genetic algorithms - do a FFT of your sample - randomize your popuation > > >of FM patches - (he uses a binary representation of the FM instruments > > >better stick with some obvious algorithms - he uses one or two operator) and > > >then do an FFT for the FM patches - measure success - let the good ones > > ^^^^^^^^^^^^^^^ > > >replicate... > > achim responds: > > The underlined section is the one that I don't understand. How > > would you measure the success of sounds? The only way i can think > > of is to listen to the sounds. But this is not very objective and > > if another person does the same thing, he will certainly come > > to other results. > > I think what Jeff was talking about was an attempt to mimic a given sound > (whose spectrum was known) using FM. The measure of goodness would then > be the degree of spectral match between the FM patch and the original. Exactly! Mr. Horner established (I don't have the paper here at work) a rating system to match the distance between the sample's spectrum (fft) and the FM patch's specturm. > > As far as generating useful patches this way when you *didn't* have an > objective measure of success--I still think it might work, within > limits. You could, I suppose, assign some kind of pseudo-quantitative > "degree of wonderfulness" to each patch. This is interesting - but whoa - time consuming ;-) one of the coolest things about genetic algorithms working fast is how well they ditch the samples which don't even come close. You'd spend quite a while just getting into the good patches (probably 3 or 4 generations down the line). The graphs which accompany the article show that Mr. Horner is getting some very good matches of samples and with only one or two operators. Anybody out there with a fast computer and FFT capability and an SY77? My computer (Amiga 1000) is no way fast enough to make this feasible ;-(... just annoyingly interesting... Jeff Harrington idealord@dorsai.dorsai.org ------------------------------ Date: Fri, 7 May 1993 10:13:41 EDT From: Brian Good Subject: Re: genetic algorithms I wrote: > > As far as generating useful patches this way when you *didn't* have an > > objective measure of success--I still think it might work, within > > limits. You could, I suppose, assign some kind of pseudo-quantitative > > "degree of wonderfulness" to each patch. Jeff wrote back: > This is interesting - but whoa - time consuming ;-) Yeah. Generate patches, *listen* to the whole population, assign each one a score, go back and *relisten* to try to assure some consistency in scoring. Repeat until driven insane. Give up. Embark upon quest to build the definitive Xavier Cugat discography... > The graphs which accompany the article show that Mr. Horner is getting some > very good matches of samples and with only one or two operators. Anybody out > there with a fast computer and FFT capability and an SY77? We've got a Cray Y/MP parked around here somewhere. Wonder what would happen if I wrote a work order to get a MIDI interface installed.... brian good ------------------------------ Date: Fri, 7 May 1993 13:24:00 LCL From: Achim Haag Subject: Re: genetic algorithms Jeff writes: >The principle should be easy enough to implement if you have any familirity >with genetic algorithms - do a FFT of your sample - randomize your popuation >of FM patches - (he uses a binary representation of the FM instruments >better stick with some obvious algorithms - he uses one or two operator) and >then do an FFT for the FM patches - measure success - let the good ones ^^^^^^^^^^^^^^^ >replicate... The underlined section is the one that I don't understand. How would you measure the success of sounds? The only way i can think of is to listen to the sounds. But this is not very objective and if another person does the same thing, he will certainly come to other results. Personally I think the idea of letting a generic algorithm doing the whole work is very fascinating. But the weak point is the sepearating of the 'bad' and the 'good' sounds. If this can't be done automatically (don't ask me how one should achieve *that*!) the whole idea is rather worthless. Please comment on this! achim ------------------------------ Date: Fri, 7 May 1993 18:07:57 GMT From: Quinn Jensen Subject: Re: genetic algorithms Jeff says: > The graphs which accompany the article show that Mr. Horner is getting some > very good matches of samples and with only one or two operators. Anybody out > there with a fast computer and FFT capability and an SY77? My computer (Amiga > 1000) is no way fast enough to make this feasible ;-(... just annoyingly > interesting... How about this--instead of putting an SY77 in the loop, do the FM synthesis in software, get the right algorithm and parameters, then program the 77 to do it by ear, one stack at a time--that's how I copy TX81z voices into the 77. Having an exact software model for the AFM engine inside the 77 would be nicest of course (I think you were probably alluding to that some time ago on the SY list, Jeff), but it doesn't seem too hard to copy FM voices from one architecture to another by ear (as long as the target is a superset of the source {which you'd think the 77 would be over the TX81, but the 77 doesn't have the _exact_ same non-sine waves as the TX81 but they're very close.}) Quinn Jensen jensenq@qcj.icon.com jensenq@novell.com ------------------------------ Date: Tue, 4 May 1993 08:20:45 -0400 From: Argiris Kranidiotis-UNA Subject: Re: Genetic Algorithms and FM Resynthesis [...] > The process basically does an FFT on an audio spectrum then uses the genetic > algorithms to attempt to match populations of FM patches - with similarity > between the sample and the new FM patches being the determinant of survival of > the patch and later propagation of improved patches... > > The amazing thing about this is that someone with a fast computer (not me!) > and a digitizer could get their FM synth to resynthesize samples - turns your > synth into a sampler. > Pretty impressing...(if it works :-) ) > A friend of mine heard his research and found it remarkably convincing. The > graphs in the article would indicate, also that it works! > > Jeff Harrington > idealord@dorsai.dorsai.org > I've heard that again somewhere...Can you give us more info about that article ? I AM REALLY interested about that ... Greetings... Argiris A. Kranidiotis Unversity of Athens Informatics Dept. ------------------------------ Date: Tue, 4 May 1993 08:48:07 -0400 From: idealord Subject: Re: Genetic Algorithms and FM Resynthesis Returns About the requests for the Genetic Algorithm FM Resynthesis article - I'm sorry if I wasn't clear, but the article is yet to be printed in Computer Music Journal - which incidentally, should be available in most major books stores... I can't distribute pre-published articles without permission of the author... As an aside - the article was not about synthesizers and FM patches - although the research could be extended to that area - but was about Csound FM one or two operator FM instruments - there was a FFT done after each population to match how closely the patch was getting to the sample. The principle should be easy enough to implement if you have any familiarity with genetic algorithms - do a FFT of your sample - randomize your population of FM patches - (he uses a binary representation of the FM instruments - better stick with some obvious algorithms - he uses one or two operators) and then do an FFT for the FM patches - measure success - let the good ones replicate... And don't forget to tweak! Genetic algorithms love to be tweaked.... Jeff Harrington idealord@dorsai.dorsai.org ------------------------------ End of the EMUSIC-L Digest ******************************