우분투에서 EBS 라디오 예약 녹음하기

우분투 리눅스를 활용하여 EBS 라디오를 예약 녹음하는 방법을 소개합니다.
우선 다음과 같이 필요한 패키지를 설치합니다.
$ sudo apt-get install mimms
$ sudo apt-get install mplayer
$ sudo apt-get install lame 
EBS 라디오를 녹음하기 위한 스크립트를 생성합니다. 
다음 내용을 recEbsRadio.sh로 저장해 주세요.
#!/bin/bash
RADIO_ADDR=”mms://211.218.209.124/L-FM_300k”
RADIO_NAME=”ebs_radio”

PROGRAM_NAME=$1
RECORD_MINS=$2
DEST_DIR=$3

REC_DATE=`date +%m%d`
TEMP_ASX=`mktemp -u`
TEMP_WAV=`mktemp -u`
MP3_FILE_NAME=$PROGRAM_NAME”_”$REC_DATE.mp3

ID3_TITLE=$REC_DATE”_”$PROGRAM_NAME
ID3_ARTIST=$RADIO_NAME
ID3_ALBUM=$PROGRAM_NAME
ID3_YEAR=`date +%Y`

mimms -t $RECORD_MINS $RADIO_ADDR $TEMP_ASX
mplayer -ao pcm:file=$TEMP_WAV $TEMP_ASX
lame –preset voice –tt $ID3_TITLE –ta $ID3_ARTIST –tl $ID3_ALBUM –ty $ID3_YEAR $TEMP_WAV $MP3_FILE_NAME

rm $TEMP_WAV
rm $TEMP_ASX

mkdir -p $DEST_DIR
mv $MP3_FILE_NAME $DEST_DIR
다음과 같이 recEbsRadio.sh 파일에 실행 권한을 부여합니다. 
$ chmod a+x recEbsRadio.sh
첫번째 인자는 프로그램 이름 
두번째 인자는 녹음 시간(분)
세번째 인자는 mp3 파일 저장 디렉토리
사용 예제는 다음과 같습니다. 
$ ~/recEbsRadio.sh EarEng 30 ~/ebs 
지금부터 30분 동안 EBS 라디오를 녹음하여 ~/ebs/EarEng_0201.mp3로 저장하겠다는 의미입니다.
cron을 활용하여 월요일~토요일 오전 6시부터 30분 동안 귀트영을 녹음하는 설정을 해보겠습니다. 
cron에 스크립트 실행을 등록하기 위해 다음 명령어를 실행해 주세요.

$ crontab -e

에디터가 실행되면 다음 한 줄을 추가 후, 저장하고 나오시면 됩니다. 
00 06 * * 1-6 ~/recEbsRadio.sh EarEng 30 ~/ebs &> /dev/null
이는 월요일~토요일(1-6) 매일 오전 6시(06) 00분(00)에 recEbsRadio.sh를 실행하겠다는 의미입니다. 
귀트영, 운트영, 입트영을 모두 녹음하시려면 다음 3줄을 추가해 주세요. 
00 06 * * 1-6 ~/recEbsRadio.sh EarEng 30 ~/ebs &> /dev/null 2>&1
30 06 * * 1-6 ~/recEbsRadio.sh LuckEng 20 ~/ebs &> /dev/null 2>&1
00 07 * * 1-6 ~/recEbsRadio.sh MouthEng 20 ~/ebs &> /dev/null 2>&1
다음 명령을 통해 cron에 제대로 등록되었는지 확인할 수 있습니다. 
$ crontab -l

이 글은 다음 URL을 참조 및 보완하여 작성되었습니다. 

묘비를 새기다!

Android의 debuggerd의 코드를 읽던 중 재밌는 이름의 함수를 발견했습니다!

Android에서 동작하고 있는 application이 특정 시그널을 발생시키며 죽게 되면, debuggerd가 이를 받아서 처리하게 됩니다. 
여기서 각종 디버깅용 정보를 남기기 위해 호출하는 함수의 이름은 바로 
engrave_tombstone() 
입니다. 개발자의 재치가 느껴지네요.

