도움말
MusicBee UPnP Plugin의 용도
MusicBee용 오픈 소스 플러그인으로, 클라우드나 로그인 없이 홈 네트워크의 UPnP/DLNA 장치(휴대폰, 스마트 TV, 하이파이 스트리머, 네트워크 스피커)에 라이브러리를 연결합니다. 이 플러그인은 Steven Mayall의 오리지널 UPnP 플러그인을 포크하여, 크고 다양한 라이브러리를 다른 장치에서 쾌적하게 탐색할 수 있도록 재구축되었습니다.
이 포크를 일반 UPnP 서버와 차별화하는 두 가지 특징이 있으며, 이것이 이 플러그인을 선택해야 하는 이유입니다:
- **"음악"뿐만 아니라 MusicBee의 전체를 게시합니다.** 필터, 팟캐스트, 오디오북, 라디오 방송국, 받은 편지함 및 재생 목록이 모두 음악과 함께 다른 장치에서 자체적으로 탐색 가능한 컨테이너로 나타납니다. 대부분의 서버는 평면적인 음악 라이브러리만 보여줍니다.
- 이러한 모든 노드는 개별적으로 표시, 숨기기 및 모양을 지정할 수 있습니다. 장치가 어떤 노드를 볼지 결정하고, 각 노드에 고유한 검색 경로(예: 앨범 아티스트 → 앨범 → 트랙, 평면 트랙 목록, 장르별, 연도별 등)를 부여합니다. 30만 트랙 라이브러리도 평면적인 데이터 덤프가 아닌 잘 정리된 라이브러리처럼 탐색할 수 있게 됩니다.
이 두 가지 주요 아이디어 아래에서, 플러그인은 하나의 구조적 사실을 중심으로 구성됩니다: MusicBee는 세 가지 다른 네트워크 역할을 수행할 수 있으며, 설정 대화 상자의 모든 화면은 이 중 하나에 속합니다. 세 가지 역할을 명확히 이해하면 나머지 대화 상자는 저절로 설명됩니다:
- 서버 — 다른 장치들이 MusicBee 라이브러리를 탐색하고 트랙을 가져옵니다. 위에 언급된 두 가지 주요 기능이 여기에 해당합니다.
- 렌더러 — MusicBee가 네트워크 스피커처럼 다른 앱이 재생할 수 있는 대상이 됩니다.
- 제어 지점 — MusicBee가 자체 오디오를 원격 스피커 또는 스트리머로 출력합니다.
하나의 역할만 사용하거나 세 가지 모두 사용할 수 있습니다. 필요한 것만 켜세요. 이 가이드 전체에서 각 설정은 해당 기능 바로 옆에 설명되어 있으며, 별도의 "설정" 목록을 교차 참조할 필요가 없습니다.
설치
- 릴리스 페이지에서
mb_UPnP_yaiol.dll을 다운로드합니다. - MusicBee 플러그인 폴더(일반적으로
C:\Users\<you>\AppData\Roaming\MusicBee\Plugins\)에 복사합니다. - MusicBee를 다시 시작합니다.
- 편집 → 환경설정 → 플러그인을 열고 **MusicBee UPnP Plugin**을 찾아 구성을 클릭합니다.
yaiol DLL은 고유한 파일 이름을 가지고 있으므로 원본 플러그인과 충돌 없이 디스크에 존재하며 함께 실행될 수 있습니다.
서버 — 다른 기기에서 라이브러리 탐색
UPnP는 오디오 기기가 로컬 네트워크를 통해 서로를 찾고 구동하기 위한 프로토콜이며, 그 안에서 각 참여자는 정의된 역할을 수행합니다. 서버 역할이 켜져 있으면 (UPnP 서버 스위치), MusicBee는 미디어 서버 역할을 수행합니다. 즉, LAN에서 검색 요청에 응답하고 요청하는 모든 기기에 라이브러리를 제공합니다. 다른 기기에서 미디어 트리를 보고 탭하여 재생하면 오디오가 MusicBee의 내장 HTTP 서버에서 기기로 직접 스트리밍됩니다. MusicBee는 소스일 뿐이며, 다른 기기가 제어합니다.
사용하는 이유. 전체 컬렉션을 보유한 PC 하나를 다른 모든 기기가 파일 복사나 로그인 없이 접근할 수 있는 네트워크 소스로 만듭니다. 이것은 플러그인 포크가 가장 많이 투자하는 부분이며, 무엇을 게시할지(아래 참조)와 각 노드가 어떻게 구성되는지라는 두 가지 주요 기능이 있습니다.
언제 꺼야 하는가. 다른 기기에서 MusicBee를 전혀 탐색하지 않을 때만 끄십시오. 이 역할은 다른 두 역할과 독립적입니다. 라이브러리를 제공하면서도 렌더러 및 제어 지점 역할을 끌 수 있습니다.
스위치와 함께 몇 가지 서버 전체 설정이 있습니다. 다른 기기가 목록에 표시하는 서버 이름, MusicBee가 바인딩하는 네트워크 인터페이스 및 포트(네트워크에서 서로 찾기 참조), 서버가 한 번에 제공할 동시 스트림 수를 제한하는 최대 연결 제한입니다.

설정
| 제어 | 기능 |
|---|---|
| UPnP 서버: UPnP 장치가 MusicBee 라이브러리를 탐색하고 재생할 수 있도록 허용 | 서버 역할의 마스터 스위치 — UPnP 기기가 MusicBee 라이브러리를 탐색하고 재생할 수 있도록 합니다. |
| 서버 이름 | 다른 기기가 MusicBee를 발견했을 때 표시하는 이름입니다. |
| 최대 연결 | 서버가 제공할 최대 동시 파일 스트림 수 (기본값 16, 범위 1–256). 많은 병렬 요청을 보내는 기기가 ⚠ 최대 연결 배지를 트리거하면 늘리십시오. 다시 시작한 후에 적용됩니다. |
| MusicBee에서 재생 통계 업데이트 | UPnP를 통해 재생된 트랙을 MusicBee의 재생 횟수 및 마지막 재생 시간 스탬프에 포함합니다. |
음악뿐만 아니라 MusicBee의 모든 것을 게시
이것은 이 포크의 두 가지 주요 기능 중 첫 번째입니다. 일반적인 UPnP 서버는 네트워크에 단일의 평면적인 "음악" 라이브러리를 제공합니다. 이것은 MusicBee가 정리하는 모든 콘텐츠 영역을 검색 장치에서 각각 자체 최상위 컨테이너로 표면화합니다.
MusicBee가 게시할 수 있는 7가지
기기가 MusicBee를 탐색할 때, 기기가 접속하는 루트는 이 모든 것을 나란히 제공할 수 있습니다:
- 음악 — 원하는 대로 구성된 기본 라이브러리입니다 (아래 검색 경로 참조).
- 필터 — MusicBee의 기본 보기 상단에서 이미 사용하는 필터 탭(
Music,ALL,FAV, 재즈 필터, 클래식 필터 등 설정한 모든 것)이 진입점으로 나타나, 라이브러리에 대해 이미 생각하는 방식을 반영합니다. 필터는 MusicBee 자체가 사용하는 동일한 파일에서 실시간으로 읽히므로, 별도의 구성 없이 동기화 상태를 유지합니다. - 팟캐스트 — 구독한 팟캐스트로, 각각 에피소드를 열 수 있으며 구독 아트워크가 함께 표시됩니다.
- 오디오북 — MusicBee의 오디오북 카테고리입니다.
- 라디오 — 저장된 인터넷 라디오 방송국입니다.
- 받은 편지함 — MusicBee의 받은 편지함에 있는 새로 추가되었지만 아직 분류되지 않은 트랙입니다.
- 재생 목록 — MusicBee 재생 목록입니다.
이러한 항목들은 MusicBee에서 직접 가져오기 때문에 별도의 설정이 필요 없습니다. MusicBee에서 팟캐스트를 구독하거나 방송국을 추가하면, 다음번에 기기가 탐색할 때 네트워크에서 접근할 수 있습니다. 각 항목이 실제로 나타나는지 여부와 그 형태는 다음 기능의 역할입니다.
기본적으로 필터와 재생 목록은 자체의 깔끔한 래퍼 폴더 안에 있습니다. 각 소스가 실제로 나타나는지 여부, 어디에 위치하는지 (가장 자주 사용하는 항목을 탐색 루트의 상단에 고정하고, 같은 종류끼리 그룹화하는 것을 포함하여), 그리고 어떤 형태를 취하는지는 모두 다음 기능에 의해 노드별로 결정됩니다.
이 도움말의 이전 버전에서는 "팟캐스트 루트 컨테이너 없음"을 제한 사항으로 나열했습니다. 더 이상 그렇지 않습니다. 팟캐스트는 다른 모든 소스와 마찬가지로 게시됩니다.
각 노드 표시, 숨기기 및 모양 변경
이것은 두 번째 주요 기능이며, 이 포크가 이름을 얻게 된 기능입니다. 7개의 소스를 게시하는 것은 제어할 수 없다면 노이즈가 될 것입니다. 따라서 모든 노출된 노드는 독립적으로 전환 가능하고, 루트에 고정할 수 있으며, 자체 검색 경로를 가집니다.
이 모든 것은 설정 대화 상자의 보기 탭에서 관리하며, 이 탭은 전체 노출된 트리를 체크리스트로 보여줍니다. 패턴은 항상 동일합니다. 작업하려는 노드를 선택한 다음, 트리 옆의 컨트롤을 사용하여 한 번에 모두 설정합니다. 노드를 표시하거나 숨기고, 트리의 맨 위에 고정하거나, 경로 템플릿을 적용합니다. 따라서 음악, 필터 및 재생 목록을 노출하고, 받은 편지함과 라디오를 숨기고, 재즈 필터를 루트에 고정하고, 팟캐스트에 구독별 모양을 부여할 수 있습니다. 각각 독립적으로 말입니다.

