리눅스용 이더넷 오디오 인터페이스 ETH-68, 왕복 지연 3.620ms로 RME 카드와 맞먹음
- ETH-68은 리눅스용 이더넷 오디오 인터페이스로, 48kHz와 64샘플 버퍼 기준 왕복 지연이 3.620ms임
- jack_delay 측정에서 48kHz는 RME HDSPe AIO Pro PCIe와 같은 수준이고, 96kHz에서는 1.814ms로 RME보다 0.33ms 짧음
- STM32H7 마이크로컨트롤러가 JACK netone 마스터 역할을 흉내 내는 베어메탈 펌웨어로 동작하며, PipeWire에서는 pw-eth68 클라이언트로 직접 연결됨
- 여러 대를 HF 클록 데이지 체인과 브로드캐스트 UDP 동기 명령으로 묶으면 왕복 지연은 그대로이고 채널 수만 늘어나며, JACK에서는 eth68proxy가 데이터를 병합하고 분할함
- 입력 6채널과 출력 8채널의 밸런스 라인 레벨 TRS 단자, 48kHz와 96kHz 샘플레이트, Burr-Brown PCM3168A 코덱, DIN MIDI를 갖춘 1U 19인치 랙 장비임
Hacker News opinions
1기가 넣으면 지연 줄지 궁금했는데, 답글 보니 기가비트는 처리량만 늘고 지연은 거의 안 줄더라. 10G나 25G는 가야 체감된다는 얘기임.
Dante 기본 레이턴시 보정이 1ms인데, 3.6ms면 좋긴 해도 극저지연이라고 하긴 애매함.
very low latency는 보통 1ms 이하를 말하는 거라 3.6ms는 좋은 정도지 특별하진 않음. 왕복 3.6ms면 편도는 1.8ms 정도인데 그래도 그 정도임.
RME AIO Pro가 리눅스에서 제일 좋은 카드로 꼽히는데, 48kHz는 맞먹고 96kHz는 0.33ms 앞서니까 무시하기 힘든 수치임.
기본 송신 주소가 12.12.12.10:3000이라 좀 당황했는데, 제작자 말로는 JACK netone 기본 포트가 3000이라 그렇게 된 거라고 함.
PCM3168A는 솔직히 구형 코덱인데, TI 쪽 ADC가 SNR 20dB 가까이 더 좋다고 봄. 2세대 나오면 코덱 바꿔도 될 듯.
20년 가까이 양산된 코덱이라 채널당 단가가 싸고, Saffire Pro 40이랑 비슷한 성능 나온다고 하니 가성비는 확실히 있어 보임.
수신 쪽은 송신 클록을 어떻게 맞추는지 궁금함. BNC는 유닛끼리 묶을 때만 쓰는 거 아닌지, 장기 드리프트는 없는 건지 모르겠음.
제작자 답변 보니 클록은 ETH-68 하나뿐이고, 버퍼가 도착하는 순간이 그래프 실행 타이밍이라 리눅스 쪽에 따로 클록이 필요 없다고 함.
별도 LAN이 필요한 거면 결국 CAT6로 오디오 보내는 거 아님? PipeWire over ethernet이랑 뭐가 다른지 이해가 잘 안 됨.
펌웨어 오픈소스인지 찾아봤는데 안 보이더라. 구입처도 없고 빌드 정보도 없어서 아쉬움.
CD 마스터링 하는 사람이 아직 많은데 44.1kHz를 왜 뺐는지 궁금함. 리샘플링으로 충분한 거 아닌지도 모르겠음.
제작자가 다음 리비전에 44.1/88.2용 오실레이터 추가한다고 답함. 리샘플링이 충분한지는 본인도 확신 없어 보였음.