1P by GN⁺ 10일전 | ★ favorite | 댓글 1개
  • Triforce는 Apple Silicon 노트북의 마이크로폰 배열을 위한 Minimum Variance Distortionless Response 적응형 빔포머를 구현
  • 지원되는 모델: 맥북 프로/에어 M1 이상의 모델들
  • 위의 Apple Silicon 노트북들은 삼각형 또는 직선으로 배열된 마이크로폰을 가짐
  • Apple은 사용자 공간에서 적응형 빔포머를 구현하여 배경 소음에서 원하는 신호를 분리하려고 함
  • 빔포밍이 없으면 배열은 너무 민감하고 전방향성이어서 유용하지 않음
  • macOS 외부에서 유용하게 사용하려면 빔포머가 필요함
  • 지원 모델 리스트
    • MacBook Pro 13" (M1/M2)
    • MacBook Air 13" (M1/M2)
    • MacBook Pro 14" (M1 Pro/Max, M2 Pro/Max)
    • MacBook Pro 16" (M1 Pro/Max, M2 Pro/Max)
    • MacBook Air 15" (M2)

Expectation management

  • DSP 관련 주제, 특히 광대역 적응형 빔포밍에 대한 접근 가능한 문헌을 찾는 것은 매우 어려움
  • 이 프로젝트는 1학년 공학 수학 수준의 지식과 웹페이지 및 PDF에서 얻은 원칙을 바탕으로 한 빔포머 시도임
  • 현재 Apple의 구현을 능가할 것으로 기대하지 말아야 함
  • 개선을 위한 패치는 언제나 환영함

알려진 제한 사항

  • nalgebra는 명시적인 SIMD 최적화를 수행하지 않으며, LLVM 자동 벡터화를 의존함
  • 행렬 수학 루틴의 성능과 효율성이 좋지 않음
  • 추가적인 계산 부담 때문에 광대역 분해를 수행하지 않음
  • SIMD/NEON 지원이 없으면 실시간 오디오 플러그인으로는 너무 느림
  • 출력은 모노만 지원함
  • 스테레오 출력을 가짜로 만들기 위한 추가 행렬 처리는 계산적으로 너무 부담스러움
Hacker News 의견
  • 20년 전, Toshiba Tablet PC 변환형 모델에 빔 형성 마이크 배열이 있었음. 소프트웨어로 녹음 방향을 지정할 수 있었음

    • 강의에서 유용했으며, 교수 방향으로 빔을 조정하여 녹음할 수 있었음
    • 이후로 이런 기능을 본 적이 없음
  • 미완성된 석사 논문은 스마트폰의 마이크를 활용하여 3D에서 스피커를 위치 및 분리하는 것에 관한 것이었음

    • 기기 간 샘플링 속도가 약간 다름
    • 소비자용 마이크의 스펙트럼 특성이 다양함
    • 소리는 모든 곳에서 반사되며, 특히 콘크리트 벽에서 두드러짐
    • 자동차는 쉽게 접근할 수 있는 무향실과 유사함
    • 가우시안의 푸리에 변환은 가우시안이며, 이는 주파수 추정에 유용함
  • Apple Silicon Mac에서 Linux를 실행하는 데 많은 작업이 필요함을 깨달음

    • 내장 마이크는 거의 사용되지 않음
    • Apple의 모든 것이 간단하지 않음
  • 저렴한 노트북 하드웨어에서도 소프트웨어 DSP 기술로 놀라운 결과를 얻을 수 있음

    • Asahi의 오디오 작업이 일반 노트북에도 적용 가능함
    • Bankstown 베이스 하모닉 합성 플러그인과 컨볼루션 EQ를 사용하여 인상적인 결과를 얻음
  • SIMD 최적화에 대해 faer를 고려할 수 있음

    • pulp 라이브러리 경험은 좋지 않았으나, 주로 선형 대수 연산 가속화가 목표라면 잘 될 것임
    • Rust SIMD에 관한 블로그 게시물과 팟캐스트가 예정되어 있음
  • Apple Silicon 노트북의 마이크 배열에 대한 질문

    • M2/M3 모델에 유사한 마이크 배열이 있는지 또는 테스트되지 않았는지 궁금함
    • Linux와 MacOS에서 지원되는지 여부에 대한 의문
  • Apple이 스피커와 마찬가지로 마이크에서도 너무 복잡하게 접근하는 것 같음

    • MBP 사용자로서 스피커 구현에 감명받았음
    • 드라이버 배열 외에는 지식이 없지만, 작은 스피커에서 성능을 끌어내기 위한 트릭을 사용하고 있는 것 같음
  • 최신 Asahi Linux 진행 보고서에 대한 일반적인 논의

    • PDM 마이크는 매우 전방향적이고 민감함
    • 빔 형성이 필요함
    • 스피커 출력에 대한 이전 작업이 마이크 입력에 재사용됨
    • PipeWire와 WirePlumber 덕분에 마이크용 DSP 체인을 연결하는 것이 간단했음
  • 다른 제조업체도 쉽게 마이크 배열을 구축할 수 있도록 구현되면 좋겠음