[Python] OS X 요세미티, pygame을 이용한 모스부호 사운드 출력 Develop Tip

8년 전 쯤 한 친구가 HAM을 해 보자고 하여,
3급 아마추어무선기사 자격시험을 봐서 합격하고 기지국을 받은 적이 있습니다.
이것은 일반 장난감으로도 사용하는 시티즌 밴드 이외에 허락된 범위의 주파수 대역으로
전파를 송신하거나 수신할 수 있는 권한을 의미하기도 합니다.

암튼 그 다음 시험으로 CW 모스부호 실기 시험이 있는데 아직 보지 않았습니다.
그런데 아직까지 모스 누르는 호출기를 가지고만 있지 시험을 보지는 않았습니다.

최근에 파이썬으로 모스부호 스피커 출력을 해 보면 어떨까 생각해 보았습니다.
리눅스에서 해 볼 수도 있지만 OS X 요세미티에서 해 보려고 살펴보았는데
딱 맞는 것을 찾지 못하다가 찾은 사이트가 있었습니다.


스피커로 모스 부호를 출력하는 핵심은,
각각의 A~Z, 0~9 등에 해당되는 똔(.), 쓰(-)를 ogg로 만들어 그것을 각각 플레이하는 식으로 되어 있습니다.
즉, ogg 파일을 출력하는 것인데 이를 pygame 이라는 패키지를 이용합니다.

문제는 OS X Yosemite 에서 pygame을 설치하는 것이었습니다.

시행착오를 겪다가,
brew가 설치되어 있다고 가정하고 다음과 같이 쉽게 할 수 있었습니다.

$ brew install sdl sdl_image sdl_mixer sdl_ttf portmidi mercurial

$ sudo pip install hg+http://bitbucket.org/pygame/pygame

$ brew uninstall libvorbis libogg # if you have them installed

$ brew reinstall sdl_mixer --with-libvorbis


이렇게 하여 pygame 설치를 할 수 있었습니다.
위에는 OS 디폴트 python으로 설정한 경우이고, brew로 설치한 python인 경우에는

$ brew install python

$ brew install sdl sdl_image sdl_mixer sdl_ttf portmidi mercurial

/usr/local/share/python/pip install hg+http://bitbucket.org/pygame/pygame

$ brew uninstall libvorbis libogg # if you have them installed

$ brew reinstall sdl_mixer --with-libvorbis


와 같이 설치하면 됩니다.

위의 블로그 내용에 들어가면 morse 부호 zip 압축 파일이 있는데,

이것을 풀어 샘플 파이썬 파일 위치의
morse_sound_files 폴더에 ogg 파일이 위치하도록 합니다.

0_number_morse_code.ogg 라고 숫자로 시작하는 것을
0_morse_code.ogg 라고 rename을 시켜 주어야 했습니다.

다음은 테스트 된 결과의 소스입니다.


어느 분께는 도움이 되셨기를...



덧글

댓글 입력 영역

구글애드텍스트