Tab Sketcher 동작 방식
화면ㆍ소리ㆍ내보내기가 같은 기록에서 나옵니다
입력한 음표는 몇 번 줄, 몇 번 프렛이라는 두 개의 숫자로 저장됩니다. 탭 악보, 오선 악보, 재생, 내보낸 파일이 모두 그 하나의 기록에서 만들어지므로 서로 어긋날 수 없습니다. 오선에 G 가 보이면 재생되는 음도 같은 G 입니다.
중간 단계에 추측은 없습니다. 모두 기타를 들고 종이 위에서 다시 계산해 볼 수 있는 단순한 산수입니다. 이 페이지는 그중 가장 중요한 세 가지를 다룹니다. 프렛이 음이 되는 방식, 전조가 계산하는 것, 그리고 소리의 출처입니다.
프렛 번호가 실제 음이 되는 과정
줄마다 개방현 (아무것도 누르지 않고 울리는 상태) 의 음이 정해져 있고, 프렛을 하나 올릴 때마다 그 음이 반음씩 높아집니다. 반음은 서양 음악에서 가장 작은 음정 단위입니다. 따라서 어떤 음이든 개방현의 음에 프렛 번호를 더한 값이 됩니다. 프렛 0 은 개방현을 뜻합니다.
표준 튜닝에서 여섯 줄은 가는 1번 줄부터 굵은 6번 줄까지 차례로 E4 B3 G3 D3 A2 E2 로 울립니다. 줄 번호는 기타를 처음 배울 때 쓰는 방식 그대로, 1번 줄이 가장 가늘고 가장 높은 음입니다. 가상 프렛보드가 각 자리에서 알려 주는 음 이름도 같은 덧셈으로 계산한 결과이며, 미리 그려 둔 그림을 불러오는 것이 아닙니다.
튜닝 프리셋 (Drop D, 반음 다운, 온음 다운, Open G, Open D, DADGAD) 을 고르면 각 줄의 시작 음만 바뀌고, 지판의 모든 프렛은 새 시작 음을 기준으로 다시 계산됩니다. 카포 위치는 튜닝과 함께 악보에 저장되어 악보 엔진에 그대로 전달됩니다. 머릿속에만 남는 정보가 아니라 파일을 따라다닙니다.
의도적으로 단순하게 둔 부분이 하나 있습니다. 음 이름은 항상 샤프로 적습니다. 그래서 D 플랫 자리의 음은 C 샤프로 표시됩니다. 음 높이는 완전히 같지만, 교재나 선생님은 반대로 적는 경우가 있습니다.
전조를 누르면 계산되는 것
전조는 모든 음을 같은 거리만큼 옮기는 일입니다. 모두 같은 만큼 움직이기 때문에 곡의 모양이 유지되고 다른 곡이 되지 않습니다. 반음 두 개만큼 올리면 모든 음의 높이에 2 를 더합니다. 그다음 두 번째 질문이 남습니다. 그 새 음은 지판의 어디에 있는가 하는 것입니다.
도구는 무난한 선택지부터 시도합니다. 새 음이 12 프렛 안에 들어온다면 원래 쓰던 줄을 그대로 씁니다. 그게 안 되면 그 음을 가장 낮은 프렛으로 잡을 수 있는 다른 줄을 찾습니다. 한 화음의 두 음이 같은 줄에 배정되는 일은 없습니다. 한 줄은 한 번에 한 음만 낼 수 있기 때문입니다. 지판의 24 프렛 안에서 어떤 방법으로도 잡히지 않을 때만 그 박을 한 옥타브 통째로 옮깁니다. 이 경우 음 이름은 그대로이고 높이만 달라집니다.
키 선택기는 옮겨진 결과 조성을 보여 주며, 12 개 조성을 도는 길 중 늘 짧은 쪽을 택합니다. 반음 하나만 내리면 되는 자리에서 열한 개를 올리자고 제안하지 않습니다.
알아 두면 좋은 점이 둘 있습니다. 전조는 운지를 바꾸므로 편하던 코드 모양이 까다로워질 수 있고, 노래에 맞추는 목적이라면 카포 쪽이 더 편한 답인 경우가 많습니다. 그리고 옥타브 이동이 필요했던 자리는 음 자체는 맞지만 원곡과 다른 음역에 놓입니다.
코드 운지와 코드 이름
코드 라이브러리는 각 운지를 일반 음표와 똑같은 줄ㆍ프렛 쌍으로 저장합니다. 운지에 포함되지 않은 줄은 x 로 표시되어 연주하지 않는 줄임을 나타냅니다. 라이브러리의 코드를 박에 넣으면 그 쌍이 그대로 악보에 기록되므로, 화면의 다이어그램과 기보와 소리는 같은 운지 하나를 세 방식으로 읽은 결과입니다.
코드 이름이 자동으로 붙을 때는 마디 안의 음을 모아 옥타브와 무관한 음 이름으로 바꾼 뒤, 간격 패턴 목록과 대조합니다. 네 음짜리 패턴 (메이저 7th, 7th, 마이너 7th, 디미니시 7th) 을 세 음짜리보다 먼저 확인하기 때문에 7th 코드가 단순한 3화음으로 잘못 붙지 않습니다. 정확히 맞는 패턴이 없으면 아무것도 적지 않습니다. 초보자에게는 틀린 이름이 이름 없음보다 더 헷갈리기 때문입니다.
자주 쓰는 코드의 운지는 자동 테스트가 확인합니다. 저장된 운지를 실제 음 높이로 바꾼 다음, 이름 추정 단계가 원래 이름을 그대로 돌려주는지 검사합니다. 인식 대상은 익숙한 코드 계열에 한정되며, 같은 음 묶음이 둘 이상의 이름을 가질 수 있는 경우도 있으므로 어떤 이름이든 직접 고쳐 쓸 수 있습니다.
재생되는 소리의 출처
완성된 악보는 오픈 소스 악보 엔진 AlphaTab 에 전달되고, 이 엔진이 악보를 그리는 동시에 내장 신시사이저로 재생합니다. 음 높이는 앞에서 설명한 숫자에서, 박자와 속도는 템포와 박자표에서 옵니다.
악기 음색은 무료 배포되는 SONiVOX SoundFont 에서 옵니다. SoundFont 는 짧게 녹음한 악기 샘플 묶음이고, 신시사이저가 이 샘플의 음 높이와 모양을 조절해 각 음을 만듭니다. 들리는 소리는 합성된 소리이며 기타리스트의 연주 녹음이 아닙니다. 음정ㆍ리듬ㆍ화성을 확인하기에는 충분히 믿을 만하지만, 실제 기타 음색을 대신하도록 만든 것은 아닙니다.
일부 주법은 본래 근사 표현입니다. 벤딩은 손가락이 그리는 실제 곡선 대신 정해진 한 가지 형태로 기보되고, 풀오프는 해머온과 같은 기호로 표시됩니다. 기보 형식이 두 방향을 하나의 표기로 다루기 때문입니다. 재생은 연주 녹음이 아니라 음표를 확인하는 교정 수단으로 쓰는 편이 맞습니다.
박, 마디, 음표 길이
한 마디는 박의 나열이고, 한 박은 함께 울리는 음들과 길이 하나를 담습니다. 길이는 온음표부터 32분음표까지입니다. 박자는 프리셋 (4/4, 3/4, 6/8, 2/4, 12/8) 으로 고르고, 박자가 바뀌는 마디에 그 변화가 기록되어 이후 마디가 새 박자를 따릅니다. 템포는 분당 박 수로 저장되어 재생에 그대로 쓰입니다.
점음표와 셋잇단음표는 아직 이 모델에 없습니다. 길이는 온음표, 2분, 4분, 8분, 16분, 32분 중 하나로 맞춰지며, 점이나 셋잇단이 들어간 파일을 가져오면 그 길이는 가장 가까운 값으로 반올림됩니다.
가져오기에서 남는 것과 사라지는 것
Guitar Pro 파일은 같은 음악을 오선과 탭 두 벌로 담고 있는 경우가 많고, 프렛 번호와 튜닝을 가진 쪽은 탭뿐입니다. 가져오기는 파일 안을 살펴 둘 다 갖춘 쪽을 고릅니다. 가져온 악보가 빈 마디가 아니라 바로 연주 가능한 프렛 번호로 들어오는 이유입니다.
가져오기는 파일의 첫 트랙과 첫 보이스를 사용합니다. 파일에 트랙이 여럿이거나 보표가 여럿이면 어느 쪽을 썼는지 그 자리에서 알려 주므로, 나중에야 알게 되는 일이 없습니다. 변환이 연주 가능한 결과를 만들지 못하면 빈 페이지로 바꾸는 대신 원본 악보를 보기 전용으로 화면에 유지합니다. 파일을 여는 것만으로 내용이 조용히 지워지지 않습니다.
자료 출처와 라이선스, 도구에 함께 담긴 샘플 곡은 소개 페이지 에 정리되어 있습니다.