Reducing chorus-like effect with pvsfreeze
Date | 2017-08-07 23:03 |
From | "Jeanette C." |
Subject | Reducing chorus-like effect with pvsfreeze |
Hey hey, is there a way to reduce the chorus or detune like effect on freezing an f-sig using pvsfreeze, whle retaining the character of the frozen note? I tried pitchtracking the signal and then using pvsftw lowering all bins, which aren't overtones (or very close to). I also tried setting one bin on either side of the loudest bin (almost matching an overtone) to 0 and optionally manipulating the identified bin's frequeny to exactly match a harmonic, with only limited improvements. Any hints are very much appreciated. Thanks and best wishes, Jeanette -------- * website: http://juliencoder.de - for summer is a state of sound * SoundCloud: https://soundcloud.com/jeanette_c Don't care about money It doesn't give me half the thrill <3 (Britney Spears) Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2017-08-08 07:48 |
From | Oeyvind Brandtsegg |
Subject | Re: Reducing chorus-like effect with pvsfreeze |
Hi, I'm not 1000% sure of what you mean by 'the chorus-like effect', but assuming you mean that it can sound slightly out of tune. This might occur because the natural fluctuation of partials is stopped, and thus, the instantaneous frozen image does not correspond to what we experience when the timbre flows naturally. I think, rather than manipulating the frozen frame, perhaps you could try to average the values over a short time window. This could be done with pvsfreeze or pvsmooth, guessing pvsfreeze would be better. You could also use pvsbuffer to create a freeze effect that does not only use one single frame but oscillates betweeen a few neighbouring frames. I think Iain McCurdy has an example of this somewhere. Oeyvind 2017-08-08 0:03 GMT+02:00 Jeanette C. <julien@mail.upb.de>: Hey hey, Oeyvind Brandtsegg Professor of Music Technology NTNU 7491 Trondheim Norway Cell: +47 92 203 205 http://www.partikkelaudio.com/ http://crossadaptive.hf.ntnu.no http://gdsp.hf.ntnu.no/ http://soundcloud.com/brandtsegg http://flyndresang.no/ http://soundcloud.com/t-emp |
Date | 2017-08-08 10:45 |
From | Iain McCurdy |
Subject | Re: Reducing chorus-like effect with pvsfreeze |
I think Oeyvind is referring to using pvsbuffer/pvsbufread to freeze a chunk of data and to then move around that data with some sort of randomly moving pointer. This will still imbue a sense of spectral movement but will not be periodic (chorus effect-like). You could even make use of pvsbufread2 and its ability to add delays on a bin-by-bin basis to further shuffle the reading of data. Another alternative is to lock the phases. This is built into some opcodes like mincer which can also do a freeze effect, but you can add it after pvsfreeze with 'pvslock' in order to stop the 'swirling'. The technique you are describing sounds complicated but intriguing! Iain From: A discussion list for users of Csound <CSOUND@LISTSERV.HEANET.IE> on behalf of Oeyvind Brandtsegg <oyvind.brandtsegg@NTNU.NO>
Sent: 08 August 2017 06:48 To: CSOUND@LISTSERV.HEANET.IE Subject: Re: [Csnd] Reducing chorus-like effect with pvsfreeze Hi,
I'm not 1000% sure of what you mean by 'the chorus-like effect', but assuming you mean that it can sound slightly out of tune. This might occur because the natural fluctuation of partials is stopped, and thus, the instantaneous frozen image does not correspond
to what we experience when the timbre flows naturally. I think, rather than manipulating the frozen frame, perhaps you could try to average the values over a short time window. This could be done with pvsfreeze or pvsmooth, guessing pvsfreeze would be better.
You could also use pvsbuffer to create a freeze effect that does not only use one single frame but oscillates betweeen a few neighbouring frames. I think Iain McCurdy has an example of this somewhere.
Oeyvind
2017-08-08 0:03 GMT+02:00 Jeanette C. <julien@mail.upb.de>:
Hey hey, Oeyvind Brandtsegg Professor of Music Technology NTNU 7491 Trondheim Norway Cell: +47 92 203 205 http://www.partikkelaudio.com/ http://crossadaptive.hf.ntnu.no http://gdsp.hf.ntnu.no/ http://soundcloud.com/brandtsegg http://flyndresang.no/ http://soundcloud.com/t-emp |
Date | 2017-08-08 14:05 |
From | "Jeanette C." |
Subject | Re: Reducing chorus-like effect with pvsfreeze |
Hi Oeyvind and Iain, Aug 8 2017, Iain McCurdy has written: ... > Another alternative is to lock the phases. This is built into some opcodes like mincer which can also do a freeze effect, but you can add it after pvsfreeze with 'pvslock' in order to stop the 'swirling'. ... Thanks, I think pvslock clears up the sound a little bit. I can't use pvsbuffer, since I'm working on a kind of cross-synthesis. Might saving several frames and then manually averaging the values using the saved function tables also work? I was intrigued by a Melodyne feature of "pasting" the spectrum of one sound onto another instrument: http://youtu.be/6mi52Yud3yk Spectrum giver at 5mins, spectrum taker at 5:46 and with the pasted spectrum at 6:06. The voiceover is in German, maybe there are English subtitles. My approach: analyse the spectrum of both "giver" and "taker" and then work out amplitude factors, maybe even some slight frequency adjustment (to be determined by trial-and-error), then perform an FFT-based EQ or one-window convolution, by tracking the pitch of the "taker" and pitchshifting my "EQ function" to match. If I use one of the FFT based pitchshifting algorithms with formant-keeping - I think - it should work. Or am I completely off the mark? Best wishes, Jeanette -------- * website: http://juliencoder.de - for summer is a state of sound * SoundCloud: https://soundcloud.com/jeanette_c Can't make you love me I'm just a girl with a crush on you <3 (Britney Spears) Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2017-08-10 15:07 |
From | Oeyvind Brandtsegg |
Subject | Re: Reducing chorus-like effect with pvsfreeze |
This is intriguing, and frankly I don't know the details, but I suspect your suggested approach will not be very robust when applied to different pitched sounds (different pitch between source and destination sound). Maybe the partials opcode would help you extract similar information as he hass displayed in the lower pane on his screen, and from there your could work something out on how to apply that shape to the partials-representation of the destination sound. Sorry to have just a vague pointer, but I think it lies over there somewhere.... 2017-08-08 15:05 GMT+02:00 Jeanette C. <julien@mail.upb.de>: Hi Oeyvind and Iain, Oeyvind Brandtsegg Professor of Music Technology NTNU 7491 Trondheim Norway Cell: +47 92 203 205 http://www.partikkelaudio.com/ http://crossadaptive.hf.ntnu.no http://gdsp.hf.ntnu.no/ http://soundcloud.com/brandtsegg http://flyndresang.no/ http://soundcloud.com/t-emp |
Date | 2017-08-10 15:31 |
From | "Jeanette C." |
Subject | Re: Reducing chorus-like effect with pvsfreeze |
Aug 10 2017, Oeyvind Brandtsegg has written: ... > Maybe the partials opcode would help you extract similar information as he > has displayed in the lower pane on his screen, and from there your could > work something out on how to apply that shape to the > partials-representation of the destination sound. ... Hi Oeyvind, thanks for your feedback. I have found that my first approach didn't really work. I didn't find any information about the output-format of the partials opcode, but I'm doing a harmonic detection myself now, only relating a user-defined number of harmonics and possibly then use optional direct relation between frequencies around a user definable highfreq mark, to experiment with noise/breathiness translation. This could be especially useful for vocal transformations, if they work. Using this approach I might also be able to perform a few more harmonic operations as demonstrated in the Melodyne video (removing each odd/even harmonic... Best wishes, Jeanette -------- * website: http://juliencoder.de - for summer is a state of sound * SoundCloud: https://soundcloud.com/jeanette_c I can't believe it's what I see That the girl in the mirror The girl in the mirror Is me <3 (Britney Spears) Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2017-08-10 17:13 |
From | Oeyvind Brandtsegg |
Subject | Re: Reducing chorus-like effect with pvsfreeze |
Sounds very interesting. Would you care to share the code for harmonic detection? 2017-08-10 16:31 GMT+02:00 Jeanette C. <julien@mail.upb.de>: Aug 10 2017, Oeyvind Brandtsegg has written: Oeyvind Brandtsegg Professor of Music Technology NTNU 7491 Trondheim Norway Cell: +47 92 203 205 http://www.partikkelaudio.com/ http://crossadaptive.hf.ntnu.no http://gdsp.hf.ntnu.no/ http://soundcloud.com/brandtsegg http://flyndresang.no/ http://soundcloud.com/t-emp |
Date | 2017-08-10 20:44 |
From | "Jeanette C." |
Subject | Re: Reducing chorus-like effect with pvsfreeze |
Aug 10 2017, Oeyvind Brandtsegg has written: > Sounds very interesting. Would you care to share the code for harmonic > detection? Of course, once I have finished my second attempt. I already used it. Basically, I pitchtrack the audio signal. Then I write the frequencies and amps of the bins to function tables, using pvsftw. In a loop I iterate over all bands (can be improved), until I approximate the first harmonic (kpitch * kharmonic). At that point I also check the amplitudes, always storing the amplitude of the last bin. So I choose between two bins, whichever has the louder volume. In that case I do what has to be done. I could also write the number of the bin to an array and keep that around for later use. The array is probably what I will do, since I plan to move that code inside a UDO, since I have to use it several times throughout the whole process. Once a working version is finished, I plan to release the code anyway. Best wishes, Jenaette -------- * website: http://juliencoder.de - for summer is a state of sound * SoundCloud: https://soundcloud.com/jeanette_c Make all the clouds disappear Put all your fears to rest <3 (Britney Spears) Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |