Re: [Bluemusic-users] Freeze-rendering vs. rendering in realtime
Brought to you by:
kunstmusik
From: Jan J. H. <jj...@so...> - 2014-04-16 10:05:02
|
Dear Steven, I investigated further: The noise comes from an from my global reverb, but only when I do freeze the sound files. The noise is 1 sec. long, which exactly matches the length of the delay line used there. My reverb is basically the reverb-design created by Sean Costello coded as an UDO. It uses its own output - fed back in a delay-line. Somewhere in the delay line the noise arrises. I do post the whole reverb-design below for information. Inserted into this I put notes about my tests, my testing-set-up to isolate the origin of the noise and the result of that testing as comments: "+" means noise in frozen Sound-Objects, "-" means clean sound in frozen SoundObjects. The strange thing is, that rendering in real-time and rendering to disk (even both with ksmps=100) does not produce any noise in my sound files at all. So I think, something in the process of freezing is different that the feedback-delay-line might behave differently. So If you, Steven, or anybody else has a clue what is going on there (and how it could be changed ;-)), I'd be most interested to know. All the best, Jan Jacob ; 12 delay line FDN reverb, with feedback matrix based upon ; physical modeling scattering junction of 12 lossless waveguides ; of equal characteristic impedance. Based on Julius O. Smith III, ; "A New Approach to Digital Reverberation using Closed Waveguide ; Networks," Proceedings of the International Computer Music ; Conference 1985, p. 47-53 (also available as a seperate ; publication from CCRMA), as well as some more recent papers by ; Smith and others. ; ; Coded by Sean Costello, October 1999/ modified by Jan Jacob Hofmann August 2005 ; Note: arevsig is the global input to the reverb. setksmps 1 ; seting ksmps to 1 as feedback lines are used arevsig, irvbdecay, irandpchmod, icutofffreq xin afilt1 init 0 afilt2 init 0 afilt3 init 0 afilt4 init 0 afilt5 init 0 afilt6 init 0 afilt7 init 0 afilt8 init 0 afilt9 init 0 afilt10 init 0 afilt11 init 0 afilt12 init 0 ; Delay times chosen to be prime numbers. ; Works with sr=44100/ sr=48000 ONLY. If you wish to ; use a different delay time, find some new ; prime numbers that will give roughly the ; same delay times for the new sampling rate. ; Or adjust to taste. if sr = 48000 goto delaytime48000 ; delaytime chosen for sr=44100 idel1 = (1237.000/sr) idel2 = (1381.000/sr) idel3 = (1609.000/sr) idel4 = (1777.000/sr) idel5 = (1951.000/sr) idel6 = (2063.000/sr) idel7 = (1069.000/sr) idel8 = ( 967.000/sr) idel9 = (1889.000/sr) idel10 = (1693.000/sr) idel11 = (1453.000/sr) idel12 = (1291.000/sr) goto contin delaytime48000: ; delaytime for sr=48000 idel1 = (1361.000/sr) idel2 = (1499.000/sr) idel3 = (1753.000/sr) idel4 = (1933.000/sr) idel5 = (2129.000/sr) idel6 = (2243.000/sr) idel7 = (1163.000/sr) idel8 = (1051.000/sr) idel9 = (2053.000/sr) idel10 = (1693.000/sr) idel11 = (1847.000/sr) idel12 = (1409.000/sr) contin: igain = irvbdecay ; gain of reverb. Adjust empirically ; for desired reverb time. .6 gives ; a good small "live" room sound, .8 ; a small hall, .9 a large hall, ; .99 an enormous stone cavern. ipitchmod = irandpchmod ; amount of random pitch modulation ; for the delay lines. 1 is the "normal" ; amount, but this may be too high for ; held pitches such as piano tones. ; Adjust to taste. itone = icutofffreq ; Cutoff frequency of lowpass filters ; in feedback loops of delay lines, ; in Hz. Lower cutoff frequencies results ; in a sound with more high-frequency ; damping. ; k1-k8 are used to add random pitch modulation to the ; delay lines. Helps eliminate metallic overtones ; in the reverb sound. k1 randi .001, 3.1, .06 k2 randi .0011, 3.5, .9 k3 randi .0017, 1.11, .7 k4 randi .0006, 3.973, .3 k5 randi .001, 2.341, .63 k6 randi .0011, 1.897, .17 k7 randi .0017, 0.891, .19 k8 randi .0006, 3.221, .44 k9 randi .001, 1.891, .88 k10 randi .0011, 2.317, .95 k11 randi .0017, 1.091, .36 k12 randi .0006, 2.821, .41 ; apj is used to calculate "resultant junction pressure" for ; the scattering junction of e.g. 8 lossless waveguides ; of equal characteristic impedance. If you wish to ; add more delay lines, simply add them to the following ; equation, and replace the .25 by 2/N, where N is the ; number of delay lines. apj = .16666666667 * (afilt1 + afilt2 + afilt3 + afilt4 + afilt5 + afilt6 +afilt7 + afilt8 + afilt9 + afilt10 +afilt11 + afilt12) adum1 delayr 1 adel1 deltapi idel1 + k1 * ipitchmod delayw arevsig + apj - afilt1 adum2 delayr 1 adel2 deltapi idel2 + k2 * ipitchmod delayw arevsig + apj - afilt2 adum3 delayr 1 adel3 deltapi idel3 + k3 * ipitchmod delayw arevsig + apj - afilt3 adum4 delayr 1 adel4 deltapi idel4 + k4 * ipitchmod delayw arevsig + apj - afilt4 adum5 delayr 1 adel5 deltapi idel5 + k5 * ipitchmod delayw arevsig + apj - afilt5 adum6 delayr 1 adel6 deltapi idel6 + k6 * ipitchmod delayw arevsig + apj - afilt6 adum7 delayr 1 adel7 deltapi idel7 + k7 * ipitchmod delayw arevsig + apj - afilt7 adum8 delayr 1 adel8 deltapi idel8 + k8 * ipitchmod delayw arevsig + apj - afilt8 adum9 delayr 1 adel9 deltapi idel9 + k9 * ipitchmod delayw arevsig + apj - afilt9 adum10 delayr 1 adel10 deltapi idel10 + k10 * ipitchmod delayw arevsig + apj - afilt10 adum11 delayr 1 adel11 deltapi idel11 + k11 * ipitchmod delayw arevsig + apj - afilt11 adum12 delayr 1 adel12 deltapi idel12 + k12 * ipitchmod delayw arevsig + apj - afilt12 ; ************TEST*************************** ; + = noise in frozen soundObjects ; - = no noise in frozen soundObjects atonetest init 0 adumtest delayr 1 adeltest deltapi idel12 + k12 * ipitchmod delayw arevsig - atonetest; + apj - atonetest atonetest tone arevsig * igain, itone outs adeltest, adeltest ; arevsig - ; apj + ; afilt1, afilt2 + ; adel1, adel2 + ; atonetest - ; adeltest - ; ************TEST*************************** ; 1st order lowpass filters in feedback ; loops of delay lines. afilt1 tone adel1 * igain, itone afilt2 tone adel2 * igain, itone afilt3 tone adel3 * igain, itone afilt4 tone adel4 * igain, itone afilt5 tone adel5 * igain, itone afilt6 tone adel6 * igain, itone afilt7 tone adel7 * igain, itone afilt8 tone adel8 * igain, itone afilt9 tone adel9 * igain, itone afilt10 tone adel10 * igain, itone afilt11 tone adel11 * igain, itone afilt12 tone adel12 * igain, itone xout afilt1 , afilt2 , afilt3 , afilt4 , afilt5 , afilt6 , afilt7 , afilt8, afilt9 , afilt10 , afilt11 , afilt12 sound | movement | object | space sonic architecture | site: http://www.sonicarchitecture.de spatial electronic composition | higher order ambisonic music Am 11.04.2014 um 20:56 schrieb Steven Yi: > Hi Jan Jacob, > > Thanks and hope it solves your issue. For now, I've gone ahead and > put the release up on Sourceforge as 2.5.12. I'm going to close out > the hotfix branch so that I can continue on with my other development > work. > > Thanks! > steven > > On Fri, Apr 11, 2014 at 12:49 PM, Jan Jacob Hofmann > <jj...@so...> wrote: >> Dear Steven, >> >> yes, thanks Steven, I will. It will be not before tomorrow though, as >> I will be working until midnight in the cinema and I only have my >> laptop with me, which is still on OS X 10.6. >> >> I am very, very curious. >> >> >> All the best, >> >> Jan Jacob >> >> >> sound | movement | object >> | space >> sonic architecture | site: http://www.sonicarchitecture.de >> spatial electronic composition | higher order ambisonic music >> >> Am 11.04.2014 um 18:06 schrieb Steven Yi: >> >>> Hi Jan Jacob, >>> >>> Could you try this release: >>> >>> http://www.kunstmusik.com/blue_OSX_2.5.12.zip >>> >>> I tested here and freezing used the disk render settings here. >>> >>> Thanks! >>> steven >>> >>> On Fri, Apr 11, 2014 at 11:21 AM, Steven Yi <ste...@gm...> >>> wrote: >>>> Hi Jan Jacob, >>>> >>>> I think there is a bug. It looks like when I redid the render service >>>> code, I had the freezing code use the realtime settings instead of >>>> the >>>> disk settings. Let me create another hotfix branch and do a fix. I'll >>>> post a build for you to test shortly. >>>> >>>> Thanks! >>>> steven >>>> >>>> On Fri, Apr 11, 2014 at 10:55 AM, Jan Jacob Hofmann >>>> <jj...@so...> wrote: >>>>> Dear Steven, dear list, >>>>> >>>>> being now able to render much more in realtime, I noticed a strange >>>>> phenomenon on which I have no explanation so far: >>>>> >>>>> Listeneng carefully to frozen sound objects of mine reveals textures >>>>> of unwanted noise after every single short sound event. The sound >>>>> quality is somehow not so clean, there are also some artefacts in my >>>>> sounds. The noise persists about 1 sec. after every note event, then >>>>> it is silent until the next sound starts. >>>>> >>>>> First I thought, there is something wrong with my instrument but >>>>> then >>>>> I found out, that the sound is clean as can be if listened to in >>>>> realtime. >>>>> The strange thing is that I do render with ksmps= 10 in realtime and >>>>> ksmps=1 to disk. I would therefore expect the rendering to disk >>>>> having >>>>> the better sound quality in general. >>>>> >>>>> So I wonder, which settings Freezing uses, the ones for realtime- >>>>> rendering, disk rendering (as I would expect) or something else, >>>>> taylor-made for Freezing. >>>>> >>>>> Partly I am asking just out of curiosity, I would like to know >>>>> what is >>>>> behind things, partly I wonder, if maybe something else is wrong >>>>> with >>>>> my code. Actually I am not minding the quality, it is allright for >>>>> freezing, as long as it sounds clean at the end. But I wonder >>>>> where It >>>>> might come from. >>>>> >>>>> Best, >>>>> >>>>> Jan Jacob >>>>> >>>>> >>>>> >>>>> sound | movement | object >>>>> | space >>>>> sonic architecture | site: http://www.sonicarchitecture.de >>>>> spatial electronic composition | higher order ambisonic music >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Put Bad Developers to Shame >>>>> Dominate Development with Jenkins Continuous Integration >>>>> Continuously Automate Build, Test & Deployment >>>>> Start a new project now. Try Jenkins in the cloud. >>>>> http://p.sf.net/sfu/13600_Cloudbees >>>>> _______________________________________________ >>>>> Bluemusic-users mailing list >>>>> Blu...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/bluemusic-users >>> >>> ------------------------------------------------------------------------------ >>> Put Bad Developers to Shame >>> Dominate Development with Jenkins Continuous Integration >>> Continuously Automate Build, Test & Deployment >>> Start a new project now. Try Jenkins in the cloud. >>> http://p.sf.net/sfu/13600_Cloudbees >>> _______________________________________________ >>> Bluemusic-users mailing list >>> Blu...@li... >>> https://lists.sourceforge.net/lists/listinfo/bluemusic-users >>> >> >> >> ------------------------------------------------------------------------------ >> Put Bad Developers to Shame >> Dominate Development with Jenkins Continuous Integration >> Continuously Automate Build, Test & Deployment >> Start a new project now. Try Jenkins in the cloud. >> http://p.sf.net/sfu/13600_Cloudbees >> _______________________________________________ >> Bluemusic-users mailing list >> Blu...@li... >> https://lists.sourceforge.net/lists/listinfo/bluemusic-users > > ------------------------------------------------------------------------------ > Put Bad Developers to Shame > Dominate Development with Jenkins Continuous Integration > Continuously Automate Build, Test & Deployment > Start a new project now. Try Jenkins in the cloud. > http://p.sf.net/sfu/13600_Cloudbees > _______________________________________________ > Bluemusic-users mailing list > Blu...@li... > https://lists.sourceforge.net/lists/listinfo/bluemusic-users > |