각 노드 표시, 숨기기 및 고정
두 개의 스위치는 노드가 어떻게 구성되었는지와는 별개로 노드가 표시될지 여부와 표시될 위치를 결정합니다. 두 스위치 모두 보기 탭에 있으며, 트리에서 선택한 모든 노드에 적용되는 3단계 체크박스입니다.
- 표시 여부 — 장치에서 노드를 볼 수 있는지 여부입니다. 노드를 숨기려면 선택을 해제하세요. 노드는 라이브러리에 남아 있지만, 더 이상 광고되지 않습니다. (선택된 항목에 따라 작동하므로, 선택 항목이 일부는 표시되고 일부는 숨겨져 있을 때 확인란은 음영 처리된 "혼합" 상태를 표시합니다.) 숨겨진 노드는 트리에서 회색으로 표시되며, 폴더 안의 모든 노드가 숨겨지면 폴더도 회색으로 표시되므로 한눈에 무엇이 여전히 노출되어 있는지 알 수 있습니다.
- 최상위 수준 — 노드가 탐색 루트의 상단에 또한 고정되어 있는지 여부입니다. 고정은 추가적입니다. 노드는 여전히 일반 래퍼 폴더에 나타나며, 또한 루트 상단 근처에 자체 종류와 함께 그룹화된 사본을 얻습니다. 고정된 필터는 필터 폴더 바로 아래에, 고정된 재생 목록은 재생 목록 폴더 바로 아래에 위치하므로 바로 가기는 해당 항목 옆에 유지됩니다. 고정된 노드는 대화 상자에서 **★**로 표시되므로 어떤 노드가 상단으로 올라와 있는지 한눈에 알 수 있습니다.
필터나 재생 목록이 루트에 고정되면 일반 최상위 소스와 구별하기 어려울 수 있으므로, 표시 이름 앞에 짧은 접두사를 추가할 수 있습니다 (라이브러리 옵션 탭에서 설정). 접두사는 문자 그대로입니다. 입력하는 모든 내용이 이름 앞에 그대로 배치되므로, 원하는 경우 뒤에 공백을 포함하세요.
예시. 주로 Jazz 필터와 Friday Night 재생 목록을 통해 탐색하는데, 이 둘은 현재 Filters 및 Playlists 래퍼 폴더 안에 있습니다.
보기 트리에서 두 노드를 모두 선택하고 최상위 레벨을 클릭합니다. 이제 각 노드에 대화 상자에 ★이 표시됩니다. 탐색 장치에서는 이전과 같이 래퍼 폴더 안에 계속 나타나지만, 루트의 상단에도 복사본이 하나씩 생겨 각각 자신의 종류 옆에 위치합니다. 고정된 Jazz 필터는 Filters 폴더 바로 아래에, 고정된 Friday Night 재생 목록은 Playlists 폴더 바로 아래에 있습니다. 필터 접두사가 Filter: 로, 재생 목록 접두사가 Playlist: 로 설정되면, 두 고정된 복사본은 Filter: Jazz 및 Playlist: Friday Night로 표시됩니다. 이는 래퍼 안의 복사본과 구별되며, 각각 자신의 종류 폴더 옆에 있습니다. 둘 중 하나에 대해 최상위 레벨을 선택 해제하면 고정된 복사본은 사라지고 래퍼 폴더 복사본은 그대로 유지됩니다.
이것은 이전의 전역 '루트에 필터 노출' / '루트에 재생 목록 노출' 스위치를 대체합니다. 이제 고정은 필터 및 재생 목록에 대한 전체 또는 없음 토글이 아니라, 모든 소스에 대해 노드별로 선택하는 방식입니다.
설정
| Control | What it does |
|---|---|
| 표시 | 선택된 모든 노드를 표시하거나 숨깁니다. 숨겨진 노드는 라이브러리에 남아 있지만 장치에는 광고되지 않습니다. 선택 항목이 부분적으로 보이는 경우 음영 처리된 '혼합' 상태가 됩니다. |
| 최상위 | 또한 선택된 모든 노드를 찾아보기 루트의 상단에 해당 종류별로 그룹화하여 고정합니다 — 필터는 필터 폴더 아래에, 재생 목록은 재생 목록 폴더 아래에 고정됩니다 (추가적입니다 — 노드는 원래 위치도 유지합니다). 고정된 노드는 대화 상자에 ★로 표시됩니다. |
| 필터 접두사 (루트에 있을 때) | 필터가 루트에 고정될 때 필터 이름 앞에 붙는 리터럴 텍스트 접두사입니다 (고정된 복사본들이 함께 그룹화되도록 돕습니다). |
| 재생 목록 접두사 (루트에 있을 때) | 재생 목록이 루트에 고정될 때 재생 목록 이름 앞에 붙는 리터럴 텍스트 접두사입니다. |
검색 경로 — 각 노드의 드릴다운 경로
검색 경로는 브라우저가 노드 내부를 탐색하는 경로입니다. 동일한 노드가 앨범 아티스트 → 앨범 → 트랙으로 표시되거나, 단일 평면 트랙 목록으로 표시되거나, 장르별로 그룹화된 다음 아티스트별로 그룹화되거나, 연도별로 그룹화될 수 있습니다. 경로는 하나 이상의 레벨(각 레벨이 그룹화하는 필드)로 구성되며 리프(가장 깊은 레벨이 보여주는 것 — 앨범 다음 트랙, 또는 평면 트랙 목록)로 끝납니다. 노드는 여러 경로를 동시에 가질 수도 있으므로 여러 가지 방법으로 접근할 수 있습니다.
다른 콘텐츠는 다른 형태를 원하며, 잘못된 형태는 노드를 사용할 수 없게 만듭니다. 음악은 앨범-아티스트 그룹화를 원하고, 재생 목록은 평면 정렬 목록을 원하며, 팟캐스트는 구독을 원합니다. 각 노드는 자체 경로를 가지고 있기 때문에 올바른 답을 얻습니다.
예시. 5,000곡의 재즈 필터와 30곡의 "금요일 밤" 재생 목록이 모두 노출되어 있습니다.
- 재즈 필터의 경우 경로가 앨범 아티스트 → 앨범 → 트랙인 템플릿을 적용합니다. 장치에서 아티스트, 해당 아티스트의 앨범, 앨범의 트랙을 디스크 및 트랙 순서로 드릴다운합니다.
- 재생 목록의 경우 대신 평면 트랙 템플릿을 적용합니다. 열면 재생 목록 순서대로 30개의 트랙이 표시되며, 아티스트나 앨범 레이어가 중간에 없습니다. 이는 재생 목록이 되어야 하는 모습입니다.
동일한 플러그인, 동일한 대화 상자, 두 개의 노드, 완전히 다른 두 가지 형태 — 경로는 전역 설정이 아니라 노드의 속성이기 때문입니다. 노드가 어떤 템플릿을 가지고 있는지 모르면 노드의 장치 내 레이아웃을 예측할 수 없습니다. 이것이 설명이 필요한 이유입니다.
노드는 템플릿의 복사본을 받는 것이 아니라 템플릿을 따릅니다. 보기 트리는 각 노드가 따르는 템플릿을 노드 이름 바로 뒤에 표시하며, 경로 탭에서 템플릿을 편집하면 해당 템플릿을 따르는 모든 노드의 형태가 즉시 변경됩니다. 노드별로 다시 적용할 필요가 없습니다. 숨겨진 노드에 템플릿을 적용하면 다시 표시됩니다. 적용은 "이것을 저렇게 보여줘"라는 제스처인 반면, 숨기기는 Visible 확인란에 남아 있습니다. 각 템플릿 행은 해당 템플릿을 따르는 노드의 실시간 (n) 개수를 표시하며, 템플릿은 해당 개수가 0일 때만 삭제할 수 있습니다. 템플릿을 따르는 것이 있으면 삭제 버튼이 비활성화되어 노드가 삭제로 인해 고아 상태가 되는 일이 없습니다. 정확히 어떤 노드가 템플릿을 따르는지 확인하려면 보기 트리 옆의 깔때기 버튼이 트리를 해당 노드만으로 필터링합니다. 다른 템플릿을 선택하면 다시 필터링되고, 깔때기를 끄면 전체 트리가 복원됩니다. 사용되지 않는 템플릿을 삭제하는 것도 이제 유지됩니다. 다음 플러그인 로드 시 기본값이 더 이상 조용히 다시 생성되지 않습니다.
경로가 앨범 → 트랙 리프로 끝날 때, 무엇을 하나의 앨범으로 간주할지도 결정합니다. 엄격하게 앨범 제목으로 그룹화하는 대신, 앨범, 정렬 앨범, 연도, 앨범 아티스트와 같이 함께 어떤 트랙이 단일 앨범으로 융합되는지, 제목이 어떻게 읽히는지, 앨범이 나타나는 순서를 결정하는 하나 이상의 필드를 선택하며, 각 필드는 오름차순 또는 내림차순으로 정렬할 수 있습니다. 앨범 아티스트를 추가하면 다른 아티스트의 동일한 이름의 앨범 두 개를 분리합니다. 연도 내림차순을 추가하면 아티스트의 앨범이 최신순으로 나열됩니다. 연도별로 그룹화할 때 MusicBee는 자체 필드를 반영하는 두 가지 필드를 제공합니다. 전체 날짜 태그(2024-03-15와 같은 전체 날짜를 포함할 수 있음)인 연도와 4자리 연도만 있는 **연도(yyyy)**입니다. 따라서 *연도(yyyy)*를 선택하면 정확한 날짜로 분할하는 대신 해당 연도의 모든 릴리스를 함께 모읍니다.
기본값은 합리적입니다. 새 필터는 앨범 아티스트별로 형태가 지정되고, 재생 목록과 받은 편지함은 합리적인 기본값을 얻습니다. 따라서 일반적인 경우에는 아무것도 변경하지 않습니다. 특정 노드를 다르게 구성하고 싶을 때 보기 탭을 사용하십시오.
설정
경로 탭에서 이름이 지정된 재사용 가능한 경로 템플릿을 만들고, 보기 탭에서 노드에 적용합니다.

