재료

  • 5W class D amplifier module 1개
  • p212 or raspberry pi 2 (or 3) 1개
  • speaker cabinet 1개
  • USB audio interface 1개

- Guitar amplifier simulator/multi-effect

Raspberry pi 위에 linux를 얹어 ALSA로 프로그래밍하거나 S905x 보드 위에 android를 올리고 안드로이드로 프로그래밍하는 방법을 생각하고 있다. 문제는 UI이다. 일반적인 멀티 이펙트는 UI가 대략 아래의 사진처럼 되어있다. 


사진에서 보여지듯 사용자는 LCD 창에 보여지는 내용을 통해 현재의 이펙트가 어떻게 설정되어있는지 또는 수많은 preset 중에서 어떤 것을 사용하고 있는지 시스템 설정은 어찌되어있는지 등등의 정보를 받아볼 수 있고, 나머지는 knob, button, switch 그리고 LED로 되어있다. 사용자가 input을 주는 것은 knob와 button이고 시스템은 LCD/LED로 상태를 알려준다. 물론 화려한 GUI로 된 컨트롤 애플리케이션이 Windows/MacOS를 위해 개발되어있고 USB를 이용해서 컨트롤 할 수 있다. 

이펙트의 질이 아무리 훌륭하다고 하더라도 그것을 사용자가 이해하기 편한 방법으로 컨트롤 할 수 없으면 무용지물이 된다. 그러나 이 프로젝트에서는 그 어떤 것도 할 수 있는 시간적 물적 인적 여력이 없다. 그렇다고 이펙트를 하나의 애플리케이션으로 linux나 android위에서 동작시키고 web interface 정도 뚫어놓으면 다행이다 하고 있다. 그 다음엔 스마트폰으로 컨트롤하든 뭘하든 되겠지만 말이다. 좀 더 더 신경을 쓰자면 테블릿 사이즈의 LCD 패널과 디지타이저를 붙여서 터치스크린으로 컨트롤하는 방법이 있는데, 또 이 방법은 쉽게 생각할 수 있는 방법이지만, 이펙트를 컨트롤하는 사용자의 입장에서는 그 역시도 그다지 편리하지 못하다. 연주시에 활용하는 것을 목표로 한다면 사진처럼 풋 스위치가 되는 것이 편리하다. 그게 아니라면 터치스크린으로 그래픽 상의 볼륨 노브나 스위치를 조작하는 정도가 될 것이다.

이미 이펙트의 핵심이 되는 대부분의 software (amplifier simulator/chorus/delay 등)는 C/C++ 상태로 만들어져있고 여러 해 전에 재미 삼아 Logic용 plugin으로 만들어 모두 검증된 상태이다. 혹시나 증거가 필요하신 분이 있을지 몰라 동영상을 만들고 있으니 완료가 되면 붙여볼 생각이다. 일단 먼저 제작되어있는 플러그인의 스냅샷만 올려본다.


AU (audio unit: Logic이나 Garageband에서 쓰이는 S/W 인터페이스 방식) 플러긴으로만 제작해서 나와 내 동생만 치사하게 사용하던 플러그인이다. 돈을 받고 팔기도 뭐하고 그렇다고 공개하기도 뭐한 수준이라 그렇게 됐다.







아래는 이들 이펙터로 오랜만에 기타잡고 방금 전 작업한 오디오 샘플이다.

https://soundcloud.com/audvans-technology/erotomania2

https://soundcloud.com/audvans-technology/state-of-grace



개인적으로 제작한 시뮬레이터는 대략 10여종 정도 된다. 잘 알려진 앰프 시뮬레이터와 코러스/딜레이 이펙트인데, 제대로 된 멀티 이펙트의 형태를 갖추려면 대략 다음의 구성은 되어야 한다.


1) stomp box efx (overdrive/distortion/compressor/phaser(flanger/chorus)/delay/..)

2) amplifier simulator (preamplifier + power amplifier + speaker cabinet + microphone)

3) studio efx (compressor/limiter, modulation(chorus/flanger/phaser), delay, reverb) 


이 많은 걸 왜 다 해야 하느냐 혼자서 다 할 수 있느냐 할 수 있을텐데, 금전/인적 자원이 없는 관계로 시간을 길게 사용해야 할 수 밖에 없다. 가장 시간이 많이 드는 것은 주로 검증이다. 알고리즘이나 회로를 그대로 가져다 모델링 했다고 하더라도 귀로 들어 제대로 잘 만든 것인지 실물을 가져다 놓고 확인하거나 아니면 그 이펙트로 녹음된 음반이나 공개된 음원/영상을 통해 해야 한다. 실제로 아주 어렵다. 시간도 많이 들고. 앰프 시뮬레이터 모델에 대해서는 대부분 검증을 마쳤다. 이 정도만 되도 멀티 이펙트를 만들어 쓰는 것은 가능하다. 나머지는 추가적으로 붙여나가기만 하면 된다. 

