디자이닝 사운드 3-18-technique2 Tables

_웨이브 테이블 합성
웨이브테이블 합성은 룩업 테이블(내장 함수를 포함하는)을 사용한다. 우리는 이미 다른 함수로 periodic 함수의 모양을 만드는 방법을 살펴보았다 – 이런걸 웨이브셰이핑이라고 부른다. 예를 들어, 우리는 phasor~ 와 cos~ 오브젝트를 연결해서 코사인 웨이브를 만들어내었다.
웨이브셰이핑은 다음 섹션에서 더 디테일하게 다루어질 것이다.
PD 내장 cos~ 오브젝트는, 같은 기능을 하는 룩업 테이블로 대치될 수 있다. 함수가 계산되지 않고 테이블로 저장되어 있기 때문에, 이것을 웨이브테이블 룩업 이라고 부른다. *
우리는 함수를 변경해서 다른 웨이브폼을 얻을 수 있다는 사실을 짐작할 수 있다. 사인 곡선의 결합으로 원하는 테이블을 생성하는 방법을 이미 보았다.
이건 가산 합성과 웨이브 테이블 간의 연결관계를 보여준다. 웨이브테이블은 periodic 함수이고(0에서 시작해서0으로 끝나는), 그래서 사인함수의 합으로 설명될 수 있어야 한다. 그림 18.1을 잠시 공부해서 또다른 연결 관계를 볼 수 있기를 바란다.
웨이브셰이핑과 웨이브테이블 합성은 어느면에서 연결되어 있다(적어도 감쇄하는 경우에는).
웨이브셰이핑은, 비선형 함수를 통과하면서 스펙트럼을 수정하는 사인곡선(보통 룩업 테이블 형태의)  또는 더 복잡한 periodic 웨이브폼을 갖고 있다. 18.1 그림의 첫번째 컬럼은 리니어 함수를 사용하는 경우를 보여준다. 우리의 웨이브테이블은 -1.0에서 1.0 사이를 가로지르는 선이다. 그리고 테이블에 대한 인덱스는 사인함수이다. 이 경우, 웨이브셰이핑이라고 볼수 있는 과정은, 비선형 함수를 사용해서 입력받은 웨이브폼의 진폭이나 모양을 변형시키면서 함수는 그대로 유지하도록 한다. 인덱스가 128 단계 테이블에서 64를 뺀 가운데 즈음에 위치한 것을 확인하자. 인풋 파형이 bipolar(-1~1)이었기 때문이다.(osc~ 코사인 함수)
웨이브 테이블 합성의 경우, 우리는 phasor(톱니파, 0~1)를 periodic 함수의 인덱스로 사용한다. 우리는 고정된 웨이브폼을 인덱싱하지만, 셰이핑 함수를 동적으로 수정할 수 있다. 18.1의 두번째 컬럼에서 이걸 볼 수 있다. 테이블은 코사인파의 사이클로 채워져 있고, 우리는 그것을 phasor로 인덱싱한다. 인덱스가 테이블의 변역(범위)을 128 단계를 사용해서 커버하는 것을 확인하자. 인풋 파형이 단극단이고 양수 였기 때문이다. (0~1)
(세번째 예제에서는, 변형된 톱니파의 주파수를 조절하면서, 코사인 함수의 테이블을 가산합성한 결과를 확인할 수 있습니다.)
* LUT (Lookup Table)
순람표(順覽表) 또는 룩업 테이블(lookup table)은 컴퓨터 과학에서 일반적으로 배열이나 연관 배열로 된 데이터 구조로,
런타임 계산을 더 단순한 배열 색인화 과정으로 대체하는 데 자주 쓰임.
처리 시간의 절약은 중요할 수 있는데, 이는 메모리로부터 값을 받아오는 것이 더 일이 많이 드는 계산이나 입출력 기능을 거치는 것보다 더 빠르기 때문.
_웨이브테이블의 실제 사용
그림 18.2은 웨이브 테이블을 사용하는 테크닉들을 보여준다. tabread4~ 가 인터폴레이팅에 대한 리더 객체임을 기억하자. 따라서 사소한 결함들이 발생하는 경우를 대비하여 3개의 여유 포인트를 가지고 있어야 한다. (wavetable의 사이즈를 확인하면 131입니다.) 우리는 사운드를 변화시키는 두가지 방식을 볼 수 있다. 첫번째는 테이블의 내용을 변경하는 커맨드를 등록하는 것이다. 새로운 함수를 통한 계산으로 테이블을 다시 채우는 방법이나, sinesum과 같이 이미 만들어진 웨이브 생성자들을 사용하는 방법으로 이것을 할 수 있다. 두번째는 tabread4~ 객체로 하여금 또다른 테이블을 참조하도록 하는 것이다. 새로운 테이블의 이름을 인자로 넘겨주는 메시지 객체를 사용해서 이것을 구현할 수 있다.
이 방식들은 고정된 스펙트럼을 얻는 데에는 유용하다. 하지만 동적인 사운드를 만들어내려면 어떻게 해야 하나? 한가지 방법은 테이블의 인덱스 오프셋*을 여러개의 periodic 함수들을 저장하는 룩업테이블로 바꿈으로써 웨이브테이블을 교체하는 것이다. 이것은 임의로 형성되는 웨이브폼의 사이클일 수 있다.
사실상 이것은 타임 스트레칭으로 인한 왜곡이라고 볼 수 있다.
왜냐하면 클릭 발생 없이 사운드(계속 새로 형성되고 있는)의 앞 뒤로 왔다갔다 할 수 있기 때문이다.
하지만 임의의 사이클 사이를 점프해서 넘어갈 수는 없다.
이것은 웨이브테이블 합성의 어려움을 보여준다. 이는 클릭 발생 없이 테이블의 내용을 변경하는 방법을 찾는 일이고, 다시 말해서 변화의 단계를 부드럽게 유지하는 일이다. 하나의 방법은 phasor 인덱스 뒤에서 기록하는 것이지만, 만약 테이블이 여러 오실리레이터들과 공유되었을 경우 파일 교착 같은 상태에 빠질 위험이 있다. 좋은 방법은 두개 이상의 테이블 사이에서 크로스 페이드하도록 해서 현재 읽히고 있지 않은 테이블을 수정, 업데이트하는 것이다. 이것은 웨이브 스캐닝과 벡터 합성 테크닉이라는 주제로 우리를 인도한다.
* 오프셋(offset)
컴퓨터 과학에서 배열이나 자료 구조 오브젝트 내의 오프셋(offset)은 일반적으로 동일 오브젝트 안에서 오브젝트 처음부터 주어진 요소나 지점까지의 변위차를 나타내는 정수형이다. 이를테면, 문자 A의 배열이 abcdef를 포함한다면 ‘c’ 문자는 A 시작점에서 2의 오프셋을 지닌다고 할 수 있다.
_벡터 합성
벡터 합성은 사실 ‘컨트롤하는’ 전략이다. 하지만 웨이브 테이블 합성 레이어에서 많이 사용되기 때문에 그 부분을 통해 알아보도록 하자. Pure Data의 유용한 객체는 테이블 룩업 오실레이터 tabosc4~ 이다. 이것은 우리가 위의 깔끔한 패키지에서 살펴본 기능들과 같은 기능을 본질적으로 수행한다.
벡터 합성은 더 복잡한 스펙트럼들을 섞는 가산 합성의 형태로 볼 수 있다. 그것은 S + S(샘플링 + 합성synthesizing) 방법의 한 종류인데, 미리 저장된 웨이브테이블을 재생하는 오실레이터들이 fade 매트릭스, 엔벨롭 생성기, 필터 들과 섞이는 방법이다. 이 방법은 90년대부터 Sequential Circuits Prophet VS 벡터 신디사이저 같은 디지털 신디사이저들이 사용한 전형적인 방법이다.
그림 18.3 에서 우리는 4개의 웨이브테이블이 미리 생성된 웨이브폼으로 채워지고, 2D 평면의 마커들의 위치에 따라 믹스되는 것을 볼 수 있다. 이 패치는 grid라는 external이 필요한데,(Yves Degoyon 작) extended PD에는 들어있다. 이것은 특히 Korg KaossPad, 조이스틱, 그리고 멀티 axis 미디 콘트롤러 휠과 같은 평면 컨트롤러들과 함께 사용될 때 (ctlin 로 입력을 받아서) 사운드 디자인에서 유용하게 사용할 수 있다. 그리드의 각 포지션은 유니크하게 합성된 웨이브 폼을 생성하고, 만약 움직임이 녹화된 후 플레이백 된다면 복잡한 형태의 엔벨롭 제너레이터가 된다.
* 엔벨롭
6304b3a9-06c7-4b82-a7f7-f20d942229a9.jpg

