Hacker News

Show HN: High-quality duck audio synthesizer

Show HN: 고품질 오리 소리 합성기

오리 소리를 녹음 파일 재생 없이 실시간으로 합성하는 작은 오리 연못 시뮬레이터입니다. 연못가에서 듣는 위치에 따라 소리가 들려오며, 제작자는 오리의 울음 기관을 모델링했다고 설명합니다.

에디터 노트

이 프로젝트의 재미는 오리 소리를 재생하는 데 그치지 않고, 녹음 없이 합성한 소리와 연못 안의 위치를 연결한 데 있습니다. 제작자는 실제 녹음의 스펙트로그램을 기준으로 LLM을 반복 실행해 합성 매개변수를 조정했다고 밝혔습니다. 따라서 녹음이 전혀 제작 과정에 쓰이지 않았다는 뜻은 아니며, 실행 중 녹음 파일을 재생하지 않는다는 설명입니다. 댓글에서는 오리들이 사용자를 따라오거나 완두콩을 던진 뒤 마이크 근처에 머문다는 반응도 나왔습니다. 소리 합성의 충실도와 오리 행동 시뮬레이션은 별개의 부분이며, Merlin Bird ID가 소리를 오리로 인식하지 못했다는 댓글은 청취감과 분류 결과가 같지 않음을 보여줍니다.

AI 요약

오리 암컷 세 마리와 수컷 두 마리, 새끼 오리 두 무리가 움직이는 연못을 구현했습니다. 녹음된 소리를 재생하지 않고 꽥꽥거리는 소리를 그때그때 합성하며, 사용자가 연못가 어디에 서 있는지에 따라 소리가 들리는 방향도 달라집니다.

합성 방식과 제작 과정

제작자는 오리의 울음소리를 만드는 기관인 syrinx와 성도를 모델링했다고 설명합니다. 커뮤니티에서 저장소를 확인한 이용자는 Rust로 작성한 합성 코드를 WebAssembly로 컴파일한 것으로 보인다고 전했습니다. 제작자 설명에 따르면 모델을 만들 때는 실제 녹음의 스펙트로그램과 합성 결과를 맞추도록 LLM을 반복 실행해 매개변수를 조정했습니다. 실제 소리를 참고해 모델을 만들었지만, 시뮬레이터는 녹음 파일을 재생하지 않습니다.

Hacker News 반응

  • @Hugsbox — 정말 좋아합니다. 올려줘서 고맙습니다.
  • @RonanSoleste — 정말 좋습니다. 연못 주변을 걸어 다니고 싶은데 오리들이 자꾸 저를 따라오는 것 같습니다. 사소한 문제지만요.
    • @polloxtroy — 당신에게 완두콩이 있어서 그래요.
  • @MitPitt — 환경음을 만드는 프로그램이고 오리 울음소리는 녹음 파일인 줄 알았습니다. 오리마다 따로 조작할 수 있으면 좋겠습니다. 완두콩을 던지고 나면 오리들이 마이크 근처에 계속 머뭅니다.
    • @erikschoster — Rust에서 컴파일한 WebAssembly 모듈로 소리를 합성하는 것 같습니다. 녹음에서 모델을 만드는 과정을 설명한 파일도 저장소에 있습니다.
    • @celphase — 프로젝트는 LLM을 상당히 많이 사용해 만들었습니다. 합성 소리는 전부 실시간으로 모델링하며 녹음 파일은 사용하지 않습니다. 저장소에 기술 설명을 자세히 적었습니다.
    • @celphase — LLM을 반복 실행해 합성 결과의 스펙트로그램이 실제 녹음 샘플과 맞도록 합성 스택의 매개변수를 조정했습니다. 분류 모델이 실제 오리 샘플보다 합성 소리를 더 오리답다고 판정한 재미있는 일도 있었습니다.
  • @HoldOnAMinute — 제 iPhone의 Merlin Bird ID 앱은 이 소리를 진짜 오리로 착각하지 않았습니다.
  • @codeulike — 시뮬레이션이 마음에 듭니다. 물속에 머리를 넣고 꼬리를 드는 행동은 하지 않는 것 같습니다. 완두콩을 던지는 횟수도 120개로 제한하지 말아 주세요. 더 던지고 싶습니다.
  • @huck0 — 정말 좋습니다. 배경에 틀어 두면 마음이 편안해집니다.

원문: Hacker News / 번역·요약: Trawling