1초 만에 뜨는 Spotify 클라이언트, Rust로 만든 'Fastpotify'가 Winamp 스킨까지 품었다

한눈에 보기
- Fastpotify는 브라우저 엔진 없이 동작하는 네이티브 Spotify 클라이언트입니다. 실행 시간은 1초 이내, 구동 중 메모리 사용량도 가볍습니다.
- 로컬 재생은 곡 사이 끊김(gapless) 없이 최대 320kbps를 지원하고, 같은 창에서 Spotify Connect로 스피커·휴대폰·TV 재생까지 제어합니다.
Ctrl+M한 번으로 클래식 Winamp 2 스킨의 미니 플레이어로 전환됩니다. 스펙트럼 분석기, 이퀄라이저, 재생 목록까지 그대로 들어 있습니다.- Rust +
egui+librespot조합으로 만들어진 MIT 라이선스 오픈소스입니다.
왜 '빠름'이 핵심인가
요즘 데스크톱 앱은 상당수가 내부에 브라우저 엔진을 안고 있습니다. 개발은 편하지만, 그 대가로 실행 속도와 메모리를 내주게 되죠. Fastpotify는 이 부분을 걷어낸 경량 네이티브 바이너리로 접근했습니다.
- 실행 속도: 1초보다 훨씬 빠르게 뜹니다.
- 메모리: 상시 켜두는 음악 앱이라는 성격을 고려하면 체감 이점이 큰 지점입니다.
음질 측면에서도 타협하지 않았습니다. 로컬 재생 시 곡과 곡 사이에 무음 구간이 생기지 않는 갭리스 재생을 제공하고, 최대 320kbps 음질을 지원합니다. 라이브 앨범이나 논스톱 믹스를 자주 듣는 분이라면 이 차이가 꽤 크게 느껴질 부분입니다.
데스크톱에서 모든 기기를 제어
Spotify Connect를 지원하기 때문에, 앱을 여러 개 띄우지 않고 하나의 창에서 재생 기기를 넘나들 수 있습니다.
- 스피커, 휴대폰, TV의 재생 상태 제어
- 플레이리스트, Liked Songs, 앨범, 아티스트, 팟캐스트 탐색
- 카탈로그 검색
- 본인이 소유한 플레이리스트 편집
즉, 단순한 '가벼운 재생기'가 아니라 평소 쓰던 탐색·관리 흐름을 대체할 수 있는 수준을 노린 구성입니다.
Ctrl+M: Winamp 2가 돌아왔다
가장 눈길을 끄는 기능입니다. Ctrl+M을 누르면 클래식 Winamp 2 스킨을 픽셀 단위로 재현한 미니 플레이어로 전환됩니다.
포함된 요소는 다음과 같습니다.
- 스펙트럼 분석기
- 이퀄라이저
- 재생 목록 창
추억 감성용 장식에서 끝나지 않고, 실사용을 위한 기능도 함께 챙겼습니다.
- 키보드 단축키 지원
- Linux MPRIS 미디어 제어 연동
- 트레이 옵션 — 창을 닫아도 음악은 계속 재생
기술 구성과 라이선스
| 항목 | 내용 |
| --- | --- |
| 언어 | Rust |
| GUI | egui |
| Spotify 연동 | librespot |
| 라이선스 | MIT |
egui는 Rust 생태계에서 즉시 모드(immediate mode) GUI로 널리 쓰이는 라이브러리이고, librespot은 Spotify 클라이언트 구현의 오픈소스 기반으로 잘 알려져 있습니다. 브라우저 엔진 없이 네이티브 성능을 확보한 배경에는 이 조합이 있습니다.
또한 프로젝트는 연결 방식과 자격 증명(credential) 모델을 전체 문서로 공개하고 있습니다. 계정 정보를 다루는 서드파티 클라이언트에서 이 부분이 투명하게 문서화되어 있다는 점은, 도입을 검토할 때 반드시 확인해야 할 항목이자 신뢰의 근거가 됩니다.
정리
Fastpotify는 "공식 앱이 무겁다"는 오래된 불만에 대해 네이티브 구현이라는 정공법으로 답한 프로젝트입니다.
- 가볍고 빠른 데스크톱 음악 앱을 찾는 사용자
- Rust로 만든 실용적인 데스크톱 앱 사례를 살펴보고 싶은 개발자
- Winamp 시절의 UI를 그리워하는 분
이 세 부류라면 한 번쯤 살펴볼 만합니다. MIT 라이선스 오픈소스이므로 코드를 직접 읽어보거나 기여하는 것도 가능합니다.