| 컨트롤 | 기능 |
|---|---|
| 선택된 엔드포인트에 적용 | 트리에서 선택한 모든 노드가 현재 선택된 템플릿을 따르도록 합니다(숨겨져 있었다면 다시 노출시킵니다). |
| 모두 확장 / 모두 축소 | 전체 엔드포인트 트리를 확장하거나 축소합니다. |
| 선택한 템플릿과 일치하는 노드만 표시 | 깔때기 토글: 엔드포인트 트리를 선택된 템플릿을 따르는 노드만으로 필터링합니다. 다른 템플릿을 선택하여 다시 필터링하고, 토글을 끄면 전체 트리가 복원됩니다. |
| 템플릿 | 편집 중인 이름이 지정된 경로 템플릿입니다. |
| ↑ / ↓ | 선택된 템플릿을 목록에서 위아래로 이동하여 템플릿이 표시되는 순서를 정합니다. |
| 그룹화 기준 | 레벨이 그룹화하는 필드(예: 앨범 아티스트). |
| 리프 | 가장 깊은 레벨이 보여주는 것. |
| 앨범 → 트랙 (AT) | 리프 모드: 앨범 → 트랙 — 앨범을 통해 트랙으로 드릴다운합니다. |
| 플랫 트랙 (T) | 리프 모드: 평면 트랙 — 단일 평면 트랙 목록. |
| 각 레벨에 [모든 트랙] 포함 | 각 레벨에 [모든 트랙] 바로 가기를 추가합니다. 앨범 → 트랙 모드에서만 표시됩니다. |
| 앨범 그룹 기준 | 무엇을 하나의 앨범으로 간주할지, 제목이 어떻게 읽히는지, 앨범이 나타나는 순서를 정의합니다. 하나 이상의 필드(앨범, 정렬 앨범, 연도, 앨범 아티스트 등)를 선택하며, 각 필드에는 자체 오름차순/내림차순 토글이 있습니다. 앨범 → 트랙 모드에서만 표시됩니다. |
| 추가 / 제거 | 템플릿에 경로를 추가하거나 제거합니다. |
경로는 맞는 노드에 유형이 지정됩니다.
모든 필드가 모든 종류의 노드에 의미가 있는 것은 아닙니다. 라디오 방송국에는 앨범이나 연도가 없으며, 팟캐스트 에피소드에는 구독, 폴더, 게시 날짜가 있지만 앨범 아티스트는 없습니다. 따라서 각 경로는 세 가지 범주 중 하나에 속합니다. — 표준 (전체 태그를 포함하는 음악, 필터, 오디오북, 받은 편지함 및 재생 목록), 라디오, 또는 팟캐스트 — 그리고 이 범주는 동시에 두 가지를 결정합니다: 그룹화할 수 있는 필드와 경로를 적용할 수 있는 노드.
경로 탭에서 템플릿 목록은 두 개의 밴드로 그려집니다: 표준 — 사용자 자신의 템플릿이 있는 곳이자 모든 새 템플릿이 생성되는 곳 — 그리고 라디오 및 팟캐스트 템플릿을 포함하는 예약됨 밴드. 표준 템플릿을 편집하는 동안 필드 메뉴는 모든 것을 제공합니다. 라디오 템플릿은 방송국이 실제로 가지고 있는 필드만 제공합니다. 팟캐스트 템플릿은 에피소드가 가지고 있는 것만 제공합니다 — 폴더, 구독 및 게시 연도. 보기 탭에서 템플릿을 적용하면 맞는 노드만 켜지고 나머지는 회색으로 표시되어 선택할 수 없습니다 — 따라서 표준 경로는 라디오 또는 팟캐스트 노드에 절대 적용될 수 없습니다.
사실 라디오나 팟캐스트에는 아무것도 적용하지 않습니다: 각각은 해당 카테고리의 템플릿과 영구적으로 페어링됩니다. 경로 탭에서 라디오 또는 팟캐스트 템플릿을 재구성하면 노드가 자동으로 따라옵니다. 예약된 템플릿이 선택된 경우 적용할 것이 없으므로 적용 버튼은 단순히 비활성화됩니다. 이는 노드가 채울 수 없는 필드를 기준으로 그룹화하여 아무것도 생성하지 않는 경로를 만드는 것을 방지합니다 — 그리고 팔로우된 템플릿은 절대 삭제할 수 없으므로 (위의 검색 경로 참조), 라디오 및 팟캐스트 템플릿은 항상 재구성할 수 있습니다.
정렬 이름으로 분류된 아티스트
모든 음악 형태의 노드 내에서 아티스트는 표시 이름이 아니라 Sort Album Artist 태그를 기준으로 그룹화되고 알파벳순으로 정렬됩니다. 이것이 사람들을 놀라게 하는 부분이므로, 정확히 어떤 일이 발생하는지 설명합니다.
작동 예시. 트랙이 다음과 같이 태그되어 있다고 가정해 봅시다:
- Artist =
Bob Dylan- Sort Album Artist =
Dylan, Bob탐색 트리에서 Dylan은 D 문자(
Dylan, Bob에서 유래) 아래에 분류되며, B 문자(Bob Dylan에서 유래) 아래가 아닙니다. 정렬 태그는 그룹화 및 알파벳순 위치를 모두 결정하며, 이는 하이파이 브라우저나 음반 매장에서 파일을 정리하는 방식과 정확히 동일합니다.
이것은 자동으로 이루어지며 기존 MusicBee 태그에 의해 전적으로 구동됩니다 — 구성할 것은 아무것도 없습니다.
다중 값 태그 확장
트랙의 앨범 아티스트(또는 장르)가 둘 이상의 값을 가질 때, 해당 트랙은 하나의 통합된 항목을 만드는 대신 각 값 아래에 개별적으로 표시됩니다.
예시. 트랙의 앨범 아티스트가
yaiol; Ars Ricercata두 값을 가집니다. 해당 트랙은 "yaiol; Ars Ricercata"라는 단일 가짜 아티스트 아래에 표시되는 대신yaiol과Ars Ricercata둘 다 아래에 — 각 아티스트 브랜치에 한 번씩 — 표시됩니다. 다중 값 아티스트 태그는 다중 장르 태그와 동일한 방식으로 확장됩니다.
정렬 이름 그룹화와 마찬가지로, 이것은 자동이며 태그 기반입니다.
긴 목록을 첫 글자별로 분류
휴대폰에서 스크롤하기 불편할 정도로 레벨이 너무 길어지면, 첫 글자로 분류할 수 있습니다 — 항목 위에 A, B, C, … 계층을 삽입하여 먼저 글자를 선택하도록 합니다. 이 기능은 템플릿 내 필드별로 설정되며, 필드의 상황별 메뉴에서 다음을 선택합니다: [필드]를 첫 글자로 분할. 짧은 목록에는 이 기능을 끄고; 목록이 방대한 레벨(일반적으로 아티스트)에는 이 기능을 켜십시오.
태그를 중첩된 트리로 탐색
일부 태그는 구분 기호와 함께 단일 값에 계층 구조를 포함합니다. 예를 들어 Jazz/Cool Jazz와 같은 그룹화 태그, Electronic/Ambient/Drone과 같은 사용자 지정 장르가 있습니다. 기본적으로 전체 문자열은 하나의 평면 항목이므로 태그에 인코딩된 구조가 낭비됩니다. 필드를 계층적으로 표시하면 플러그인이 선택한 구분 기호로 각 값을 분할하고 대신 드릴다운 트리로 변환합니다. 태그에 쓰여진 대로 Jazz를 선택한 다음 Cool Jazz를 선택합니다.
이것은 라이브러리 옵션 탭에서 설정합니다. 필드를 선택하고 해당 수준을 구분하는 한 문자(예: /)를 입력한 다음 목록에 추가합니다. 그러면 해당 필드가 모든 검색 경로에서 그룹화 수준으로 사용되는 모든 곳에 적용됩니다. 하위 장르 없이 Jazz로만 태그가 지정된 리프가 아닌 브랜치에 태그가 지정된 트랙은 더 깊은 브랜치 옆에 괄호로 묶인 [Jazz] 항목 아래에 나타나므로 아무것도 숨겨지지 않습니다. 단 하나의 자식만 포함하는 브랜치는 자동으로 축소되며(다른 모든 곳과 동일한 한 가지 선택 규칙), ;는 구분 기호로 사용할 수 없습니다. 이는 MusicBee 자체의 다중 값 구분 기호이므로 Rock; Jazz/Cool Jazz와 같은 값은 먼저 두 태그로 분할된 다음 각각 드릴됩니다.
작동 예시. 트랙에
Jazz/Cool Jazz,Jazz/Hard Bop,Classical/Baroque와 같은 그룹화 태그가 있고 그룹화로 그룹화하는 검색 경로가 있습니다. 평면적으로 노드는 세 개의 긴 항목을 나열합니다. 그룹화를/로 계층적으로 표시하면 동일한 노드가 이제 Jazz와 Classical로 열립니다. Jazz를 열면 Cool Jazz와 Hard Bop이 나타납니다.Jazz로만 태그가 지정된 트랙은 그 옆에 있는 [Jazz] 항목 아래에 나타납니다. 이 레이아웃은 태그만으로는 예측할 수 없습니다. 어떤 필드를 어떤 구분 기호로 표시했는지에 전적으로 달려 있으므로 의도적으로 설정하는 것이 좋습니다.