_웨이브 스캐닝 합성
웨이브 스캐닝은 웨이브 셰이핑과 알갱이 합성(그래뉼라 합성), 그리고 웨이브테이블 합성의 중간 쯤 위치하는 하이브리드 기법으로, 어떤 사운드 파일을 가지고 삼각파나 사인파를 이용해서 인덱싱하는 기법이다. 우리는 샘플에서 period / phase 의 바운더리에는 관심을 갖지 않는다. 우리는 그저 날 것(raw material)으로 사용한다.  인덱스들의 위치의 평균을 구해서 오프셋을 거기에 더함으로서 파일을 천천히 스캔할 때 멋진 일이 일어난다. 그림 18.4는 PPG 나 Synclavier 디바이스와 같은 동적인 스펙트럼들을 만들어낼 수 있는 패치이다.
먼저 phasor 에서 삼각를 만들어낸다. 임의의 스케일 팩터로 곱하면 스캔하는 넓이를 바꿀수 있게 되고, 인덱스들을 스캔하는 과정을 압축하거나 늘어뜨릴 수 있다. 원한다면, 느리게 이동하는 LFO를 더하면 두꺼운 사운드가 나오고, 예측이 어려운 퀄리티를 얻을 수 있다. 스캔 넓이가 너무 좁았을 경우 상하의 사이드 밴드들이 변조로 인해 발생하는데, 테이블 룩업과정 뒤에 필터를 더하면 이런 높은 하모닉스를 제거할 수 있다.
* 그래뉼라 합성 : 무수한 점이 일렬로 모인 패턴을 멀리서 보면 선으로 보이듯 짧은 소리들이 작은 간격을 두고 반복되면 우리 귀에 연결된 소리로 들릴 수 있다. 이처럼 낟알 같은 짧은 소리들을 모아서 하나의 이어진 다른 소리를 만드는 음향합성과정을 그래뉼라 합성이라고 한다.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s