Csound Csound-dev Csound-tekno Search About

[Csnd] Stereo Width example

Date2012-02-21 02:47
FromRoger Kelly
Subject[Csnd] Stereo Width example
Could someone explain to me how this width example works?  I have been trying to implement this using left/right delay but it does not sound as good as this:

<CsoundSynthesizer>

<CsOptions>

</CsOptions>

<CsInstruments>

sr = 44100

kr = 4410

ksmps = 10

nchnls = 2

instr 1 ; Stereo Width Expander.

ilevl = p4 ; Output level

iwidth = p5 ; Stereo width: -1=Mono 0=Normal +1=Wide

ifreq = p6 ; Bass cut frequency

a1, a2 soundin "sa_beat1.aif"

ahp1 atone a1, ifreq

ahp2 atone a2, ifreq

aout1 = (iwidth >= 0 ? a1 - ahp2*iwidth : a1 + a2*int(iwidth))

aout2 = (iwidth >= 0 ? a2 - ahp1*iwidth : a2 + a1*int(iwidth))

outs1 aout1*ilevl

outs2 aout2*ilevl

endin

</CsInstruments>

<CsScore>

;     Strt  Leng  Levl  Width Freq

i01   0.00  1.50  1.00 -1.00  100 ; Mono

i01   2.00  .     .    -0.50  .   ; Narrow

i01   4.00  .     .     0.00  .   ; Normal stereo

i01   6.00  .     .     0.50  .   ; Wide

i01   8.00  .     .     1.00  .   ; Very wide

e

</CsScore>

</CsoundSynthesizer>


Date2012-02-21 08:17
FromAndres Cabrera
SubjectRe: [Csnd] Stereo Width example
Hi,

This is a typical Mid-Side image control (where you have a middle signal which is the sum and a side signal which is the subtraction, and you control the balance between both), but in this case, when trying to extend the width beyond the original, it uses a high-passed signal, so that phase cancellations don't occur in lower frequencies. Quite a nice idea that I hadn't come across before.

Cheers,
Andrés

On Tue, Feb 21, 2012 at 2:47 AM, Roger Kelly <loraxman@gmail.com> wrote:
Could someone explain to me how this width example works?  I have been trying to implement this using left/right delay but it does not sound as good as this:

<CsoundSynthesizer>

<CsOptions>

</CsOptions>

<CsInstruments>

sr = 44100

kr = 4410

ksmps = 10

nchnls = 2

instr 1 ; Stereo Width Expander.

ilevl = p4 ; Output level

iwidth = p5 ; Stereo width: -1=Mono 0=Normal +1=Wide

ifreq = p6 ; Bass cut frequency

a1, a2 soundin "sa_beat1.aif"

ahp1 atone a1, ifreq

ahp2 atone a2, ifreq

aout1 = (iwidth >= 0 ? a1 - ahp2*iwidth : a1 + a2*int(iwidth))

aout2 = (iwidth >= 0 ? a2 - ahp1*iwidth : a2 + a1*int(iwidth))

outs1 aout1*ilevl

outs2 aout2*ilevl

endin

</CsInstruments>

<CsScore>

;     Strt  Leng  Levl  Width Freq

i01   0.00  1.50  1.00 -1.00  100 ; Mono

i01   2.00  .     .    -0.50  .   ; Narrow

i01   4.00  .     .     0.00  .   ; Normal stereo

i01   6.00  .     .     0.50  .   ; Wide

i01   8.00  .     .     1.00  .   ; Very wide

e

</CsScore>

</CsoundSynthesizer>