설정
| 컨트롤 | 기능 |
|---|---|
| 계층 필드 | 드릴다운 트리로 렌더링되는 필드 목록으로, 각 필드는 한 문자 구분 기호와 쌍을 이룹니다. 필드를 선택하고 구분 기호(; 아님)를 입력한 다음 추가합니다. 그러면 검색 경로가 해당 필드로 그룹화되는 모든 곳에서 필드가 수준별로 드릴됩니다. |
단일 선택 레벨은 스스로 접힙
그룹화 레벨에 탐색 중인 항목에 대한 단 하나의 항목만 있는 경우, 플러그인은 단일 폴더를 포함하는 폴더를 열게 하는 대신 해당 레벨을 건너뛰어 다음 실제 선택지로 바로 이동합니다. 설정할 것은 없으며, 모든 경로에서 자동으로 발생합니다.
작동 예시. 경로는 레코드 유형 → 앨범 → 트랙으로 그룹화됩니다. LP만 발매한 아티스트의 경우, 그렇지 않다면 앨범에 도달하기 위해 레코드 유형 → LP라는 단일 폴더를 열어야 할 것입니다. 대신, 해당 아티스트를 열면 앨범으로 바로 이동합니다 — 해당 아티스트에게는 불필요한 레벨이 사라지며, LP 및 EP를 모두 가진 아티스트는 여전히 레코드 유형 선택지를 보여줍니다. 여러 개의 단일 항목 레벨이 연속으로 함께 접히며, 단 하나의 문자로만 구성된 첫 글자 레벨도 같은 방식으로 사라집니다.
탐색 트리의 앨범 썸네일
앨범은 앨범 아트를 탐색 응답에 포함하므로, 목록에 썸네일을 표시하는 장치에서 실제로 썸네일을 표시합니다. (원래 플러그인은 개별 트랙에만 아트를 첨부했기 때문에 앨범 목록은 일반 텍스트로 표시되었습니다.) 구성할 필요가 없습니다 — 앨범과 함께 제공됩니다.
장치에서 검색 및 셔플
대부분의 제어 앱은 찾아보기 트리 옆에 검색 상자와 "무작위" 또는 "셔플" 폴더를 배치합니다. 둘 다 동일한 종류의 UPnP 요청으로 MusicBee에 도달하며, 둘 다 미리 빌드된 인덱스에서가 아니라 라이브러리에서 실시간으로 응답됩니다. 따라서 1분 전에 다시 태그를 지정한 트랙도 즉시 찾을 수 있습니다.
검색은 제목 또는 아티스트와 일치합니다. 제목 검색은 앱이 트랙을 검색할 때 트랙 제목을, 앨범을 검색할 때 앨범 제목을 살펴봅니다. 아티스트 검색은 트랙의 아티스트 또는 앨범의 앨범 아티스트와 일치하므로, 연주자의 이름을 입력하든 앨범이 분류된 이름을 입력하든 컴필레이션이 나타납니다. 결과는 스크롤할 때 한 페이지씩 반환되므로 수천 개의 트랙과 일치하는 용어도 멈추거나 첫 번째 결과로 돌아가지 않고 반응성을 유지합니다.
작동 예시. 제어 앱의 앨범 보기에서
Blue를 검색합니다. Kind of Blue, Blue Train과 같이 Blue라는 이름을 가진 앨범을 얻게 되며, "Blue"라는 트랙을 포함하는 모든 앨범을 얻지는 않습니다. 앱을 트랙 보기로 전환하고 동일한 단어를 검색하면 대신 트랙을 얻게 됩니다. 일치하는 필드는 입력한 내용이 아니라 앱이 요청한 내용을 따릅니다.
셔플 폴더 — 일부 앱이 표시하는 무작위 트랙 및 무작위 앨범 항목 —은 검색어 없이 모든 것의 일부를 요청하는 것입니다. 기본적으로 "모든 것"은 전체 음악 라이브러리인데, 절반이 음성 파일이거나 셔플하지 않는 자료라면 원하는 경우가 거의 없습니다. 라이브러리 옵션 탭의 임의 재생 출처를 사용하면 MusicBee 필터 중 하나를 가리키도록 설정할 수 있으므로 모든 무작위 요청은 해당 필터의 내용에서만 가져옵니다. 숨겨진 필터도 여기에 제공됩니다. 셔플 범위를 지정하는 것은 해당 필터가 찾아보기 트리에 나타나기를 원하는지 여부와는 아무런 관련이 없습니다. 장치에서 필터 내부에서 셔플 폴더를 열면 해당 필터가 여전히 셔플됩니다. 찾아보기 중에 이루어진 명시적인 선택은 항상 설정보다 우선합니다.
설정
| 제어 | 기능 |
|---|---|
| 임의 재생 출처 | 장치의 셔플 요청이 가져오는 위치 — 모든 음악 (전체 라이브러리, 기본값) 또는 명명된 MusicBee 필터. 선택한 필터가 MusicBee에서 나중에 삭제되거나 이름이 변경되면 설정은 자동으로 전체 라이브러리로 되돌아갑니다. |
각 장치에 맞게 스트림 조정
탐색은 작업의 절반에 불과합니다. 오디오는 여전히 수용하는 방식이 크게 다른 하드웨어에서 재생되어야 합니다. 이 기능은 MusicBee가 각 스트림을 맞춤화하는 방식이며, 공유됩니다. 즉, Server 역할이 트랙을 탐색 장치에 제공할 때와 Control point 역할이 원격 렌더러로 재생할 때 모두 적용됩니다. 두 가지 개념이 이를 주도합니다: device profiles (장치가 처리할 수 있는 것) 및 transcoding precedence chain (트랙이 재인코딩되는지 여부).
장치 프로필 — 각 장치에 맞게 조정
실제 UPnP 하드웨어는 허용하는 것에 일관성이 없습니다. 어떤 스트리머는 24비트 FLAC을 원하고, 다른 스트리머는 16비트 PCM만 재생하며, 세 번째 스트리머는 지원하는 코덱에 대해 거짓말을 합니다. 장치 프로필은 플러그인에 장치의 제한 사항과 특이 사항을 알려주는 방법입니다.
프로필이 선택되는 방법. 모든 장치는 연결할 때 User-Agent 문자열로 자신을 식별합니다. 프로필은 "사용자 에이전트에 이 조각이 포함될 때 나를 적용하라"고 말합니다. 장치가 연결되면 플러그인은 일치하는 프로필을 찾습니다. 일치하는 것이 없으면 내장된 일반 장치 프로필이 대체됩니다. 여러 조각을 |로 구분하여 나열할 수 있습니다(예: Linn|ChorusDS|BubbleDS). 이렇게 하면 하나의 프로필이 관련 장치 제품군을 포괄할 수 있습니다.
프로필이 제어하는 것. 장치가 초과할 수 없는 제한 사항(앨범 아트의 최대 사진 크기, 허용되는 샘플 속도 범위, 최대 비트 심도, 스테레오 전용 다운믹싱)과 트랙을 변환해야 할 때 변환할 출력 형식 및 샘플 속도. "문제 장치" 스위치의 별도 그룹은 특정 하드웨어 버그(원시 PCM 처리, 바이트 순서, HTTP 콘텐츠 길이 헤더)를 해결합니다. 이러한 스위치는 실제 UPnP 준수가 불완전하기 때문에 존재하며, 대부분의 사람들은 건드리지 않습니다.
프로필을 건드려야 할 때. 특정 장치가 오작동할 때만. 기본적으로 일반 프로필과 일반 하드웨어에 대해 제공되는 장치별 기본값은 대부분의 경우를 포괄합니다. 장치의 사용자 에이전트를 찾아 대상을 지정하려면 디버그 로깅을 켜고(진단 참조) 장치에서 무언가를 재생한 다음 로그에서 useragent= 줄을 읽으십시오.
프로필의 가장 중요한 스위치인 네이티브 스트림 강제는 제한 사항에 관한 것이 전혀 아닙니다. 위의 내용 중 어떤 것이 적용되는지 결정합니다. 이것이 다음 개념입니다.


