갑작스런 개발 기회를 얻었습니다.
제가 사용하는 프로그래밍 언어는 무료이고 쉬운 Python 입니다. 파이썬으로 성경 프로그램을 만들어 보았고 그 편리함을 알기 때문에 어떻게든 미디 파일을 다루는 것을 해보려고 시도했는데 자꾸 라이브러리 설치부터 복잡해서 실패했습니다.
그런데 얼마전에 다시 시도해보았습니다. 다시 꼼꼼하게 설명을 읽어보았는데 이번에는 잘 설치가 되어서 간단한 명령으로 프로그램을 만들어 보니 컴퓨터에서 소리가 나는 것입니다. 그 때부터 개발이 진행되었습니다. 처음에는 찬송가 미디파일을 NWCtext로 만들어서 읽어와서 반주하면 될 것이라고 생각하여 NWCtext 파일의 데이타로 간단한 찬송을 반주해보았습니다. 찬송이 연주되는 것을 보니 감격스럽더군요.
미다파일에 대해 잘 몰라도 NWCtext만 이용하면 찬송반주 프로그램이 곧 될 것 같았습니다. 그런데 리듬이 복잡하고 음표가 복잡한 곡은 도저히 분석하고 연주할 수가 없습니다. 프로그램 개발이 불가능해 보였습니다. 결국 미디파일 구조를 알지 못하면 안 되겠더군요. 인터넷을 뒤져가며 연구했습니다. 다른 라이브러리를 사용해서 결국 미디 파일 구조를 이해하였습니다.
알고 보니 미디파일 구조와 명령어만 알면 컴퓨터로 하여금 소리를 내게 하는 것은 생각보다 간단했습니다. 알고 보니~ 입니다. (^^)
미디 파일 구조를 알고 미디파일을 이용하여 반주한다는 것은 속도와 음높이, 악기 변화등 다양한 조절을 마음대로 한다는 것을 의미합니다. 조절하는 명령어만 잘 갖추어주면 프로그램이 완성되는 것입니다.
성경프로그램을 개발했던 아이디어를 이용했습니다. 저는 윈도우 프로그램 만들 줄 모릅니다. 이제 나이가 젊지도 않아서 프로그램 툴이 만든 소스에서 복잡한 변수와 이름들을 보면 어지럽고 질립니다. Kmidiplayer 초기버전 소스를 보았는데 적응이 안 됩니다. 그러니 아무리 소스를 들여다 보아도 어디서 어떻게 해야할지 알 수 없었습니다.
그냥 처음부터 내가 이해하는 것부터 시작해서 점점 발전시켜 가는 것이 더 좋습니다.
그래서 제가 개발했던 환경인 Dos 모드(명령어 프람프트 모드) 에서 동작하는프로그램 만들기로 했습니다. 프로그램을 만들면서 나도 모르게 빠져들었습니다. 이렇게까지 급속히 진행되리라고는 생각지 못했습니다. 설교 준비하느라 시간도 별로 없는데 하나님께서 은혜를 주셔서 빠른 시간내에 집중하게 하셨습니다.