제가 다이나톤dck-49피아노 모델로
미디녹음하는데, 건반 터치에서
벨로시티 쫌 강하게 할때 스피커에서
잡음이 나왓습니다..
여기저기 다 손댓는데
해결방법이 처음에는
오디오인터페이스를 asio4all v2로 바꾸는것이엿습니다.
근데 이건불편해서..
기존 쓰던 오디오인터페이스로 바꾸고
buffer length을
256에서 512로 하니까....
헐.. 해결되고 잡음 지직소리가 안나네요.. 엥..
이게 뭐 해결되어서기분은 좋은데 .. 무슨원리,이론때문에
잡음이 안나는거죠... .ㅠㅠ i respect
DAW내에서의 모든 작업들은 결국 데이터의 전송 관계라는것을 인지하자.
이하 설명을 위해 반말조로 쓴것은 양해바람.
오디오 인터페이스의 경우 버퍼의 사이즈가 작을수록 레이턴시는 낮아진다(레이턴시=지연시간 ex: 마스터키보드로 c3음을 타건했을 순간 소리가 곧바로 날라오느냐 하는 문제). 이것은 모아서 전송하는 양이 적고 대신 자주 전송하는것이다. 예를들어 1000개의 바이트(1KByte)가 1초동안의 분량(1KB/S)인 데이터 포맷이 있다면, 전송한다고 할때 논리적으로는 버퍼가 500Byte면 0.5초동안 500개의 데이터를 모아두고 1초에 두번 전송하게 된다. 모아두는 시간,
즉 레이턴시(지연시간)는 0.5초가 된다. 반면 버퍼가 100Byte면 0.1초 간격으로 10번동안 모아서 보내게 된다. 즉 지연시간이 0.1초란 얘기다.
이러한 버퍼는 오디오 인터페이스 하드웨어 설계상에 들어가는것으로 그래서 성능이 좋은 오디오 인터페이스는 버퍼량을 작게(그만큼 자주 데이터를 전송할 수 있어도 무리가 없게, 그래서 레이턴시가 작게) 설정 할 수 있게 되어 있다. 일반 오디오 카드들은 그렇게 빠른 시간에 데이터를 전송할 수 있게 설계되어 있지 않으므로 높은 레이턴시 값을 갖는 경우가 많다.
레이턴시는 오디오 인터페이스의 성능, 즉 하드웨어의 성능이다. 좋은 오디오 인터페이스일수록 낮은 레이턴시가 가능하다는것을 광고에도 내세운다.
그러면 레이턴시는 하드웨어의 성능이니까 무조건 제일 낮추고 쓰는것이 지연이 거의 없어 좋은것 아닌가? 근데 왜 레이턴시를 최고로 적은값으로 낮춰놓고 작업하는데 DAW상에서 음이 끊기거나 하는것인가? 하는 의문이 생길수 있다.
DAW의 경우 각종 플러그인등을 사용할 경우 일반적으로 그 플러그인의 연산을 CPU가 담당한다(ProTools HD의 TDM플러그인들이나 Powercore등의 DSP플러그인등은 제외). 여기서 CPU가 연산을 하는 과정에서 연산이 복잡하여 버퍼링 시간내에 그만큼의 데이터를 연산해내지 못할 경우 문제가 생긴다.
예를 들어 128바이트/2ms레이턴시의 세팅이 있다고 하자. 이런 경우 CPU가 2ms내에 128바이트 분량의 결과물을 연산해내어야 하는데 복잡한 플러그인들이 걸려 있어 순간적으로 많은 CPU계산을 요구하여서 결국 2ms안에 64바이트밖에 데이터를 연산해내지 못하게 되면 누락된 데이터등으로 인해 잡음이나 무음, 또는 버벅임등으로 나타나게 된다.
또한 CPU가 아닌경우라도 디스크 스트리밍에서 발생하는 하드디스크간의 병목현상등도 이러한 문제를 발생시킬수 있다.
이런 경우 레이턴시를 높이면(오디오 카드의 버퍼 사이즈를 높이면) 그러한 문제들이 해결되는 경우가 있다. 물론 그래도 너무 과도한 CPU를 사용하거나 CPU성능이 낮으면 레이턴시를 높여도 CPU가 감당하지 못해서 해결이 안되지만 그렇지 않은 경우는 적당한 레이턴시 값을 맞춰주면 문제가 없다.
즉 버퍼 length를 높여주면 오디오카드가 그만큼 많은 양의 데이터를 보관했다가(즉,cpu와 자주 연산을 주고 받지않고) cpu에 보내주니 cpu에 부담을 덜주어 음의 끊김은 없을것 (즉, wav 믹싱시에 유리) 하지만 위에서 설명했듯이 버퍼 length를 눂게 잡아 놓으면 그만큼 오디오카드가 데이터를 보관 하고 있는 시간 떄문에 지연이 되어 vsti등의 실시간 연주엔 불리. 버퍼사이즈를 작업용도에 알맞게 조절해가며 쓰면 좋을것이다.