설정
| 제어 | 기능 |
|---|---|
| 이름 | 프로필의 표시 이름입니다. |
| 사용자 에이전트에 다음이 포함될 때 적용 | 이 프로필과 일치하기 위해 장치가 포함해야 하는 사용자 에이전트 조각입니다. 대안은 |로 구분합니다. 일치하지 않는 장치는 일반 프로필로 대체됩니다. |
| 최대 사진 크기 | 이 장치로 전송되는 최대 앨범 아트 픽셀 크기(160px는 DLNA 표준이며, 더 큰 크기는 보편적으로 지원되지 않습니다). |
| 출력 샘플 속도 / ~ | 장치가 허용하는 샘플 속도 범위입니다. 이 범위를 벗어나는 소스는 변환됩니다(트랜스코딩 강제). |
| 채널 / 스테레오 전용 | 두 채널만 지원하는 장치의 경우 다중 채널을 스테레오로 다운믹싱합니다. |
| 최대 비트 심도 | 장치가 허용하는 가장 높은 비트 심도입니다. 더 깊은 소스는 변환됩니다. |
| 출력 형식 | 트랜스코딩이 필요할 때 변환할 형식(PCM, FLAC, MP3, AAC, Ogg)입니다. |
| 출력 샘플 속도 | 트랜스코딩 시 사용할 샘플 속도입니다. "소스와 동일"은 원본을 유지합니다. |
| RAW PCM 사용 안 함 | 원시 L16/L24를 보내는 대신 PCM을 WAV 컨테이너로 래핑합니다. 원시 PCM을 왜곡하는 장치(일부 Marantz)용입니다. |
| PCM 스트림에 리틀 엔디안 강제 적용 | 사양의 빅 엔디안 대신 PCM을 리틀 엔디안으로 보냅니다. 리틀 엔디안을 예상하는 장치에서 화이트 노이즈 재생을 치료합니다. |
| 콘텐츠 길이 | HTTP Content-Length 헤더를 채우는 방법: 기본값(올바른 값), 없음(생략), PCM만, 또는 고정(센티넬 "매우 큰" 값). 헤더를 잘못 처리하는 장치용입니다. |
트랜스코딩 여부 — 우선순위 체인
"트랜스코딩"은 장치가 재생할 수 있는 형식으로 또는 MusicBee의 EQ 및 볼륨 레벨링을 적용할 수 있도록 트랙을 즉석에서 다시 인코딩하는 것을 의미합니다. 플러그인은 트랜스코딩을 하지 않는 것을 선호하므로(원본 파일을 보내는 것이 더 빠르고 무손실임), 고정된 규칙 체인을 따라 결정을 내립니다. 상위 규칙이 하위 규칙을 이기고 자동으로 재정의합니다. 이는 여러 설정이 협력해야 할 것처럼 보이지만 그렇지 않기 때문에 플러그인에서 가장 오해되는 부분입니다.
| 우선순위 | 규칙 | 효과 |
|---|---|---|
| 1 (가장 높음) | 트랜스코딩 강제 적용 (장치 프로필별) | 항상 트랜스코딩합니다. 아래의 모든 것을 재정의합니다. 네이티브 강제 적용과 상호 배타적입니다 — 하나를 선택하면 다른 하나는 선택 해제됩니다. |
| 2 | 네이티브 스트림 강제 적용 (장치 프로필별, 기본값 ON) | 이 장치에 대해 트랜스코딩하지 않습니다. 규칙 3-5를 완전히 억제합니다 — 형식, 효과 또는 제한에 관계없이 원본 바이트를 보냅니다. |
| 3 | EQ/DSP 및 ReplayGain (라이브러리) | 오디오를 처리할 수 있도록 트랜스코딩을 강제 적용합니다. 규칙 2가 이기면 자동으로 무시됩니다. |
| 4 | 샘플 속도 / 비트 심도 / 스테레오 전용 (장치 프로필) | 소스가 범위를 벗어나면 → 맞게 트랜스코딩합니다. 규칙 2가 이기면 자동으로 무시됩니다. |
| 5 (가장 낮음) | 코덱 지원 (장치 프로필) | 장치가 재생할 수 없는 소스 코덱 → 프로필의 출력 형식으로 트랜스코딩합니다. 규칙 2가 이기면 자동으로 무시됩니다. |
모든 프로필에 대해 네이티브 스트림 강제 적용이 기본적으로 ON으로 설정되어 있기 때문에, 기본 동작은 장치에 원본 파일을 제공하고 다른 작업은 수행하지 않는 것입니다. 이는 좋은 네트워크의 최신 장치에 정확히 맞지만, 규칙 2를 변경하기 전까지는 라이브러리 효과와 프로필의 오디오 제한이 "아무것도 하지 않는" 것처럼 보인다는 것을 의미합니다.
예시. MusicBee의 ReplayGain 볼륨 레벨링을 스트리머에 적용하고 싶습니다. 라이브러리 아래에서 MusicBee에서 활성화된 리플레이 게인 모드를 사용하여 재생 볼륨 레벨링을 선택합니다. 트랙을 재생하지만 볼륨이 전혀 레벨링되지 않습니다.
이유: 스트리머의 프로필에는 여전히 네이티브 스트림 강제 적용이 ON으로 설정되어 있습니다(규칙 2). 규칙 2는 ReplayGain 규칙(규칙 3)보다 우선하므로, 플러그인은 변경되지 않은 파일을 보내고 ReplayGain 설정은 자동으로 건너뛰어집니다.
해결 방법: 해당 장치의 프로필을 열고 네이티브 스트림 강제 적용을 선택 해제합니다. 네이티브 강제 적용은 프로필별이므로, 비트 퍼펙트 하이파이 DAC에는 켜두고 ReplayGain이 필요한 휴대용 스피커에는 꺼둘 수 있습니다 — 각 장치는 올바른 응답을 받습니다.
경험 법칙:
- EQ/DSP 또는 ReplayGain을 장치에 적용하고 싶습니까? 해당 장치의 프로필에서 네이티브 스트림 강제 적용을 끄십시오.
- 새로운 트랜스코딩을 보장하고 싶습니까(테스트용 또는 네이티브 파일에서 문제가 발생하는 장치용)? 해당 프로필에서 트랜스코딩 강제 적용을 선택하십시오 — 모든 것보다 우선합니다.
- 그렇지 않으면 네이티브 스트림 강제 적용을 켜두십시오. 이는 플러그인에서 가장 영향력 있는 설정이며 기본값은 대부분의 최신 장비에 적합합니다.

