locsig

locsig

Description

locsig은 input시그널을 받아 2개에서 4개의 채널로 나눈후에 채널간의 발란스를 계산하여 각도를 값으로 사용한다. 또한 거리를 argument로 받아서 시그널의 얼마나 많은양이 reverberator로 보내질건지를 결정한다. 이 Charles Dodge/Thomas Jerse book, Computer Music, page 320. 의 이론을 기반으로 반들어 졌다.

Syntax

a1, a2 locsig asig, kdegree, kdistance, kreverbsend
a1, a2,  a3, a4 locsig asig, kdegree, kdistance, kreverbsend

Performance

kdegree — 0 ~ 360의 값 (각도).
: a1=0, a2=90, a3=180, a4=270 (kdegree=45 는 정확히 a1과 a2사이에 시그널이 놓이게 한다. locsig 은 kdegree 을 sin 과 cos functions 으로 읽어들여 signal balances를 만든다(예: asig=1, kdegree=45, a1=a2=.707)
kdistance — 1보다 큰값은 시그널의 줄어들고 reverb level을 재현하게 된다. kdistance 가 더 커지면 소리는 더 부드러워지고 더 많은 reverberant를 구현한다. (locsend 의 사용이 요구됨).
kreverbsend — reverb나 reverb2와 같은 오브젝트로 보내어질 시그널의 양을 전달하기 위한 거리와 각도와 함께 요구되어지는 direct signal의 percentage

Examples
  asig //여기에 들어올 오디오를 만든후
  kdegree            line    0, p3, 360
  kdistance          line    1, p3, 10
  a1, a2, a3, a4     locsig  asig, kdegree, kdistance, .1
  ar1, ar2, ar3, ar4 locsend
  ga1 = ga1+ar1
  ga2 = ga2+ar2
  ga3 = ga3+ar3
  ga4 = ga4+ar4
                     outq    a1, a2, a3, a4
endin

instr 99 ; reverb instrument
  a1                 reverb2 ga1, 2.5, .5
  a2                 reverb2 ga2, 2.5, .5
  a3                 reverb2 ga3, 2.5, .5
  a4                 reverb2 ga4, 2.5, .5
                     outq    a1, a2, a3, a4
  ga1=0
  ga2=0
  ga3=0
  ga4=0
        
위의 예제에서는 시그널 asig가 완전히 원을그리며 전체 길이동안 움직이게 된다. 반면 동시에 그 거리는 듣는사람의 지역에서 점점 멀어지게 된다. locsig 는 시그널을 locsend로 적절한 양을 보내게 된다ㅣ. Locsend의 출력은 global accumulators 로 더해지고 그 global signals 은 reverb units 의 signal로서 사용된다.(분리된 instrument number에서.)

locsig 은 quad 와 stereo panning 에서 유용하며, 2개의 스피커 어디든 소리를 고정시키는대에도 유용하게 사용된다.
아래의 예 참고:

instr 1
  a1, a2             locsig  asig, p4, p5, .1
  ar1, ar2           locsend
  ga1=ga1+ar1
  ga2=ga2+ar2
                     outs a1, a
endin
instr 99
  ; reverb….
endin
        
score파일의 몇 개의 음들:
  ;왼쪽 스피커, 그리고 가까이에 놓이는 소리:
  i1 0 1 0 1
  
  ;오른쪽 스피커, 그리고 멀리 놓이는 소리:
  i1 1 1 90 25
  
  ;소리가 왼쪽과 오른쪽 스피커 정확하게 중간 위치에. 그리고 중간 거리:
  i1 2 1 45 12
  e
        
다음의 예는 단순한 도플러 현상을 나타낸다.

  kdistance          line    1, p3, 10
  kfreq = (ifreq * 340) / (340 + kdistance)
  asig               oscili  iamp, kfreq, 1
  kdegree            line    0, p3, 360
  a1, a2, a3, a4     locsig  asig, kdegree, kdistance, .1
  ar1, ar2, ar3, ar4 locsend
        

Leave a Comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.