Files
Dansori_EQ/README.md
T
eKeerar 117afeec05 Clean up repo: prune non-dev assets, redirect build output, add .gitignore
- Remove old/unneeded material: mockups/, docs/Image (ChatGPT imgs·GIFs),
  character art docs (IMAGE_GEN_*, *.md.old, BRAND_CHARACTERS, CHARACTER_PROFILES),
  asset backups (Characters_OriginalBackup, SourceCandidates),
  unused puppet variants (LeeSoriExtended/Regenerated/Upper/V2/V3), tools/ art scripts
- Keep active assets only: LeeSori + LeeSoriDance puppets, Live2DPreview, Live2DHost, mascot PNGs
- Fix dangling references in kept docs (README, CLAUDE, ARCHITECTURE, TYPOGRAPHY, CHARACTER_UI_INTEGRATION)
- Refresh HANDOFF.md to live state (LeeSoriDance puppet, D:\Project paths)
- Redirect all build output to Build/ via Directory.Build.props (bin+obj)
- Add .gitignore and untrack previously committed bin/obj artifacts

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 12:39:09 +09:00

4.3 KiB

Dansori EQ

말로 빚는 소리. 이어폰·헤드폰에 딱 맞는 EQ를, 자연어로 만드는 Windows 앱. Equalizer APO 위에서 동작하며, AI가 "보컬 가까이 · 저음 단단히" 같은 문장을 파라메트릭 EQ로 바꿔 즉시 적용합니다.

코드 식별자: DansoriEQ · 표시명: Dansori EQ


이게 뭔가요

Luxsin X8의 "AI EQ" 경험을 소프트웨어로 재현한 도구입니다. DAC/앰프를 새로 사지 않고, PC의 Equalizer APO 를 통해 소리를 보정합니다.

  • AutoEQ 프로파일을 베이스로 로드하고, 그 위에 AI가 취향(델타) 을 얹습니다.
  • 클라우드 AI(Claude/ChatGPT/Gemini)뿐 아니라 로컬 AI(Ollama, 오프라인) 도 선택 가능.
  • 만든 EQ는 .tweq 파일로 공유하고, 받은 사람은 불러와서 재편집할 수 있습니다.

DAC/앰프는 EQ 대상이 아닙니다(주파수 응답이 평탄). 유효 변수는 트랜스듀서(이어폰/헤드폰) + 귀 + 취향 입니다.

주요 기능

  • 🎙 자연어 AI EQ — "치찰음 줄여줘", "따뜻하게" → 파라메트릭 EQ 생성·적용·설명
  • 📊 인터랙티브 그래프 — 드래그(Fc/Gain)·휠(Q)·더블클릭 추가·우클릭 삭제, 가변 밴드(최대 40)
  • 🎚 이펙트 — 크로스피드·좌우 밸런스·베이스 부스트
  • 📚 프리셋 라이브러리 + 공유(.tweq) — 저장·전환·내보내기/가져오기(대상 기기·AI 히스토리 포함)
  • 🔀 앱/장치 자동 전환 — 게임 실행 시 게이밍 프리셋 등
  • 핫키 — Ctrl+Alt+B(바이패스), Ctrl+Alt+[ / ](프리셋 전환)
  • 🔊 볼륨/출력장치 제어 — 그래프 옆에서 Windows 볼륨과 동기화, 출력장치 전환
  • 🧩 AI 관리 — 로컬 런타임(Ollama) 자동설치·모델 다운로드·계정 모델 선택·저장공간 안내
  • 온보딩 도움말 — 오른쪽 슬라이드 패널 + API 키 발급 공식 링크

동작 원리

기기 선택 → 베이스 EQ 로드
   → 자연어 입력 → AI(클라우드/로컬) → EqDelta(JSON)
   → 그래프/이펙트 반영 → APO config 렌더 → Equalizer APO 라이브 리로드

기술 스택

.NET 8 · WPF · (WPF-UI Fluent 예정) · 커스텀 그래프 컨트롤 · SQLite(Microsoft.Data.Sqlite) · NAudio(볼륨/장치) · DPAPI(키 암호화) · Anthropic/OpenAI/Gemini/Ollama REST

프로젝트 구조

DansoriEQ/
├─ src/DansoriEQ.Core/     # 순수 로직(EQ 수학·모델·APO 렌더·AI 스키마·프리셋·스위칭)
├─ src/DansoriEQ.App/      # WPF 앱(창·컨트롤·서비스: Apo/Ai/Audio/Switching/Profiles …)
├─ tests/DansoriEQ.Core.Tests/  # 단위테스트(Filter 수학·파서·직렬화·이펙트 렌더)
└─ docs/                   # SCENARIO / ARCHITECTURE / DEV_PLAN / HANDOFF / TYPOGRAPHY / PREBUILT

빌드 & 실행 (개발 세션)

dotnet new sln -n DansoriEQ
dotnet sln add src/DansoriEQ.Core/DansoriEQ.Core.csproj
dotnet sln add src/DansoriEQ.App/DansoriEQ.App.csproj
dotnet sln add tests/DansoriEQ.Core.Tests/DansoriEQ.Core.Tests.csproj
dotnet restore
dotnet build
dotnet test
dotnet run --project src/DansoriEQ.App
  • APO 미설치 PC에서도 미리보기 모드로 실행됩니다(생성된 config를 %LOCALAPPDATA%\DansoriEQ\preview_apo_config.txt에 기록).
  • 실제 적용하려면 Equalizer APO 설치 후 config.txtInclude: ai_eq.txt 연결(앱의 최초 설정에서 안내).

상태

설계 + 선(先)생성 코드 단계. 대부분의 화면·서비스·로직이 작성되어 있으나 아직 컴파일 검증 전입니다. 남은 작업(실환경 연동·MVVM 바인딩·Fluent 테마·마감)은 docs/DEV_PLAN.md, 선생성 목록은 docs/PREBUILT.md 참조.

문서

  • docs/SCENARIO.md — 요구사항/핵심 사용자 여정
  • docs/ARCHITECTURE.md — 스택·데이터 흐름·DB/AI/APO/공유 스키마
  • docs/DEV_PLAN.md — 마일스톤·잔여 작업
  • docs/TYPOGRAPHY.md — 타이포그래피 규칙(가독성 우선)
  • docs/PREBUILT.md — 선생성 코드 목록·교체 지점

라이선스

미정(TBD). AutoEQ 등 측정 데이터는 각 출처 라이선스를 따르며, 배포 불가 소스는 배포 빌드에서 제외합니다(--exclude-restricted).