불행히도 범용 mini SoC board platform에서 audio output은 존재하지만 audio in은 없는 경우가 많다. 그런 의미에서 퇴출직전의 스마트폰을 이용해도 좋고 (아무리 퇴물이라도 대략 2012년 이후 모델이라면 왠만한 미니보드에 들어가는 SoC들보단 성능이 좋다) USB로 연결되는 저가의 audio interface 혹은 PCM2902/2904 같은 칩을 사용할 수도 있다. 칩을 사다가 작업하는 것은 요샌 그다지 바람직하지 못하다. SOP 타입이라 땜하기도 불편하고 부품에 따라 pin out이 많은 것은 정말 골치다. 


이 프로젝트에서는 아래의 초저가 USB 오디오 인터페이스를 활용하기로 한다. 윈도우즈의 경우는 전용 드라이버를 필요로 하지만 Linux/Mac에서는 자동인식이 되고 드라이버도 필요하지 않다.

http://www.ebay.com/itm/Guitar-to-USB-Interface-Link-Cable-Adapter-MAC-PC-Recording-CD-Studio-Lapto-13HE-/272520484147?hash=item3f737c9533:g:BOcAAOSwnHZYeK~4





- Speaker + Cabinet


일체형으로 된 것을 Kustom이란 업체에서 중국 OEM으로 만들어서 배송비 포함 $90에 팔았는데, 지금은 단종 됐다. 스피커와 캐비넷의 중요성이 예전에는 많이 강조되었으나, 지금은 guitar amplifier simulator에 cabinet까지 모두 simulation하고 있기 때문에 transparent(=full range)한 것을 더욱 선호한다. 중요한 것은 이것은 하이파이 장비도 아니고 일종의 악기라 원음을 flat하게 잘 살려내야 한다거나 할 이유는 없다. 또 디지털로 신호를 처리할 수 있는 세상이라 스피커 캐비넷에서 일어나는 왜곡을 디지털 단에서 보정할 수도 있고, 스피커 드라이버를 transparent한 것으로 교체해도 된다. 어쨋거나 이것은 나중의 문제다.



- Power amplifier


예전에 class D amplifier가 소개되었을 때는 digital amplifier라느니 몰이해에서 출발한 엉뚱한 얘기들이 많았는데, 지금은 class D amplifier가 아닌 오디오 증폭기를 찾기 어려운 세상이 되었다. 쉽게 말해서 오디오용 앰프 (헤드폰 앰프들을 포함해서)를 뜯어보면 거의 100% class AB 아니면 class D라는 말이다. 예전 기기들이 하나둘씩 퇴출되면서 class D의 비중은 점점 늘어날 것이다.


Class A/B/AB/C/D에 대해서 도대체 무슨 소리야? 하는 사람은 각종 wiki page를 뒤져보시라. 친절하게 잘 설명되어있다. 어쨋든 오디오에서 활용하고 있는 전력증폭(파워앰프)은 class AB 아니면 class D이다. Class D의 장점은 TR에 매우 작은 양의 전류를 흘리지 않고 전원에서 공급되는 전력을 대부분 스피커로 전달하기 때문에 더러는 효율이 90%를 넘는다고도 얘기하는데 그 덕택에 소형 배터리로도 충분한 음량으로 증폭이 가능하다. 그 효과가 어느 정도인지는 youtube에 친절한 동영상들이 많으니 찾아보면 된다.


Class D를 사용하는 것은 위에 열거한 장점보다는 값이 매우 싸기 때문이다. 집안에서 듣기 좋은 음량으로 증폭하는데 필요한 앰프 모듈이 $1도 하지 않는다. 스테레오 각 채널당 3W 정도 나온다고 하는 (실제로는 그보다 낮다) class D amp module이 10개 단위로 $4.5 정도 된다. 물론 배송비 포함해서. 이것은 입출력 단자와 전원단자만 땜해주면 곧바로 쓸 수 있다.


대충 이렇게 생겼다. SOP 타입이라 손으로 땜해쓰기에 불편한데 만들어 쓸 의욕을 다 없에 버릴 정도로 너무 싸다. 



기타 앰프는 모노 앰프이기 때문에 두 채널 중 하나만 쓰거나 아니면 두 채널을 bridge로 묶어서 하나의 채널을 증폭하는데 쓸 수 있는데, bridge로 쓰면 채널 두개로 나가는 출력이 하나로 나가게 되므로 효율 측면에서 이 편이 유리하긴 하다.


댓글 0

MADE BY

Audvans

analog audio, audio dsp, c/c++, digital audio, dsp, guitar playing, hackintosh, mpich, Node.js, orcad, parallelism, pascal, perl, Python, raspberry pi, s905x, spice