본문으로 건너뛰기
피드

mahler.c — C99로 만든 작고 정확한 서양 음악 이론 라이브러리

open-source 약 2분
vote
0
댓글
북마크

음정, 코드, 스케일, 조표 함수를 제공하는 C99 음악 이론 라이브러리. 내부 메모리 할당 없이 이명동음 처리까지 정확하게 해내며 테스트 커버리지 100%를 달성함.

  • 1

    내부 메모리 할당 없는 순수 C99 라이브러리

  • 2

    이명동음 처리가 음악 이론적으로 정확함

  • 3

    이론적 키와 무제한 변화표 지원

  • 4

    테스트 커버리지 100%

  • C99로 작성된 서양 음악 이론 라이브러리 mahler.c가 공개됨. 음정(Interval), 코드(Chord), 스케일(Scale), 조표(Key Signature) 관련 함수를 제공하는 작고 깔끔한 라이브러리임

  • 내부 메모리 할당이 전혀 없고, 이론적인 키(예: Fb+)까지 지원하며, 임의의 변화표(예: G 20번째 샵)도 처리 가능함. 이거 뭔가 싶겠지만 음악 이론에서는 의미 있는 엣지 케이스임

  • 이명동음(enharmonic) 처리가 정확함 — 예를 들어 D의 단6도는 A#이 아니라 Bb로 나옴. 음악 전공자들이 환호할 포인트

  • 테스트 커버리지 100%. C99 라이브러리에서 100% 커버리지라니 꽤 인상적임

  • 라이브러리 이름은 작곡가 구스타프 말러에서 따왔다고 함. 제작자가 말러 팬인 듯 — 교향곡 5번, 대지의 노래 등을 추천하면서 README에 음악 감상 가이드까지 넣어둠

  • cmake로 빌드하고, src와 inc 폴더를 포함시키면 바로 사용 가능함

C로 음악 이론을 구현한다는 니치한 프로젝트지만, 메모리 할당 없는 설계와 100% 테스트 커버리지는 라이브러리 설계의 좋은 참고 사례임.

댓글

댓글

댓글을 불러오는 중...

open-source

NIPA, 260명 규모 오픈소스 컨트리뷰션 아카데미 시작

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 13주간의 프로젝트 활동을 시작했음. 국내 개발자들이 GitHub 기반 글로벌 협업 환경에서 코드, 문서, 버그 수정, 풀 리퀘스트를 직접 경험하게 하는 프로그램임.

open-source

그누보드7, 디딤과 손잡고 멀티클라우드 도입 문턱 낮춘다

에스아이알소프트가 클라우드 전문기업 디딤과 협력해 그누보드7 기반 웹서비스 구축·운영 환경을 넓히기로 했다. 커뮤니티, 쇼핑몰, 예약, 구독형 서비스 같은 실무 프로젝트에서 서버 구성과 운영 부담을 줄이는 게 핵심이다.

open-source

오픈소스 컨트리뷰션 아카데미 출범, 국내 개발자 260여 명 참여

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 13주간의 활동을 시작했다. 11개 프로젝트팀의 멘토와 멘티 260여 명이 글로벌 오픈소스 프로젝트 기여를 목표로 코드 개발, 문서화, 오류 수정 등을 진행한다.

open-source

NIPA, 국내 개발자 260명 규모 오픈소스 컨트리뷰션 아카데미 시작

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 국내 개발자의 글로벌 오픈소스 프로젝트 참여를 지원한다. 11개 프로젝트팀, 멘토·멘티 260여 명이 13주 동안 깃허브 기반 협업, 코드 리뷰, 문서화, 오류 수정 등을 실제로 경험한다.

open-source

Ghostty 엔진을 Emacs 안으로 끌고 온 터미널, Ghostel.el

Ghostel.el은 Ghostty의 libghostty-vt를 기반으로 Emacs 안에서 동작하는 터미널 에뮬레이터다. eat 스타일의 여러 입력 모드, 안정적인 복사 모드, line mode, 자동 password prompt 처리, compile-mode 유사 실행 버퍼, Kitty graphics 지원, 높은 throughput을 앞세워 eat/vterm과 차별화함.