https://www.alphatab.net/learn/
Learn – alphaTab
What is alphaTab? Thanks for your interest in alphaTab. alphaTab is a music notation and guitar tablature rendering engine written in C# and cross compiled to other languages like JavaScript. First of all you need to understand that alphaTab is not a music
www.alphatab.net
이 글은 내가 '기타 반주기 웹 어플리케이션'(www.fortebguitar.com)을 개발했을 때 사용했던 alphaTab 라이브러리에 대한 설명글을 alphaTab 공식사이트(https://www.alphatab.net/learn/)에서 찾아 번역한 글이다. 나는 영어를 읽을 순 있으나 정확한 의미를 번역하는 데는 능숙하지 않다. 이것은 어디까지나 alphaTab에 대해 좀 더 자세히 알기 위해 번역해 둔 글을 블로그에 저장하기 위함이다.
alphaTab이란 무엇인가?
alphaTab은 음악 기호와 기타 타브 악보 랜더링 엔진으로 C#으로 작성되었으며 자바스크립트 같은 다른 언어들로 크로스 컴파일될 수 있다. alphaTab은 Audacity or Finale같은 악보 제작 소프트웨어가 아니다. 이건 음악 기호 랜더링 엔진을 웹사이트에 적용하고 싶은 개발자나 웹마스터를 위한 라이브러리다. alphaTab은 Guitar Pro와 같은 놀라운 소프트웨어와 닮았다. 기타 프로는 사용자들이 악보를 쓰고 볼수 있도록 하는 음악 소프트웨어 프로그램이다. alphaTab의 핵심은 기타나 바이올린 같이 현악기가 기반이나 드럼, 피아노 같은 다른 악기도 잘 맞는다. 그러나 alphaTab의 기술적인 핵심은 현악기를 기반으로 한다는 것을 명심해라. 다른 악보 소프트웨어는 악보를 랜더링하기 위해 다음과 같은 실제 음표와 같은 정보를 사용한다.
alphaTab은 다르다. 그 이름에서 알수 있듯이, 표기법을 알기 위해 태블리쳐 표기법(tablature notation)을 사용한다. Tablature notation이란? 해당 노래를 연주하기 위해 몇번 줄의 몇번 프렛을 눌러야 하는지를 기리키는 표기법이다. 만약 당신이 6현 기타를 가지고 있다면 6개의 줄에 숫자가 적혀 있을 것이다. 각 숫자는 해당 음을 재생할 때 몇번 프렛을 눌러야하는지를 나타낸다. 기타에서 C장도 scale은 다음과 같다.
alphaTab은 뒤에서 5번째 줄의 3번째 프렛이 재생된다는 걸 알고있다. 이 정보를 바탕으로 표준 음악 표기법(악보)과 태블리쳐 표기법을 표시할 수 있다.
왜 alphaTab인가?
alphaTab은 리드 개발자인 Daniel Kuschny의 취미 프로젝트로 시작되었다. 그는 기타리스트인 동시에 소프트웨어 개발자인데 alphaTab은 이 두 취미의 조합이다. 많은 웹사이트들이 Ultimate-Guitar처럼 /악보/와 기타 타브 악보를 무료로 제공하고 있다. 그러나 대부분 타브는 여전히 구식 텍스트 타브거나 기타 프로파일을 다운로드 해야한다. 그리고 이 경우에는 그저 해당 파일을 열어보기 위해 기타 프로를 구입해야 한다. alphaTab의 주요 아이디어는 음악표기법의 모든 특징을 웹으로 가져오는 것이었다. HTML5나 SVG같은 모던 웹의 기술을 이용해서 우리는 자바나 플래시 같은 플러그인 없이도 복잡한 그래픽을 랜더링 할 수 있다.
오늘날 alphaTab은 그저 웹을 위한 음악 표기(악보) 엔진이 아니다. 우리는 Javascript, Java, .net 등 다른 많은 플랫폼을 위한 라이브러리를 컴파일 하기 위해 같은 소스코드를 사용한다.
특징
alphaTab이 뭔지 알았으니 이제 이 라이브러리가 뭘 할 수 있는지 알아보자.
Load
노래의 악보를 저장할 수 있는 몇가지 정립된 파일 형식이 있다. 여러분은 실제 노래 대신 악기로 연주한 것을 담은 MP3라고 생각하면 된다. alphaTab은 그 파일들을 읽을 수 있고, 악보를 랜더링 하기 위해 그 데이터를 사용할 수 있다. alphaTab에서 지원하는 파일 형식 목록은 다음과 같다.
- 기타 프로 3-5 (gp3, gp4, gp5) - 이 파일들은 인터넷에서 널리 사용되고 있다. 이들은 이전 버전의 기타 프로를 사용해 생성된다.
- 기타 프로 6 (gpx) - 기타 프로의 창조자인 Arobas가 만든 최신 파일 형식이다.
- AlphaTex - AlphaTex는 악보를 쓰기 위한 텍트트 기반 파일 형식이다. 이것은 사람들이 쉽게 악보를 작성하고 저장할 수 있도록 alphaTab을 위해 만들어졌다.
Render
기타 프로 파일은 많은 양의 효과와 주석을 악보에 담을 수 있다. alphaTan이 랜더링 할 수 있는 기능들:
- 표준 악보 : 대부분의 사람들이 들어본 표준악보. 여기는 음자리표, 박자, 조표 등 여러분이 악보에서 떠올릴 수 있는 모든 것이 들어간다.
- 타브 악보 : 태블리쳐 표기법은 현악기에 널리 사용된다. 또한 string bending이나 whammy bars 같이 현악기들로만 표현 가능한 효과도 포함한다.
- 마커 : 마커를 바 위에 놓아 곡의 다른 부분을 나타낼 수 있다.
- 템포 : 템포 변경은 문제가 되지 않는다. 바 위에 보여진다.
- 텍스트 : 기타 프로는 비트 위에 사용자 정의 텍스트를 특별한 주석으로 놓을 수 있다.
- 코드 : 특정 비트에서 재생되는 코드를 표시할 수 있다.
- 떤꾸밈음 : 예상대로 주석을 달았다.
- 비브라토 : 파동(아마 물결표시)은 비브라토 효과로 연주해야 하는 비트 위에 렌더링된다.
- Alternate Endings : Alternate Endings는 많은 노래의 일부분이다.
- Crescendo, Decrescendo, Fades 그리고 Dynamics : Dynamics 렌더링은 alphaTab에서 문제 없다.
- Let-Ring 과 Palm-Mute : Palm Mute와 Let Ring 범위도 표시된다.
Play
alphaTab의 가장 흥미로운 특징 중 하나는 alphaTab이 악보를 재생할 수 있다는 것이다. 기본 음은 MIDI 파일로 내보낼 수 있다. 우리의 MIDI 신시사이저인 alphaSynth를 사용해서 이 MIDI 데이터를 load해서 재생할 수 있다.
'잡담' 카테고리의 다른 글
앗싸^^ (0) | 2020.04.30 |
---|---|
[기사 스크랩] 코로나19에 취업시장 '꽁꽁'…30대 주요기업 공채일정 공고 '전무' (0) | 2020.02.26 |
네이버 AI 버닝데이 해커톤 본선 진출!! (0) | 2020.02.05 |
블로그 개설 목적 (0) | 2019.09.16 |