설정
| 제어 | 기능 |
|---|---|
| 네이티브 스트림 강제 적용 (트랜스코더 우회) | 원본 파일 바이트를 보내 트랜스코더, 효과, ReplayGain 및 프로필의 오디오 제한을 우회합니다. 기본값 ON. 가장 영향력 있는 재생 설정; 위 체인의 규칙 2입니다. |
| 트랜스코딩 강제 적용 (네이티브 스트림 강제 적용과 상호 배타적) | 이 장치로의 모든 스트림을 트랜스코더를 통해 강제 적용합니다. 네이티브 강제 적용보다 우선합니다; 두 가지는 상호 배타적입니다(하나를 선택하면 다른 하나는 선택 해제됩니다). 규칙 1입니다. |
| MusicBee에서 활성화된 이퀄라이저 및 DSP 효과 사용 [트랜스코딩 강제 적용] | MusicBee의 이퀄라이저 및 DSP 효과를 나가는 오디오에 적용합니다. 트랜스코딩을 강제 적용하며 (규칙 3), 프로필에 네이티브 강제 적용이 켜져 있는 장치에서는 억제됩니다. |
| MusicBee에서 활성화된 리플레이 게인 모드를 사용하여 재생 볼륨 레벨 조정 [트랜스코딩 강제 적용] | MusicBee의 ReplayGain 볼륨 레벨링을 적용합니다. 트랜스코딩을 강제 적용하며 (규칙 3), 프로필에 네이티브 강제 적용이 켜져 있는 장치에서는 억제됩니다. |
| 라디오에 네이티브 스트림 강제 적용 (방송국에 대한 트랜스코더 우회) | 라디오/스트림 소스를 변경하지 않고 보내며, 특히 방송국에 대한 트랜스코더를 우회합니다. |
렌더러 — 재생 대상으로 MusicBee 사용
렌더러 역할(UPnP 렌더러 스위치)을 켜면 MusicBee는 네트워크에 "나는 재생할 수 있는 장치입니다"라고 알립니다. 그러면 별도의 제어 지점 앱(휴대폰 리모컨, 다른 미디어 컨트롤러)이 MusicBee를 선택하고 이 PC에서 재생할 오디오를 푸시할 수 있습니다. 다른 앱의 목록에서 인식할 수 있도록 대상에 친숙한 렌더러 이름을 지정합니다.
재생 가능한 항목. 제어 앱이 보낼 수 있는 두 가지 종류의 트랙 모두. 트랙이 MusicBee 자체 라이브러리에서 온 경우(휴대폰에서 이 PC의 라이브러리를 탐색하고 노래를 탭한 경우) MusicBee는 네트워크를 통한 왕복으로 인해 발생할 수 있는 품질 손실 없이 자체 디스크에서 파일을 직접 재생합니다. 트랙이 다른 곳에 있는 경우(휴대폰 자체, NAS, 다른 미디어 서버에 저장된 파일) MusicBee는 해당 파일을 가져와 여기서 재생합니다.
다른 곳에서 보낸 트랙은 먼저 복사되며, 그 이유가 중요합니다. 라이브러리에 없는 트랙의 경우 MusicBee는 네트워크를 통해 실시간으로 듣는 대신 임시 폴더에 복사본을 조용히 다운로드하여 재생합니다. 그렇게 해야 합니다. MusicBee가 라이브 네트워크 스트림으로 처리하는 모든 것은 시작하고 중지할 수 있지만 이동할 수 없으므로 노래의 다른 지점으로 이동하는 것이 불가능하며 트랙은 제목 대신 단순한 웹 주소로 표시됩니다. 자체 디스크에서 실제 파일을 재생하면 둘 다 피할 수 있습니다. 복사에는 홈 네트워크에서 약 1초가 걸립니다. 몇 개는 나란히 보관됩니다. 재생 중인 트랙, 다음 대기 중인 트랙, 뒤에 있는 트랙(뒤로 건너뛰기가 즉시 가능하도록)이며, 새 트랙이 도착하면 이전 트랙은 삭제됩니다. 남은 것은 MusicBee가 다음에 시작할 때 지워집니다. 트랙 길이는 장애물이 아닙니다. 긴 고해상도 또는 DSD 파일은 다른 파일과 마찬가지로 가져옵니다.
인터넷 라디오는 인식되어 그대로 둡니다. 라이브 방송은 절대 복사되지 않습니다. 다운로드할 끝이 없고 어차피 건너뛸 것이 없기 때문입니다. MusicBee는 단순히 스트림으로 재생합니다. 제어 앱은 둘 중 어느 것을 보내는지 알려주므로 이 부분에서는 설정이나 추측이 필요하지 않습니다. 다른 이유로 복사본을 가져올 수 없는 경우에도 마찬가지입니다. 재생은 네트워크를 통해 계속되며, 그 때에만 제목과 위치 슬라이더가 신뢰할 수 없게 됩니다.
앨범은 끊김 없이 재생됩니다. 제어 앱이 MusicBee에 다음에 올 것을 알려주면(대부분의 앱이 그렇습니다) 현재 트랙이 재생되는 동안 해당 트랙이 가져와지고 MusicBee 자체 플레이어가 경계를 넘습니다. 따라서 휴대폰에서 보낸 라이브 녹음, DJ 세트 또는 연속적인 클래식 작품은 각 트랙에서 일시 중지되지 않고 제대로 재생됩니다.
사용하는 이유. 휴대폰이나 태블릿이 이 PC를 UPnP 스피커로 사용할 수 있게 해줍니다. PC가 좋은 스피커에 연결되어 있고 소파에서 제어하고 싶을 때 유용합니다. 음악이 PC에 있든 손에 든 휴대폰에 있든 상관없습니다.
언제 꺼야 하는가. 다른 앱에서 이 PC로 오디오를 보내고 싶지 않다면 꺼두십시오. 꺼져 있으면 MusicBee는 어디에도 대상으로 나타나지 않으며, 이는 일반적으로 원하는 바입니다.
한 번에 하나의 제어 앱만 사용하십시오. UPnP는 앱이 렌더러를 "소유"한다는 개념이 없습니다. 네트워크의 모든 앱은 MusicBee로 트랙을 보낼 수 있으며, 모든 앱은 보고 있는 것에 반응할 수 있습니다. 따라서 두 개의 플레이어가 동시에 MusicBee를 가리키면 버그처럼 보이는 동작이 발생하지만 실제로는 버그가 아닙니다. MusicBee를 계속 선택한 두 번째 앱은 계속 지켜보고, 보낸 트랙이 중지되는 것을 보고, 노래가 끝났다고 결론 내리고, 자신의 대기열에서 다음 트랙을 유용하게 보냅니다. 따라서 음악이 갑자기 다른 앨범으로 점프하거나, 한 앱에서 다음을 누르면 다른 앱에서 노래가 시작됩니다. 두 번째 앱에서 재생을 중지하는 것만으로는 충분하지 않습니다. 선택된 상태로 계속 지켜보고 있기 때문입니다. 휴대폰 자체 스피커나 다른 장치로 다시 가리키거나 제대로 닫으십시오.
성숙도에 대한 참고 사항. 렌더러는 서버 역할보다 최신이며 실제 하드웨어에서 테스트가 덜 이루어졌습니다. 특정 컨트롤러 앱이 이상하게 작동한다면 보고하는 것이 유용합니다.
설정
| 컨트롤 | 기능 |
|---|---|
| UPnP 렌더러 : 다른 앱이 MusicBee로 재생할 수 있도록 허용 | 렌더러 역할의 마스터 스위치 — 다른 앱이 MusicBee로 재생할 수 있도록 합니다. MusicBee를 다시 시작한 후에 적용됩니다. |
| 렌더러 이름 | 이 PC가 렌더러로 광고하는 이름으로, 다른 앱의 장치 목록에 표시됩니다. |
Control point — 원격 스피커로 재생
Control point 역할이 켜져 있으면 (UPnP Control Point 스위치), 네트워크 UPnP/DLNA 렌더러가 MusicBee 내의 출력 장치로 나타납니다 — 사운드 카드를 선택하는 것과 같은 위치입니다. 하나를 선택하고, 재생을 누르면, MusicBee는 해당 원격 스피커 또는 스트리머로 오디오를 스트리밍하며, 사용자는 MusicBee 자체 인터페이스를 리모컨으로 계속 사용할 수 있습니다.
사용하는 이유. 하이파이 스트리머 또는 네트워크 스피커가 중간에 추가 소프트웨어 없이 또 다른 MusicBee 출력 장치처럼 작동하게 합니다.
언제 꺼야 할까요. 이 PC 자체 스피커를 통해서만 재생하는 경우 꺼두세요.
이 역할의 동작 방식은 두 가지에 의해 결정됩니다. 첫 번째는 무음 간격 없는 재생 (아래 참조)입니다. 두 번째는 각 장치에 맞게 스트림 조정입니다 — 플러그인이 다시 원격 장치로 오디오를 공급하기 때문에 서버를 제어하는 것과 동일한 장치 프로필 및 트랜스코딩 우선순위가 여기에도 적용됩니다. Control point는 또한 MusicBee의 HTTP 서버를 재사용하여 오디오를 출력하므로, Server 역할을 켜지 않더라도 서버의 포트와 방화벽 규칙이 여기서 중요합니다.
설정
| 제어 | 기능 |
|---|---|
| UPnP 제어 지점 : 네트워크 UPnP/DLNA 렌더러를 MusicBee 출력 장치로 추가 | Control point 역할의 마스터 스위치 — 네트워크 UPnP/DLNA 렌더러를 MusicBee 출력 장치로 추가합니다. |
무음 간격 없는 재생 — 두 가지 메커니즘
일부 음악은 라이브 앨범, 클래식 악장, DJ 세트, 콘셉트 레코드처럼 끊김 없이 재생되도록 의도되었습니다. 트랙 사이에 0.5초의 침묵이 있으면 망가집니다. 플러그인은 그 간격을 제거하는 두 가지 방법을 제공하며, 이들은 매우 다르게 작동합니다.
진정한 무음 간격 없는 재생 (NextURI). 렌더러가 이를 지원한다고 말하면, 플러그인은 현재 트랙이 끝나기 전에 다음 트랙을 장치에 미리 로드하여 장치가 침묵 없이 내부적으로 경계를 넘어가게 합니다 — 마치 CD 플레이어처럼요. 이것이 선호되는 메커니즘입니다: 각 트랙은 자체 메타데이터를 유지하고, 탐색 및 건너뛰기가 여전히 작동하며, 켤 필요가 없습니다 — 플러그인은 지원되는 장치에서 자동으로 사용합니다. 장치별로 끌 수 있거나 (구현에 버그가 있는 하드웨어의 경우) 목록이 비워질 때 플러그인이 대기열에 있는 트랙을 지우지 않도록 지시할 수 있습니다 (빈 대기열을 "정지"로 처리하는 장치에 대한 해결 방법).
연속 스트림. 오래된 대체 방식은 모든 것을 하나의 끝없는 스트림으로 연결합니다. 어떤 장치에서도 간격이 없음을 보장하지만, 실제 비용이 따릅니다: 렌더러는 전체 세션 동안 첫 번째 트랙의 정보를 표시하고, "다음/이전" 컨트롤이 작동을 멈추며, 모든 것이 하나의 스트림으로 융합되기 때문에 모든 것이 트랜스코딩되어야 합니다 (강제 네이티브는 적용될 수 없음). 화면 레이블은 장단점을 명확히 설명합니다.
어떤 것을 사용할 것인가. 진정한 무음 간격 없는 재생을 선호하십시오 — 자동이며 무손실입니다. NextURI를 수행할 수 없고 간격이 정말로 신경 쓰이는 장치에 대해서만 연속 스트림으로 대체하고, 트랙별 메타데이터와 전송 컨트롤을 잃는 것을 감수하십시오. 두 가지는 상호 배타적입니다: 연속 스트림을 켜면 NextURI가 비활성화되므로 실수로 둘 다 실행할 수 없습니다.

