This should play if your Web browser has WebAssembly enabled (most do). Most examples will play unless they need to load files. The first time you click Play, Csound will spend a few seconds loading, then play. You can edit this code and replay it.
; Select audio/midi flags here according to platform -odac ;;;RT audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ;-o convolve.wav -W ;;; for file output any platform ; Required settings for WebAudio: sr = 48000 ksmps = 128 nchnls = 2 nchnls_i = 1 ; NB: 'Small' reverbs often require a much higher percentage of wet signal to sound interesting. 'Large' ; reverbs seem require less. Experiment! The wet/dry mix is very important - a small change can make a large difference. ; sr = 44100 ; ksmps = 32 ; nchnls = 2 0dbfs = 1 ; by Menno Knevel - 2021 ires1 system_i 1,{{ cvanal rv_mono.wav rv_mono.con }} ; analyze mono spring reverb ires2 system_i 1,{{ cvanal rv_stereo.wav rv_stereo.con }} ; analyze stereo spring reverb instr 1 imix = 0.25 ;wet/dry mix. Vary as desired. ivol = .8 ;Overall volume level of reverb. Adjust to avoid clipping. idel filelen p4 ;calculate length and number of channels of soundfile ichnls filenchnls p4 prints "\n**this reverb file = %f seconds and has %d channel(s)**\n", idel, ichnls if (ichnls == 1) then ; if mono adry soundin "fox.wav" ; input (dry) audio awet convolve adry,"rv_mono.con" ; mono convolved (wet) audio awet1 diff awet ; brighten sound awet2 = awet1 ; as it is a mono file played stereo adrydel delay (1-imix)*adry, idel ; Delay dry signal to align it with convolved signal else ; if stereo adry soundin "fox.wav" ; input (dry) audio awet1, awet2 convolve adry,"rv_stereo.con" ; stereo convolved (wet) audio awet1 diff awet1 ; brighten left sound awet2 diff awet2 ; and brighten right sound adrydel delay (1-imix)*adry, idel ; Delay dry signal to align it with convolved signal endif outs ivol*(adrydel+imix*awet1),ivol*(adrydel+imix*awet2) ; Mix wet & dry signals endin i 1 0 4 "rv_mono.wav" i 1 5 4 "rv_stereo.wav" e