TSAC - Low Bitrate 오디오 압축 기술
(bellard.org)- FFMPEG/QEMU를 만든 Bellard의 새로운 프로젝트
- TSAC는 오디오 압축 유틸리티로, 44.1kHz에서 모노 5.5kb/s 또는 스테레오 7.5kb/s와 같은 매우 낮은 비트레이트에 도달하면서도 좋은 음질을 제공
- TSAC는 3.5분 길이의 스테레오 노래를 192KiB 크기의 파일로 압축할 수 있음
- 빠른 동작을 위해서는 Nvidia GPU가 필요하며, CPU만으로도 지원되지만 속도가 느림
기술 정보
- TSAC는 스테레오로 확장된 Descript Audio Codec의 수정 버전과 압축률을 더욱 높이기 위한 Transformer 모델을 기반으로 함. 두 모델 모두 파라미터당 8비트로 양자화됨
- Transformer 모델은 결정적이고 재현 가능한 방식으로 평가되므로, 결과는 정확한 GPU 또는 CPU 모델이나 구성된 스레드 수에 의존하지 않음. 즉 압축된 파일은 서로 다른 하드웨어나 소프트웨어 구성을 사용하여 압축 해제할 수 있음.
홈페이지보니 잠깐 LLM에 관심을 가지기도 했더군요;;;; 이런 사람이 이런 최신 기술을? 이런 생각이 들면서 역시 AI가 대세구나 싶었습니다.
Hacker News 의견
요약:
- Bellard의 새로운 오디오 코덱인 TSAC에 대한 긍정적 반응이 많음. 특히 낮은 비트레이트에서의 성능이 기존 코덱 대비 우수한 편임.
- TSAC의 압축 파일을 손상시키면 흥미로운 결과가 나옴. Fast 모드와 일반 모드의 사운드가 서로 다름.
- 실시간 처리를 위해서는 NVIDIA GPU가 필요하며, 모바일 기기에서의 디코딩은 부담이 될 수 있음. 저사양 임베디드 시스템에서의 활용은 제한적일 듯함.
- TSAC 디코더의 압축 파일 크기가 237MB나 되어 의아함을 자아냄. 오디오 샘플이 디코더에 포함되어 있는 것 아닌가 하는 의문이 제기됨.
-
Codec2
등 더 낮은 비트레이트를 지원하는 코덱과의 비교가 궁금함. - DAC(TSAC의 기반 코덱) 개발자로부터 TSAC에 대한 코멘트가 있었음. Transformer를 활용한 개선 방식이 흥미로움.
- TSAC의 동작 방식이 AI 음악 생성 모델들과 유사함. 일부는 토큰을 언어 모델에 입력하여 음악을 생성하고, 일부는 Diffusion 모델을 위한 연속적 표현을 제공하는 방식으로 토큰화를 대체함.
- TSAC의 결정적이고 재현 가능한 평가 방식에 대한 의문이 제기됨. Floating Point와 동시성을 활용하는지 궁금해 함. AMD GPU로의 포팅이 결정론적 동작에 영향을 미칠 수 있음.
- 대부분의 미디어 압축 기술은 저비트레이트 시나리오에 초점을 맞추고 있음. 고비트레이트에서의 개선 효과는 어느 정도일지 궁금해 함. 예를 들어 256kbps AAC 대비 AV1의 10Mbps 성능 차이 등.
예전에 적었던 괴물 같은 아저씨 Fabrice Bellard에 대한 소개를 업데이트 하면..
Fabrice Bellard
1989년에 LZEXE 개발
1996년에 Harissa - Java Virtual Machine 이자 Java to C 코드 컴파일러
1997년에 2진법 표기시 파이(π)의 특정 자리수 값을 알아내는 공식 발표.
-> 앞자리를 전혀 계산하지 않는 방법으로 계산. 1조번째 자리는 "1"
https://en.wikipedia.org/wiki/Bellard%27s_formula
1998년에 TinyGL 발표 - 작고 임베드가능한 OpenGL 구현체
2000년에 FFMpeg 발표. 현재 우리가 보고있는 대부분의 동영상 플레이어가 사용중.
2000년에 가장 큰 소수를 찾는 448바이트 C코드로 IOCCC 우승. 이 소수는 2016년까지 발견된 가장 큰 소수였음.
2001년에 Tiny C Compiler 발표 - 초경량 C 컴파일러
2002년에 QEmacs 발표 - 초경량 Emacs 클론. HTML/XML/CSS2 WYSIWYG 렌더링 및 수정가능 (자체 브라우저엔진 내장)
2003년에 QEMU 발표 - 하드웨어 가상화 기능을 갖춘 CPU 에뮬레이터
2004년에 TinyCC Boot Loader 발표 - 리눅스 커널을 직접 컴파일해서 부팅이 가능한 부트로더
2005년에 DVB-T 시그널 생성기 발표 : 비싼송출기 대신 데스크탑에서 디지털티비 송출이 가능. 이건 소스코드 미공개
2009년에 π 소수점 아래 2조 7천억자리 까지 계산해서 세계 신기록세움. 자기 데스크탑으로 131동안 계산했다고.
-> 큰 숫자에 관심보다는 그냥 컴퓨터 프로그래밍 도전을 위해서 였다고.
2011년에 JSLinux 발표. 웹브라우저에서 실행되는 Linux 발표.
2019년에 QuickJS JavaScript Engine 작고 빠르고 임베드 가능한 자바스크립트 엔진 발표
2022년에는 gpt2tc(GPT-2)를 이용해서 만든 SaaS인 TextSynth 공개
그외에도 JPG보다 압축률좋은 HEVC 기반 이미지 포맷 BPG (자바스크립트 디코더 제공해서 아무 브라우저에서나 사용가능)
4G LTE/5G NR 베이스 스테이션을 PC기반으로 저렴하게 구현했고, 이건 자신의 회사인 Amarisoft 를 통해서 상품화
하는일마다 이게 어찌 한사람이 하는 일인지 놀라울뿐인 사람.
언젠가 HN에서 이 사람이 만든 코드에 대한 포스팅에서...
'Bellard는 여기에 (HN) 포스팅하지 않아?' 라고 누군가 물었는데, '저렇게 productive한 사람이 여기와서 글쓰고 있겠냐' 이런 답글들이... ㅎㅎ
정말 괴물이네요....