설정
| 컨트롤 | 기능 |
|---|---|
| 이 장치에 무음 간격 없는 재생 (NextURI) 활성화 | 이 장치에 대해 진정한 무음 간격 없는 재생 (NextURI)을 활성화합니다. 지원되는 장치에서는 켜져 있습니다; 장치의 구현에 버그가 있는 경우 끄십시오. |
| 큐가 비어 있을 때 빈 NextURI 보내지 않음 | 대기열이 비워질 때 플러그인이 빈 NextURI를 보내는 것을 중지합니다 — 이를 "정지"로 처리하는 장치(예: Denon)에 대한 해결 방법입니다. |
| 연속 스트림으로 출력 | 개별 트랙 대신 하나의 연속 연결된 스트림을 보냅니다. 어떤 장치에서도 간격을 제거하지만, 렌더러는 첫 번째 트랙 정보만 표시하고, 전송 컨트롤이 작동을 멈추며, 모든 것이 트랜스코딩됩니다. 켜져 있는 동안 NextURI를 비활성화합니다. |
네트워크에서 서로 찾기
어떤 역할이든 작동하기 전에, 장치들은 서로를 찾아야 합니다. MusicBee 서버는 네트워크 주소와 TCP 포트에 바인딩한 다음, SSDP를 통해 LAN에 자신을 알림으로써 장치들이 이를 검색할 수 있도록 합니다. 기본 포트는 9779입니다. 해당 포트가 이미 사용 중인 경우, 플러그인은 자동으로 근처의 사용 가능한 포트를 선택하며 장치들은 여전히 이를 검색할 수 있습니다 (설정에서 고정 포트가 필요한 경우에만 고정 포트를 설정하면 됩니다).
특이한 네트워킹 환경을 가진 기기에서는 두 가지 설정이 중요합니다:
- IP 주소 / 네트워크 인터페이스. "자동"은 모든 인터페이스에서 작동하며, 대부분의 PC에 적합합니다. Wi-Fi 및 이더넷 및 VPN과 같이 여러 네트워크가 동시에 연결된 기기에서는 오디오 장치가 실제로 연결된 인터페이스를 선택하여 MusicBee가 장치들이 도달할 수 있는 주소를 알리도록 하십시오.
- 포트. 다른 프로그램이 이미 기본 포트를 사용 중이거나 방화벽이 특정 번호를 요구하는 경우에만 변경하십시오.
장치가 "MusicBee를 볼 수 없는" 가장 큰 이유는 UPnP가 아니라 방화벽입니다. Windows 방화벽은 개인 및 공용 네트워크 프로필 모두에서 MusicBee 포트를 허용해야 하며, 방화벽 규칙을 변경한 후에는 일반적으로 MusicBee를 다시 시작해야 합니다. 플러그인 내부의 어떤 것을 변경하기 전에 이를 확인하십시오.
설정
| Control | What it does |
|---|---|
| IP 주소 | 서버가 바인딩할 네트워크 인터페이스; "자동"은 모든 인터페이스를 사용합니다. MusicBee를 다시 시작한 후에 적용됩니다. |
| 포트 | HTTP 서버가 수신 대기하는 TCP 포트 (기본값 9779). 포트가 사용 중인 경우, 플러그인이 자동으로 사용 가능한 포트를 선택합니다. 다시 시작한 후에 적용됩니다. |
진단
특정 장치가 오작동할 때, 플러그인의 동작은 기록하기 전까지는 보이지 않습니다. 이 도구들은 모든 역할을 수행하므로, 특정 기능 아래가 아닌 자체 디버그 탭에 있습니다.
- 디버그 정보 기록은 모든 요청, 장치의 사용자 에이전트, 각 코덱/트랜스코딩 결정을 보기로 열 수 있는 로그 파일에 기록합니다. 문제 해결 중(및 프로필에 대한 장치의 사용자 에이전트를 찾기 위해) 켜고, 다시 끄십시오. 로그는 빠르게 증가합니다. 시작할 때마다 지울 수도 있습니다.
- 네트워크 대역폭 제한됨 (재생)은 플러그인에게 트랜스코딩할 때마다 큰 무손실 출력 대신 장치 프로필의 손실 출력(MP3/AAC/Ogg)을 사용해야 한다고 알려줍니다. 느린 Wi-Fi 연결에 대해 켜십시오.
- 디버그 탭에는 개발을 위한 저수준 쿼리 도구도 포함되어 있습니다. 일반적인 사용에서는 무시할 수 있습니다(기타 설정 참조).
일상적인 진단 패턴은 다음과 같습니다: 로깅 활성화 → 문제 재현 → 로그 읽기 → 관련 장치 프로필 조정 → 로깅 비활성화.