안드로이드폰 개발하기

안드로이드폰 개발 프로젝트에서 일하기 시작한지 어느덧 3달이 다 되어갑니다. 순수 소프트웨어를 개발하다 스마트폰개발 분야에 뛰어드니 처음에는 어리둥절하고 용어도 익숙치 않았습니다. 대기업의 프로세스도 적응이 잘 되지 않았구요. 

지금은 어느정도 적응이 되어서 조금씩 성과도 내면서 즐겁게 일하고 있습니다. 직접 개발하면서 점점 좋아지는 제품의 상태를 보면, 안드로이드폰을 구매해서 사용해 보고 싶은 욕구가 발동합니다. 새로운 소스코드를 저장소에서 내려받아 다운로드를 하고 부팅해서 확인하는 순간은 늘 설레입니다. 어떤 부분이 더 좋아졌을까 하면서…
안드로이드 시스템은 크게 3파트로 나눌 수 있습니다. 
커널(디바이스 드라이버)
플랫폼
애플리케이션
저는 플랫폼 파트에서 일하고 있습니다. 다양한 언어(C, C++, Java)로 구성되어 있어 다소 복잡하긴 하지만, 안드로이드 시스템의 전체적인 구조와 특성을 파악할 수 있고, Java로 구성된 영역은 애플리케이션 개발에 사용하는 API를 그대로 사용하기 때문에 자연스럽게 애플리케이션 개발 기술도 익힐 수 있습니다. 
고생스럽더라도 프로젝트가 꼭 성공해서 양산 되었으면 하는 바램을 가져봅니다.

컴퓨터 조립

아주 오랜만에 새 컴퓨터를 조립했습니다. 지금까지 조립한 컴퓨터는 대체로 가성비 위주의 저렴한 구성이었죠. 듀론, 애슬론XP 1800+ CPU를 사용했습니다. 인텔 제품을 사용하여 조립하는 것은 이번이 처음!

AMD 애슬론II-X4 620 프로부스에서부터 고민을 시작해서 결국은 Intel Core i5 750 린필드를 선택하게 되었습니다. ‘기왕이면 좋은거로’ 병이 도져, 메인보드도 파워도 그럭저럭 괜찮은 제품으로 골랐습니다. 

직접 조립할까 말까 고민했었는데, 손수 정성스럽게 조립한 시스템이 안정적으로 잘 돌아가니 보람이 느껴집니다. 1년 넘게 이어온 노트북 생활을 청산하고 빵빵한 사양의 데스크탑에 23인치 Full HD 모니터를 사용하니 가슴이 뻥 트이는 느낌이네요. 
회사에서 안드로이드폰 개발 일을 하다보니, 자연스럽게(?) 안드로이드 애플리케이션 개발에 대한 지식도 쌓게 되었습니다. 노트북에서는 에뮬레이터 한번 띄우는게 일이었는데, 이제 쾌적한 환경에서 애플리케이션 개발을 해볼 수 있겠네요!

컴퓨터로 EBS 라디오 녹음하기

컴퓨터로 EBS 라디오 듣기에 대한 포스팅에 이어, mp3로 녹음하는 방법을 소개해 드리고자 합니다. 거원제트오디오와 같은 별도의 어플리케이션을 설치해야 될 줄 알았는데, 다음 팟 플레이어로 간단히 되더군요. 

다음 팟 플레이어의 소리 설정 > 소리 캡처(Shift + G) 기능을 활용하면 됩니다. 현재 플레이 되고 있는 소리를 mp3, ogg 등의 포맷으로 녹음해주는 기능입니다. 

mp3로 녹음한 경우, 보시는 것 처럼 1분당 대략 1MB 근처의 용량을 사용하게 됩니다. 귀트영 하루분량 30분을 녹음하면 대략 30MB 정도 되겠네요.