TiMidity++
1. 개요
TiMidity++는 다양한 파일과 장치를 읽어 MIDI 파일을 재생하는 소프트웨어이다. 주로 .mid 파일을 지원하며, .kar 파일, 리컴포저 파일, 모듈 파일도 읽을 수 있다. MIDI 튜닝 표준을 지원하며, 사운드폰트를 사용하여 MIDI 사운드를 렌더링하여 출력할 수 있다. 파일은 표준 입력, 일반 파일, 압축 파일, 네트워크를 통해 가져올 수 있으며, MS-DOS용 MIDI 플레이어 MIMPI 호환 외부 가사 파일(.wrd)을 읽어 가라오케 기능을 제공한다. 텍스트, ncurses, X11, Emacs 등 다양한 인터페이스를 지원하며, 1995년 Tuukka Toivonen에 의해 처음 개발되었고, 이후 Masanao Izumo와 다른 기여자들이 TiMidity++로 이름을 변경하여 개발을 이어갔다.
| 종류 | 소프트웨어 신시사이저 |
|---|---|
| 개발자 | 이즈모 마사나오 외 |
| 최신 버전 | 2.14.0 |
| 최신 버전 발표일 | 2012년 6월 29일 |
| 프로그래밍 언어 | C |
| 운영 체제 | 크로스 플랫폼 |
| 라이선스 | GNU 일반 공중 사용 허가서 |
| 웹사이트 | TiMidity++ SourceForge |
-
소프트웨어 신시사이저 -
맥스 (소프트웨어)
맥스는 시각적 프로그래밍 기반의 실시간 음향 및 영상 처리 소프트웨어로, MSP와 Jitter 모듈 추가를 통해 기능이 확장되었으며, 음악 제작, 사운드 디자인, 인터랙티브 아트 등 다양한 분야에서 활용되고 Ableton Live와의 통합으로 활용 범위가 넓어졌다. -
소프트웨어 신시사이저 -
버추얼 스튜디오 테크놀로지
버추얼 스튜디오 테크놀로지(VST)는 스타인버그가 개발한 오디오 플러그인 표준으로, VST 호스트 프로그램에서 오디오 플러그인(VST 인스트루먼트, VST 이펙트, VST MIDI 이펙트)을 사용하여 소프트웨어 신시사이저, 음향 효과, MIDI 메시지 제어 등의 기능을 제공하며, 큐베이스, 로직 프로, FL 스튜디오 같은 DAW 소프트웨어에서 활용되고, C++ 언어로 개발된다. -
자유 소프트웨어 -
김프
김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다. -
자유 소프트웨어 -
PHP
PHP는 라스무스 러도프가 개발한 범용 스크립팅 언어로, 웹 개발에 널리 사용되며 LAMP 아키텍처의 핵심 요소이다. -
C로 작성된 자유 소프트웨어 -
PostgreSQL
PostgreSQL은 캘리포니아 대학교 버클리 분교의 Ingres 프로젝트에서 시작되어 전 세계 개발자들의 협력을 통해 발전해온 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다. -
C로 작성된 자유 소프트웨어 -
김프
김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다.
2. 기능
TiMidity++는 다양한 종류의 파일과 장치로부터 음악 데이터를 읽어들일 수 있다. 주로 사용되는 MIDI 파일(`.mid`)뿐만 아니라 가사가 포함된 .kar 파일, 리컴포저 파일, 모듈 파일 등 여러 형식을 지원한다. 특히 MIDI 튜닝 표준을 이용하여 `.mid` 파일을 읽을 수 있는 몇 안 되는 프로그램 중 하나이며, 사운드폰트를 지원하여 사용자가 원하는 음색으로 MIDI 사운드를 렌더링하고 사운드 카드로 출력할 수 있다. 파일은 로컬 저장소의 일반 파일이나 압축 파일 형태뿐만 아니라, 표준 입력, 또는 네트워크(HTTP, FTP, NNTP)를 통해서도 불러올 수 있다.
이 프로그램은 단순한 텍스트 인터페이스부터 ncurses, X11 기반의 다양한 그래픽 인터페이스(모티프, Xaw, GTK+, Tk)까지 여러 사용자 환경을 제공한다. 또한, Emacs 환경에서는 실시간으로 재생되는 악보를 볼 수 있는 인터페이스도 지원한다.
TiMidity++는 미분음 음악에 대한 지원도 일부 포함하고 있다.
2.1. 지원 파일 형식
TiMidity++는 다양한 종류의 음악 파일을 읽을 수 있다. 가장 기본적인 MIDI 파일(.mid)뿐만 아니라, 가사 정보가 포함된 .kar 파일도 지원한다. 또한, 레콘포자 파일과 모듈 파일(예: Amiga MOD 파일)도 읽을 수 있다. MS-DOS용 MIDI 플레이어인 MIMPI와 호환되는 외부 가사 파일(.wrd)을 읽어 간단한 가라오케 기능을 사용할 수도 있다.
특히 MIDI 튜닝 표준을 이용하여 .mid 파일을 읽을 수 있는 몇 안 되는 프로그램 중 하나이다. 사운드폰트를 지원하여, 사용자가 가진 사운드폰트를 이용해 MIDI 사운드를 원하는 소리로 바꾸어 재생하고 사운드카드로 출력을 보낼 수 있다.
파일은 컴퓨터에 저장된 일반 파일이나 압축 파일 형태뿐만 아니라, 표준 입력을 통해서도 읽을 수 있다. 인터넷을 통해 HTTP, FTP, NNTP 프로토콜을 이용하여 파일을 직접 불러와 재생하는 것도 가능하다.
TiMidity++는 미분음음악에 대한 지원도 일부 포함하고 있다.
2.2. 파일 로딩 방식
TiMidity++는 다양한 종류의 파일과 장치로부터 데이터를 읽어들일 수 있다. 가장 일반적으로 사용되는 MIDI 파일 형식인 `.mid` 파일을 기본적으로 지원하며, 가사 정보가 포함된 .kar 파일도 읽을 수 있다. 또한, 리컴포저(Recomposer) 파일이나 Amiga의 MOD 파일과 같은 모듈 파일 형식도 지원한다. 특히, MIDI 튜닝 표준을 이용하여 `.mid` 파일을 읽을 수 있는 몇 안 되는 프로그램 중 하나이다.
MS-DOS용 MIDI 플레이어인 MIMPI와 호환되는 외부 가사 파일(`.wrd`)을 읽어들여 간단한 가라오케 기능을 구현할 수도 있다.
파일을 불러오는 방식도 다양하다. 사용자가 직접 파일 경로를 지정하는 것은 물론, 표준 입력 스트림을 통해 데이터를 받을 수도 있다. 압축된 상태의 파일도 별도의 압축 해제 과정 없이 바로 읽을 수 있으며, HTTP, FTP, NNTP와 같은 네트워크 프로토콜을 통해 원격지에 있는 파일을 직접 불러와 재생하는 기능도 제공한다.
더불어, 사운드폰트 파일을 지원하여 사용자가 원하는 음색으로 MIDI 데이터를 합성하고 렌더링하여 사운드 카드로 출력할 수 있다.
2.3. 사용자 인터페이스
TiMidity++는 다양한 사용자 인터페이스를 지원한다. 단순한 텍스트 기반 인터페이스뿐만 아니라 ncurses 인터페이스도 제공된다. 또한 X11 환경을 위한 다양한 그래픽 사용자 인터페이스(모티프, Xaw, GTK+, Tk)도 이용할 수 있다. 특히 Emacs 인터페이스는 재생되는 음표를 실시간으로 보여주는 기능을 갖추고 있으며, GTK+와 같은 GUI 툴킷을 이용한 인터페이스에서도 재생 중인 음표를 실시간으로 확인할 수 있다.
2.4. 추가 기능
TiMidity++는 다양한 파일 형식과 장치를 읽을 수 있다. 주로 일반적인 .mid 파일뿐만 아니라 가사가라오케가 포함된 .kar 파일, 리컴포저 파일 및 모듈 파일도 읽을 수 있다. MIDI 튜닝 표준을 사용하여 .mid 파일을 읽을 수 있는 몇 안 되는 프로그램 중 하나이며, 사운드폰트를 지원하여 합성된 MIDI 사운드를 녹음된 사운드폰트와 동일하게 렌더링하고 사운드카드로 출력을 보낼 수 있다. 파일은 표준 입력, 일반 파일, 압축 파일 또는 네트워크(HTTP, FTP 또는 NNTP)에서 가져올 수 있다.
이 프로그램은 텍스트, ncurses, X11 (Motif, Xaw, GTK+ 및 Tk) 등 다양한 인터페이스를 가지고 있으며, 연주되는 음표를 실시간으로 표시하는 Emacs 인터페이스도 지원한다.
TiMidity++는 미분음 음악을 일부 지원한다.
3. 역사
TiMidity++는 MIDI 파일 외에도 가사 정보가 포함된 .kar 파일, 레콘포자 파일, Amiga MOD 파일 등 다양한 형식을 지원하도록 발전했다. 또한, MS-DOS용 MIDI 플레이어 MIMPI와 호환되는 외부 가사 파일(.wrd)을 읽어 간단한 가라오케 기능을 제공한다. 파일은 직접 지정하거나 로컬 파일(압축 상태 포함), 또는 HTTP나 FTP를 통해 읽어 들일 수 있다.
이 프로그램은 다양한 인터페이스를 제공하며, GTK+와 같은 GUI 툴킷을 사용하여 각 음표가 재생되는 것을 실시간으로 시각화하는 기능도 갖추고 있다.
3.1. 개발 배경
TiMidity의 초기 버전은 1995년 Tuukka Toivonen에 의해 작성되었다. 그가 프로그램 업데이트를 중단하자, Masanao Izumo와 다른 기여자들이 이 프로그램 작업을 이어받아 TiMidity++로 이름을 변경했다.
3.2. 개발 중단 및 재개
TiMidity의 초기 버전은 1995년 투카 토이보넨(Tuukka Toivonenfin)에 의해 개발되었다. 그가 프로그램 업데이트를 중단한 후, 이즈모 마사나오(出雲 正尚일본어)를 비롯한 다른 기여자들에 의해 개발이 재개되었으며, 프로그램 이름은 TiMidity++로 변경되었다.