설정
| 제어 | 기능 |
|---|---|
| 디버그 정보 로깅 | 모든 요청, 사용자 에이전트 및 코덱 결정을 파일에 기록합니다. 문제 해결 중에는 켜고, 그렇지 않으면 끕니다. |
| 플러그인 시작 시 로그 지우기 | 플러그인이 시작될 때마다 로그를 비웁니다. |
| 보기 | 현재 로그 파일을 엽니다. |
| 로그 지우기 | 지금 로그를 지웁니다. |
| 네트워크 대역폭이 제한됨 - 위의 장치 프로필에 설정된 손실 형식으로 출력 트랜스코딩 | 트랜스코딩이 발생할 때 장치 프로필의 손실 출력 형식을 사용합니다. 느린 연결용입니다. 프로필의 트랜스코딩 섹션에서 손실 형식을 선택해야 합니다. |
빠른 문제 해결
| 증상 | 먼저 시도할 사항 |
|---|---|
| 기기가 MusicBee를 전혀 인식하지 못함 | 개인 및 공용 네트워크 모두에 대해 Windows 방화벽을 확인하세요. 플러그인 포트(기본값 9779)에 연결할 수 있어야 합니다. 방화벽 변경 후 MusicBee를 다시 시작하세요. |
| 소스(팟캐스트, 라디오, 받은 편지함 등)가 트리에서 누락됨 | 아마도 숨겨져 있을 것입니다. 보기 탭에서 노드를 선택하고 표시 확인란이 켜져 있는지 확인하세요. |
| 노드가 잘못된 형태로 탐색됨 | 보기 탭에서 다른 검색 경로를 적용하세요. 예를 들어 재생 목록의 경우 플랫 트랙, 음악 필터의 경우 앨범 아티스트 → 앨범 → 트랙을 선택하세요. |
| 기기가 MusicBee를 인식하지만 어떤 트랙도 재생하지 않음 | 기기 프로필이 잘못되었거나, 강제 네이티브 스트림이 꺼져 있고 트랜스코딩이 실패하고 있을 수 있습니다. 해당 기기 프로필에서 강제 네이티브 스트림을 선택하고 다시 시도하세요. |
| 오디오가 잡음/백색 소음으로 재생됨 | 기기 프로필에서 PCM 스트림에 대해 강제 리틀 엔디안을 시도하세요. 도움이 되지 않으면 RAW PCM 사용 안 함을 시도하세요. |
| 트랙 간 간격 | NextURI를 지원하는 기기에서는 진정한 무간격 재생이 자동으로 실행됩니다. 여전히 간격이 들린다면, 기기가 이를 지원하지 않거나 구현에 버그가 있는 것입니다. 연속 스트림으로 출력으로 되돌리세요(무간격 보장되지만 트랙 정보 및 다음/이전 컨트롤이 작동하지 않음). |
| EQ / DSP / ReplayGain이 "아무것도 하지 않음" | 해당 기기에 대해 강제 네이티브 스트림이 켜져 있습니다. 이것이 우선합니다. 기기 프로필에서 강제 네이티브 스트림을 선택 해제하세요. 트랜스코딩 여부를 참조하세요. |
| 최신(2020년 이상) 기기가 MusicBee 컨트롤을 무시함 | MediaRenderer:2/3으로 광고하는 기기에 대한 수정 사항은 이 포크에 있습니다. 작동해야 합니다. 그렇지 않으면 디버그 로그를 캡처하고 문제를 제출하세요. |
| 플러그인은 로드되지만 구성이 열리지 않음 | MusicBee의 ErrorLog.dat를 확인하세요. 플러그인이 로드 중에 충돌했을 가능성이 높습니다. 플러그인의 설정 파일을 삭제하고 재구성하면 일반적으로 해결됩니다. |
| 영어 이외의 언어 | 플러그인은 22개 언어를 제공하며 MusicBee 자체 언어를 따릅니다. 이 도움말은 모든 언어로 제공됩니다. 다른 언어를 사용하려면 일반 탭에서 언어를 설정하세요. |
얼마나 테스트되었는가
예상치 못한 일이 없도록, 이 플러그인이 실제로 얼마나 사용되었는지 솔직하게 알려드립니다.
모든 것은 BubbleUPnP를 기준으로 테스트되었으며, foobar2000이 두 번째 참조로 사용되었습니다. 세 가지 역할 모두 거기서 작동하지만, BubbleUPnP는 플러그인이 검증된 유일한 상대이므로, 다른 제어 앱, 다른 플레이어, 그리고 이 두 가지를 넘어선 브라우징 장치는 테스트되지 않았으며 커뮤니티 테스트를 통해 이점을 얻을 수 있습니다.
실제로 가장 중요한 부분은 물리적 스트리머로 재생하는 것 (제어 지점 역할)입니다. BubbleUPnP에서는 진정한 무음 간격 트랙 전환이 확인되었지만, 실제 스트리머(WiiM, Sonos, Cambridge, Eversolo, Marantz, Denon)는 각각 트랙 간의 핸드오프를 약간 다르게 처리하며, 실제 하드웨어에서는 테스트되지 않았습니다. 이들 중 하나에서 무음 간격이 제대로 작동하지 않으면, 해당 장치에 대해 NextURI를 끄면 한 번에 한 트랙씩 재생하는 방식으로 돌아갑니다.
기타 설정
다음 몇 가지 컨트롤은 특정 기능에 속하지 않습니다.
| 컨트롤 | 기능 |
|---|---|
| 도움말 | 웹 브라우저에서 이 도움말 페이지를 MusicBee 언어로 엽니다(번역이 준비되지 않은 경우 영어로 대체). |
| 마지막 쿼리 읽기, 쿼리 실행, 첫 5개 태그 가져오기 | 디버그 탭의 하위 수준 쿼리 도구로, 개발용입니다. 일반적인 사용에서는 무시하십시오. |
| 저장 | 변경 사항을 저장합니다. 시작 시 바인딩되는 설정(포트, IP, 최대 연결, 렌더러)은 MusicBee를 다시 시작할 때까지 ⚠ 다시 시작 필요 배지를 표시합니다. |
| 취소 | 저장하지 않고 대화 상자를 닫습니다. |
크레딧
- 원본 플러그인은 Steven Mayall이 만들었습니다. 이 포크는 라이브러리 탐색 및 설정 대화 상자를 다시 작성하고 렌더러를 추가했지만, UPnP, HTTP 및 SSDP 코어는 여전히 그의 코드가 대부분입니다.
- BoringName의 비공개 소스 UPnP 2025 포크는 공개 포럼 스레드에서 버그 카탈로그를 제공했습니다.