상세 컨텐츠

본문 제목

라즈베리파이 CD 플레이어 만들기 (2편): 낭만적인 음악, 왜 자꾸 끊기니? (재생 끊김 문제 완벽 해결)

IT & 모바일

by 무상인생 작성일: 2025. 10. 18. 10:33

본문

반응형

 

🎧 프롤로그: 하드웨어의 벽을 넘었더니 소프트웨어가 기다리네

지난 1편에서는 ‘헝그리파이’ 정신으로 10년 묵은 골동품 USB 허브를 살려내 CD-ROM 전력 문제를 해결했습니다. 드디어 CD-ROM이 제대로 돌아가기 시작하자 이제는 고음질 음악 감상만 남았다고 생각했죠.
하지만 낭만을 쫓는 DIY의 길은 순탄치 않습니다. 이번에는 소프트웨어와 오래된 미디어가 새로운 장벽으로 등장했습니다.

2025.10.16 - [IT & 모바일] - 라즈베리파이 & '골동품 허브'로 '고전 오디오' 부활시키기 (USB CD-ROM 인식 문제 해결 과정)

 

라즈베리파이 CD 플레이어 만들기 (1편) : USB CD-ROM 인식 그냥 되는게 아냐?

🎧 프롤로그: 오디오 노마드의 최종 귀결지, CD의 아날로그 감성요즘 세상에 누가 CD를 듣느냐고요? 그쵸? 스트리밍이 대세죠. 하지만 진정한 오디오 마니아라면 CD 음질 특유의 깊이와 질감을 포

lovory100.tistory.com

 


1.🛠️ 첫 번째 과제: Audacious 플레이어 설치(설치는 참 쉬워요^^)

음악 재생을 위한 가볍고 강력한 플레이어 Audacious를 설치합니다.

터미널 창을 열고 다음 명령어를 입력하세요.

sudo apt update
sudo apt install audacious -y

팁: audacious는 리눅스 환경에서 많이 사용되는 오픈소스 오디오 플레이어로, 가벼우면서도 다양한 코덱을 지원합니다.

이제 Audacious를 실행하고 CD를 넣어 재생해 봅시다. 하지만 곧바로 문제가 발생했습니다.


2.🎵 2차 시련: DJ가 된 보첼리 (주기적인 끊김 현상)

라즈베리파이 OS에 Audacious 플레이어를 설치하고 CD를 재생하며 안드레아 보첼리의 감미로운 목소리를 기대했지만, 음악은 마치 DJ가 레코드를 긁듯 “치직! 뚝!” 하고 반복적으로 끊겼습니다.

더 놀라운 건, 이 ‘스크래치 간격’이 CD마다 다르다는 것이었습니다.

  • Andrea Bocelli CD: 약 2초마다 끊김 → 팝페라가 랩 비트로 변신
  • Yanni CD: 약 3초마다 끊김 → 장엄한 선율이 산산조각

겉보기에 흠집 하나 없는 CD였기에 당혹스러울 수밖에 없었습니다.


3. 🧐 원인: 20년 세월과 버퍼의 굶주림(헝그리파이족인 내가 너무 미안해ㅠㅠ)

문제는 단순한 소프트웨어 버그가 아니었습니다. 오래된 미디어플레이어 설정 한계가 동시에 얽혀 있었습니다.

A. 하드웨어 요인: 노화된 CD와 드라이브의 ‘재채기’

  • 사용한 CD들은 대부분 20년 이상 된 음반들.
  • 반사층 산화, 미세한 변형 등으로 읽기 오류가 잦아짐.
  • 드라이브는 오류 정정을 위해 데이터를 일시 중단 → 순간적인 “재채기” 발생.

제가 가진 20년 된 CD입니다. 뒷면이 이렇게 깨끗한데 말입니다.

B. 소프트웨어 요인: 버퍼 스타베이션(Buffer Starvation)

  • 플레이어는 데이터를 미리 읽어 버퍼에 저장해 재생을 이어갑니다.
  • 하지만 기본 버퍼는 0.5초 남짓 → 드라이브가 2~3초 멈추면 버퍼 고갈.
  • 그 결과, 플레이어는 재생을 멈추고 드라이브를 기다리며 “뚝” 끊김 발생.

결론적으로, 드라이브의 오류 정정 시간 > 플레이어 버퍼 용량이라는 부등식을 깨야 했습니다.


4. 🧪 해결: 버퍼 시간을 늘려라

원인은 명확했습니다. → 플레이어 버퍼 시간을 드라이브 오류 정정 시간보다 길게 확보하면 됩니다.

Audacious에서 버퍼 설정(정확한 경로)

  1. Audacious 실행
  2. 상단 메뉴에서 Output → Audio Settings... 클릭
  3. 열리는 창에서 Buffer size 항목의 값을 증가 (밀리초 단위. 1000ms는 1초입니다)
  4. 설정 저장 후 재생 재시작

(환경마다 항목 명칭이 약간 다를 수 있으니 Buffer 관련 옵션을 찾으시면 됩니다.)

최적 버퍼 값 실험 결과

CD 문제 간격 버퍼 설정 결과

Andrea Bocelli 2초 끊김 2000 ms 매끄럽게 재생
Yanni 3초 끊김 3000 ms 완벽히 해결
추천 범위 - 2000 ~ 4000 ms 다양한 CD 대응

버퍼를 2000~3000ms로 늘리자, 20년 된 CD도 끊김 없이 재생되었습니다. 드디어 보첼리는 ‘DJ 모드’를 벗고 원래의 감동적인 목소리로 돌아왔습니다.

반응형

💡 팁: 버퍼 시간을 늘리면 RAM 사용량이 증가합니다. 라즈베리파이의 메모리 상황을 고려해 끊김이 사라지는 최소값을 찾는 것이 효율적입니다.


5. 💡 다음 단계: 무결점 낭만을 위하여

버퍼 조정으로 실시간 재생 문제는 해결했지만, CD 노화 문제는 계속 진행되겠죠. 완벽한 안정성을 원한다면 **리핑(Ripping)**이 정답입니다. 리핑은 시간도 많이 걸리고 매우 귀찮은 작업이지만 더 이상 CD를 사용할 수 없는 날이 오기전에 한 번 하긴 해야 할 것 같습니다.

  • cdparanoia 같은 툴은 오류 정정을 여러 번 반복해 무결점 데이터 추출 가능
  • 추출한 WAV/FLAC 파일을 저장·재생하면, CD 드라이브 상태와 무관하게 안정적

⏭️ 에필로그: 헝그리파이의 다음 목표

1편에서 전원 문제, 이번 2편에서 재생 끊김 문제를 해결했습니다. 라즈베리파이 CD 플레이어 만들기는 문제 해결의 연속이지만, 그만큼 성취감도 큽니다.
👉 다음 글에서는 CD를 FLAC/WAV 파일로 리핑하고 라즈베리파이에서 활용하는 방법을 자세히 다룰 예정입니다.


 

 

반응형

관련글 더보기

댓글 영역