๐ Quick Start ยท User Guide ยท FAQ ยท ๐ฌ Contact
- Latest (์ต์ ): v4.0.8 ๋ค์ด๋ก๋ โ ํฌ๋ก์ค ํ๋ซํผ / Cross-platform (Windows stable, macOS beta, Linux experimental)
์ฐธ๊ณ : Windows๋ ์์ (Stable), macOS๋ ๋ฒ ํ, Linux๋ ์คํ์ ์ ๋๋ค. macOS/Linux ๋น๋๋ ์ค๊ธฐ๊ธฐ ํ ์คํธ๊ฐ ์ ํ์ ์ ๋๋ค. Note: Windows is stable, macOS is beta, Linux is experimental. macOS/Linux builds have limited real-hardware testing.
DirectPipe is a modern lightweight VST host for applying studio-quality effects to your microphone.
์คํธ๋ฆฌ๋จธ, ํ์บ์คํฐ, ๊ฒ์ด๋จธ, ๋ณด์ด์ค์ฑ ์ฌ์ฉ์๋ฅผ ์ํ ํฌ๋ก์ค ํ๋ซํผ ์ค์๊ฐ ๋ง์ดํฌ ํ๋ก์ธ์.
USB ๋ง์ดํฌ์ ๋ ธ์ด์ฆ ์ ๊ฑฐ, EQ, ์ปดํ๋ ์ ๋ฑ VST ํ๋ฌ๊ทธ์ธ์ ๊ฑธ์ด ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ๊ณ , Discord ยท Zoom ยท OBS ๋ฑ์ ๊นจ๋ํ ์์ฑ์ ๋ฐ๋ก ์ ๋ฌํ๋ค. VST ํ๋ฌ๊ทธ์ธ์ ๋ชจ๋ฅด์ ๋ [Auto] ๋ฒํผ ํ๋๋ก AI ๋ ธ์ด์ฆ ์ ๊ฑฐ + ์๋ ๋ณผ๋ฅจ ์กฐ์ + ์ ์ฃผํ ํํฐ๋ฅผ ํ ๋ฒ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ฐฉ์ก ์ค์๋ Stream Deck ๋ฒํผ ํ๋๋ก ์ดํํธ ์ ํ, ๋ณผ๋ฅจ ์กฐ์ , ๋ฎคํธ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ๊ฒ์ ์ค์๋ ๋จ์ถํค๋ก, MIDI ์ปจํธ๋กค๋ฌ๋ก๋ ์กฐ์ํ ์ ์๋ค. DAW ์์ด๋ ์ ๋ฌธ์ ์ธ ๋ง์ดํฌ ์ธํ ์ ๊ฐํธํ๊ฒ ๊ตฌ์ฑํ๊ณ , ์ํฉ๋ณ ํ๋ฆฌ์ (A~E)์ผ๋ก ๋น ๋ฅด๊ฒ ์ ํํ ์ ์๋ค.
Cross-platform real-time microphone processor for streamers, podcasters, gamers, and voice chat users.
Apply VST plugins (noise removal, EQ, compressor, etc.) to your USB mic and deliver clean audio directly to Discord, Zoom, or OBS. Don't know VST plugins? Just click the [Auto] button โ AI noise removal + auto volume leveling + low-cut filter can be added in one step. Switch effects, adjust volume, and mute with a single Stream Deck button while live โ or use hotkeys during gameplay, MIDI controllers for hands-on mixing. Set up a professional mic chain without a DAW, and switch quickly between situation presets (A-E).
Platform support: Windows (WASAPI/ASIO), macOS (CoreAudio), Linux (ALSA/JACK). Windows๋ ์์ ๋น๋, macOS๋ ๋ฒ ํ, Linux๋ ์คํ์ ์ง์. Windows is the stable release. macOS is in beta. Linux support is experimental.
DirectPipe๋ ๋๊ตฌ๋ฅผ ์ํ ๊ฑด๊ฐ์? / Who is DirectPipe for?
VST ํ๋ฌ๊ทธ์ธ์ ๋ชฐ๋ผ๋ ๊ด์ฐฎ์ต๋๋ค. [Auto] ๋ฒํผ ํ๋๋ก ๊ธฐ๋ณธ์ ์ธ ๋ง์ดํฌ ๋ณด์ ์ด ์๋ฃ๋ฉ๋๋ค. ๋ ์ธ๋ฐํ ์กฐ์ ์ VST ํ๋ฌ๊ทธ์ธ์ผ๋ก. (Auto ์ค๊ณ ์์น) Don't know what VST plugins are? No problem. One click on [Auto] handles the essential mic correction. Fine-tune further with VST plugins. (Auto design principles)
๐ ์คํธ๋ฆฌ๋จธ / Streamers OBS๋ก ๋ฐฉ์กํ๋ฉด์ Stream Deck์ผ๋ก ์ค์๊ฐ ์ดํํธ ์ ์ด. [Auto] ํ ๋ฒ์ด๋ฉด ๋ ธ์ด์ฆ ์ ๊ฑฐ + ๋ณผ๋ฅจ ์์ ํ ์๋ฃ. Receiver VST2๋ก ๊ฐ์ ์ผ์ด๋ธ ์์ด OBS ์ง์ ์ฐ๊ฒฐ. Control effects live with Stream Deck while streaming to OBS. One click on [Auto] = noise removal + volume leveling done. Direct OBS connection via Receiver VST2, no virtual cable needed.
๐ง ํ์บ์คํฐ / Podcasters [Auto]๋ก ๋ ธ์ด์ฆ ์ ๊ฑฐ + ๋ณผ๋ฅจ ์์ ํ๋ฅผ ํ ๋ฒ์ ์ค์ , EQ/์ปดํ๋ ์๋ VST๋ก ์ถ๊ฐ. ๋ น์ ๊ธฐ๋ฅ ๋ด์ฅ. [Auto] sets up noise removal + volume leveling in one click, add EQ/compressor as VST plugins. Built-in recording.
๐ฎ ๊ฒ์ด๋จธ / Gamers ๋จ์ถํค(Ctrl+Shift)๋ก ๊ฒ์ ์ค ๋ฎคํธ/ํ๋ฆฌ์ ์ ํ. [Auto] ์ผ๋๋ฉด ํค๋ณด๋ยทํฌ ์๋ฆฌ ์๋ ์ ๊ฑฐ. ์์คํ ํธ๋ ์ด ์์ฃผ, ๋ฆฌ์์ค ์ต์ ์ฌ์ฉ. Mute/preset switch with hotkeys (Ctrl+Shift) during gameplay. Leave [Auto] on and keyboard/fan noise is removed automatically. Runs in system tray, minimal resource usage.
๐ฌ ๋ณด์ด์ค์ฑ / Voice Chat (Discord, Zoom, Google Meet) [Auto] ํด๋ฆญ ํ ๋ฒ์ผ๋ก ๊นจ๋ํ ์์ฑ ์์ฑ. ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ๋ก Discord/Zoom์ ์ ๋ฌ. Windows: VB-Cable, macOS: BlackHole/Loopback, Linux: PipeWire/JACK. One click on [Auto] = clean voice ready. Route to Discord/Zoom via virtual audio cable. Windows: VB-Cable, macOS: BlackHole/Loopback, Linux: PipeWire/JACK.
์๋ 3๋จ๊ณ๋ง ๋ฐ๋ผํ๋ฉด ๋ฐ๋ก ๊นจ๋ํ ๋ง์ดํฌ ์์ง์ ๋ค์ ์ ์์ต๋๋ค. Follow these 3 steps to hear cleaner audio from your mic right away.
- ๋ค์ด๋ก๋ & ์คํ โ ์ต์ ๋ฒ์ ๋ค์ด๋ก๋ โ ์์ถ ํด์ โ ์คํ / Download latest โ Extract โ Run
- ๋ง์ดํฌ ์ ํ โ Audio ํญ โ Input์์ USB ๋ง์ดํฌ ์ ํ / Audio tab โ Select your USB mic as Input
- [Auto] ํด๋ฆญ โ ๊ธฐ๋ณธ์ ์ธ ๋ง์ดํฌ ๋ณด์ (๋ ธ์ด์ฆ ์ ๊ฑฐ + ์๋ ๋ณผ๋ฅจ + ์ ์ฃผํ ํํฐ)์ ํ ๋ฒ์ ์ถ๊ฐ / Click [Auto] โ Add essential mic correction (noise removal + auto volume + low-cut filter) in one step
- ๋! ๋ ์์ธํ ์ค์ ์ Quick Start ๊ฐ์ด๋ ์ฐธ์กฐ / Done! For detailed setup, see the Quick Start guide
DAW ์์ด, ์ค์น ์์ด, ๋ง์ดํฌ์ VST๋ฅผ ๊ฑฐ๋ ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ๋ฐฉ๋ฒ โ The lightest way to apply VST effects to your mic, without a DAW or installer.
DirectPipe๋ ๋จ์ํ VST ํธ์คํธ๋ฅผ ๋์ด, ๋ผ์ด๋ธ ๋ง์ดํฌ ๋ผ์ฐํ + ์ธ๋ถ ์ ์ด ํ๋ซํผ์ผ๋ก ์ฑ์ฅํ์ต๋๋ค. ํซํค, MIDI, Stream Deck, HTTP, WebSocket 5๊ฐ์ง ์ธ๋ถ ์ ์ด๋ฅผ ํตํฉ ์ง์ํฉ๋๋ค. DirectPipe has grown beyond a simple VST host into a live microphone routing + external control platform. It integrates 5 control methods: hotkeys, MIDI, Stream Deck, HTTP, and WebSocket.
- ์ค์น ๋ถํ์ โ Windows: ๋จ์ผ .exe, macOS: .app ๋ฒ๋ค, Linux: ๋จ์ผ ๋ฐ์ด๋๋ฆฌ. ์ธ์คํจ๋ฌ ์์ โ Windows: single .exe, macOS: .app bundle, Linux: single binary. No installer needed
- 5์ข ์ธ๋ถ ์ ์ด โ ํซํค ยท MIDI ยท Stream Deck ยท HTTP ยท WebSocket์ ํ ํ๋ก๊ทธ๋จ์์ โ All 5 control methods in one app
- ๋น ๋ฅธ ํ๋ฆฌ์ ์ ํ โ A-E ์ฌ๋กฏ, ์ด๋ฆ ์ง์ , ๊ฐ์ ์ฒด์ธ์ ์ฆ์, ๋ค๋ฅธ ์ฒด์ธ์ ๋น๋๊ธฐ ๋ก๋ฉ์ผ๋ก ์งง์ ๊ฐญ ์ต์ํ โ Named preset slots (A-E) with fast switching: instant for same-chain changes, async loading for different chains
- VST ์ถ๋ ฅ (DirectPipe Receiver, VST2/VST3/AU) โ ๊ฐ์ ์ผ์ด๋ธ ์์ด OBS/DAW ์ง์ ์ฐ๊ฒฐ โ Direct OBS/DAW connection without virtual cables
- ์คํ์์ค โ GPL v3, ๋๊ตฌ๋ ๊ธฐ์ฌ ๊ฐ๋ฅ โ Open source, community-driven
๋ค๋ฅธ ์ฌ๋์ ๋ง์ดํฌ ์ธํ ์ ๋์ ํด์ฃผ๋ ๋ถ๋ค์ ์ํ ์ํฌํ๋ก์ฐ โ Workflow for people who set up microphones for others
- ํฌํฐ๋ธ ์คํ โ USB์ DirectPipe๋ฅผ ๋ฃ๊ณ ์๋๋ฐฉ ์ปดํจํฐ์์ ๋ฐ๋ก ์คํ (
portable.flag๋ก ์ค์ ๋ USB์ ์ ์ฅ) - ํ๋ฆฌ์
๋ด๋ณด๋ด๊ธฐ โ ์ต์ ํ๋ VST ์ฒด์ธ์
.dppresetํ์ผ๋ก ๋ด๋ณด๋ด์ ์ ๋ฌ - ํ๋ฆฌ์ ๊ฐ์ ธ์ค๊ธฐ โ ์๋๋ฐฉ์ด ์ฌ๋กฏ ์ฐํด๋ฆญ โ Import๋ก ์ฆ์ ์ ์ฉ
- Full Backup โ Settings > Maintenance์์ ์ค์ + ๋ชจ๋ ์ฌ๋กฏ์
.dpfullbackupํ๋๋ก ๋ฐฑ์ /๋ณต์. ๊ฐ์ OS๋ผ๋ฆฌ๋ง ๋ณต์ ๊ฐ๋ฅ (๋ฐฑ์ ํ์ผ์ ํ๋ซํผ ์ ๋ณด ํฌํจ, ๋ค๋ฅธ OS์์ ๋ณต์ ์ ์ฐจ๋จ) / Same-OS restore only (backup includes platform info, cross-OS restore is blocked)
์ธํ
๋์ฐ๋ฏธ PC ์คํธ๋ฆฌ๋จธ PC
DirectPipe โ ์ฌ๋กฏ A ์ธํ
์๋ฃ DirectPipe ์ค์น
โ ์ฐํด๋ฆญ "Export A" โ game.dppreset โ ์ฐํด๋ฆญ "Import to A" โ game.dppreset
โ ํ์ผ ์ ๋ฌ (๋ฉ์ ์ , USB ๋ฑ) โ ์ฆ์ ์ ์ฉ!
|
|
๐ Stream Deck Plugin โ Elgato Marketplace์์ ๋ฌด๋ฃ ์ค์น Bypass ยท Volume (SD+ ๋ค์ด์ผ) ยท Preset ยท Monitor ยท Panic Mute ยท Recording ยท VST Output ยท Performance Monitor ยท Plugin Parameter (SD+) ยท Preset Bar (SD+) โ 10๊ฐ์ง ์ก์ ์ผ๋ก Stream Deck์์ DirectPipe๋ฅผ ์์ ์ ์ด Free on Elgato Marketplace โ 10 actions to fully control DirectPipe from your Stream Deck |
Mic โโ WASAPI / ASIO / CoreAudio / ALSA โโ Input Gain โโ VST2/VST3 Plugin Chain โโ Global Safety Guard โโ Safety Volume โโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
Main Output Monitor Output VST Output
(Audio tab Output device) (Output tab, separate (DirectPipe Receiver)
์: Virtual Cable โ Discord/Zoom ๋ณ๋ ์ฅ์น โ Headphones) โ Shared Memory
โ โ
AudioRecorder OBS / DAW [DirectPipe Receiver]
โ WAV File (Output tab)
External Control:
Hotkeys / MIDI CC / Stream Deck / HTTP (:8766) / WebSocket (:8765)
โ ActionDispatcher โ Bypass, Volume, Preset, Mute, Recording, VST Output ...
- VST2 + VST3 ํ๋ฌ๊ทธ์ธ ๋ก๋ ๋ฐ ์ธ๋ผ์ธ ์ค์๊ฐ ์ฒ๋ฆฌ โ Load and process plugins inline in real time
- ๋๋๊ทธ ์ค ๋๋กญ ํ๋ฌ๊ทธ์ธ ์ฒด์ธ ํธ์ง โ Drag & drop to reorder plugins, toggle bypass, open native plugin GUIs
- Out-of-process ์ค์บ๋ โ ๋ณ๋ ํ๋ก์ธ์ค์์ ์์ ์ค์บ. ํฌ๋์ ์ ์๋ ์ฌ์๋ (10ํ), ๋ธ๋๋ฆฌ์คํธ ์๋ ๋ฑ๋ก โ Scans in a separate process; auto-retry up to 10 times, blacklists crashed plugins
- ํ๋ฌ๊ทธ์ธ ๊ฒ์/์ ๋ ฌ โ ์ค์บ๋์์ ์ด๋ฆ/๋ฒค๋/ํฌ๋งท์ผ๋ก ์ค์๊ฐ ๊ฒ์ ๋ฐ ์ปฌ๋ผ ์ ๋ ฌ โ Real-time search and column sort by name, vendor, or format
- Quick Preset Slots (A-E) โ 5๊ฐ ์ฒด์ธ ์ ์ฉ ํ๋ฆฌ์ . ์ด๋ฆ ์ง์ ๊ฐ๋ฅ (A|๊ฒ์, B|ํ ํฌ ๋ฑ). ๊ฐ์ ์ฒด์ธ์ด๋ฉด ์ฆ์ ์ ํ, ๋ค๋ฅธ ์ฒด์ธ์ด๋ฉด ๋น๋๊ธฐ ๋ก๋ฉ (Keep-Old-Until-Ready: ๋ก๋ฉ ์ค์๋ ์ด์ ์ฒด์ธ์ด ์ค๋์ค ์ฒ๋ฆฌ๋ฅผ ์ ์งํ์ฌ ๋๊น ์์ด ์ ํ). ์ฌ๋กฏ ๋ด๋ณด๋ด๊ธฐ/๊ฐ์ ธ์ค๊ธฐ, ์ฐํด๋ฆญ์ผ๋ก ๋ณต์ฌ/์ญ์ /์ด๋ฆ๋ณ๊ฒฝ โ 5 chain-only presets with custom naming (A|Game, B|Talk). Instant or async switching (Keep-Old-Until-Ready). Right-click to rename, copy, export/import, or delete slots
- WASAPI Shared + ASIO (Windows), CoreAudio (macOS), ALSA/JACK (Linux) โ ๋ฐํ์ ์ ํ ๊ฐ๋ฅ โ Runtime driver switching
- ๋น๋ ์ ๋ง์ดํฌ ์ ๊ทผ โ Non-exclusive mic access, other apps can use the mic simultaneously
- ์ฅ์น ์๋ ์ฌ์ฐ๊ฒฐ โ USB ์ฅ์น ๋ถ๋ฆฌ ์ ์๋ฆผ, ์ํ๋ ์ฅ์น๊ฐ ๋ค์ ์ฐ๊ฒฐ๋ ๋๊น์ง ๋ฌด๊ธฐํ ๋๊ธฐ ํ ์๋ ๋ณต๊ตฌ (SR/BS/์ฑ๋ ์ค์ ๋ณด์กด, ๋ค๋ฅธ ์ฅ์น๋ก ํด๋ฐฑํ์ง ์์). ๋ชจ๋ํฐ ์ฅ์น๋ ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ฐ๊ฒฐ โ Auto-reconnection on USB disconnect: waits indefinitely for desired device (no fallback), auto-recovers preserving SR/BS/channel settings. Monitor device reconnects independently
- 3๊ฐ์ง ์ถ๋ ฅ ๊ฒฝ๋ก โ Main Output (Audio ํญ ์ฅ์น) + Monitor Output (Output ํญ, ๋ณ๋ ์ค๋์ค ์ฅ์น๋ก ํค๋ํฐ ๋ชจ๋ํฐ๋ง) + VST Output (DirectPipe Receiver โ OBS/DAW) โ Three output paths: main, monitor headphones (via separate audio device), VST output to OBS/DAW
- Mono / Stereo ์ฑ๋ ๋ชจ๋ โ ๋ชจ๋ ธ ๋ชจ๋: ์ ๋ ฅ๋จ์์ ์ ์ฒด ์ฑ๋์ ํฉ์ฐ ํ ์์ชฝ ์คํ ๋ ์ค๋ก ์ถ๋ ฅ. ๋จ์ผ ๋ง์ดํฌ ์ฌ์ฉ ์ ๋ณผ๋ฅจ ์์ค ์์ โ Mono mode: sums all input channels at the input stage and outputs to both L/R. No volume loss for single-mic use
- ์ ๋ ฅ ๊ฒ์ธ โ 0.0x~2.0x ๋ฒ์, ๊ธฐ๋ณธ๊ฐ 1.0x (unity gain) โ Input gain 0.0x-2.0x, default 1.0x
- ์ค์๊ฐ ๋ ๋ฒจ ๋ฏธํฐ โ ์ ๋ ฅ(์ข) / ์ถ๋ ฅ(์ฐ) RMS ๋ฏธํฐ, dB ๋ก๊ทธ ์ค์ผ์ผ โ Input/output RMS meters with dB log scale
- Safety Guard โ VST ์ฒด์ธ ์ดํ ์ ์ญ ์ํ-ํผํฌ ๊ฐ๋(legacy API/action name: SafetyLimiter). zero-latency runtime, instant attack + smooth release + hard clamp, ๊ธฐ๋ณธ ceiling -0.3 dBFS โ Global sample-peak guard after VST chain (legacy API/action name: SafetyLimiter). Zero-latency runtime with instant attack + smooth release + hard clamp, default ceiling -0.3 dBFS
- Built-in Processors โ Filter (HPF+LPF), Noise Removal (RNNoise AI), Auto Gain (LUFS AGC + fixed post limiter) โ VST ํ๋ฌ๊ทธ์ธ๊ณผ ํจ๊ป ์ฒด์ธ์ ์ฝ์ ๊ฐ๋ฅ. [Auto] ๋ฒํผ(์ ๋ ฅ ๊ฒ์ธ ์ ํน์ ํ๋ฆฌ์ ์ฌ๋กฏ)์ผ๋ก 3๊ฐ ๋ชจ๋ ํ ๋ฒ์ ์ถ๊ฐ โ Filter, Noise Removal (RNNoise AI), Auto Gain (LUFS AGC + fixed post limiter) insertable alongside VST plugins. [Auto] button (special preset slot next to input gain) adds all 3 at once
- Clock Drift Compensation โ IPC uses bidirectional drift handling with hysteresis dead-band, and Monitor output trims stale ring-buffer frames when independent device clocks drift apart (auto buffer management helps reduce clicks/pops and prevents monitor latency from growing over time) / IPC๋ ํ์คํ ๋ฆฌ์์ค ๋ฐ๋ ๋ฐด๋๋ฅผ ํฌํจํ ์๋ฐฉํฅ ํด๋ก ๋๋ฆฌํํธ ๋ณด์์ ์ฌ์ฉํ๊ณ , Monitor ์ถ๋ ฅ์ ๋ ๋ฆฝ ์ฅ์น ํด๋ก์ด ๋ฒ์ด์ง ๋ ์ค๋๋ ๋ง ๋ฒํผ ํ๋ ์์ ์ ๋ฆฌํฉ๋๋ค (์๋ ๋ฒํผ ๊ด๋ฆฌ๋ก ๋๊น/ํ์ ์ํํ๊ณ ๋ชจ๋ํฐ ์ง์ฐ ๋์ ์ ์ ํ)
-
ํค๋ณด๋ ๋จ์ถํค (๋ชจ๋ Controls > Hotkeys ํญ์์ ๋ณ๊ฒฝ ๊ฐ๋ฅ, ๋๋๊ทธ์ค๋๋กญ ์์ ๋ณ๊ฒฝ) โ All customizable in Controls > Hotkeys tab, drag-and-drop reorder. macOS์์๋ ์ ๊ทผ์ฑ ๊ถํ ํ์ (CGEventTap). macOS requires Accessibility permission.
๋จ์ถํค / Shortcut ๋์ / Action Ctrl+Shift+M ํจ๋ ๋ฎคํธ / Panic mute Ctrl+Shift+0 ๋ง์คํฐ Bypass (์ ์ฒด ์ฒด์ธ) / Master bypass Ctrl+Shift+1โ3 ํ๋ฌ๊ทธ์ธ 1-3 Bypass ํ ๊ธ / Plugin 1-3 bypass Ctrl+Shift+F6 ์ ๋ ฅ๋ง ๋ฎคํธ (์ฒด์ธ/์ถ๋ ฅ ์ ์ง) / Input-only mute (chain/output kept running) Ctrl+Shift+H ๋ชจ๋ํฐ ํ ๊ธ / Monitor toggle Ctrl+Shift+F1โF5 ํ๋ฆฌ์ ์ฌ๋กฏ A-E / Preset slot A-E ๋ชจ๋ ๋จ์ถํค๋ Controls > Hotkeys ํญ์์ ๋ณ๊ฒฝ/์ถ๊ฐ ๊ฐ๋ฅ / All shortcuts are customizable in Controls > Hotkeys tab
-
MIDI CC โ Learn ๋ชจ๋๋ก CC/๋ ธํธ ๋งคํ (Cancel ๋ฒํผ์ผ๋ก ์ทจ์ ๊ฐ๋ฅ). ํ๋ฌ๊ทธ์ธ ํ๋ผ๋ฏธํฐ ์ง์ ๋งคํ๋ ์ง์ โ CC/note mapping with Learn mode (Cancel button to abort). Direct plugin parameter mapping supported
-
WebSocket (RFC 6455, port 8765) โ ์๋ฐฉํฅ ์ค์๊ฐ ํต์ , ์ํ ์๋ ํธ์ โ Bidirectional real-time communication with auto state push
-
HTTP REST API (port 8766) โ curl์ด๋ ๋ธ๋ผ์ฐ์ ์์ ์์ท GET ์ปค๋งจ๋ โ One-shot GET commands from curl or browser
-
UDP Discovery (port 8767) โ Stream Deck ์๋ ์ฐ๊ฒฐ์ฉ ๋์ค์ปค๋ฒ๋ฆฌ ๋ธ๋ก๋์บ์คํธ โ Auto-discovery broadcast for instant Stream Deck connection
-
Stream Deck ํ๋ฌ๊ทธ์ธ โ 10๊ฐ์ง ์ก์ : Bypass, Volume (SD+ ๋ค์ด์ผ), Preset, Monitor, Panic Mute, Recording, IPC Toggle, Performance Monitor, Plugin Parameter (SD+ ๋ค์ด์ผ), Preset Bar (SD+) โ Elgato Marketplace์์ ๋ฌด๋ฃ ์ค์น
-
DirectPipe Receiver (VST2/VST3/AU) โ OBS, DAW ๋ฑ์์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ง์ ์์ . ๊ฐ์ ์ผ์ด๋ธ ๋ถํ์. ์ ๋ ฅ ๋ฒ์ค ์๋ ์ถ๋ ฅ ์ ์ฉ ํ๋ฌ๊ทธ์ธ (๋ชจ๋ ธ/์คํ ๋ ์ค ์ถ๋ ฅ ์ง์) โ OBS ํํฐ ์ฒด์ธ์ ์๋จ ์ค๋์ค๋ ๋ฌด์๋๊ณ DirectPipe์์ ์ ์ก๋ ์ค๋์ค๋ง ์ถ๋ ฅ. ํธ์คํธ์ ๋ฒํผ๋ง ๋ ์ดํด์ ๋ณด๊ณ โ Receive audio via shared memory in OBS, DAWs, and other hosts. No virtual cable needed. Output-only plugin (no input bus, mono/stereo output) โ ignores upstream audio in the host's filter chain, only outputs audio sent from DirectPipe. Reports buffering latency to host
-
VST ์ถ๋ ฅ ํ ๊ธ โ ๊ธฐ๋ณธ๊ฐ OFF. VST ๋ฒํผ / Output ํญ ์ฒดํฌ๋ฐ์ค / MIDI / Stream Deck / HTTP API / ์ฌ์ฉ์ ์ ์ ๋จ์ถํค๋ก ์ผ๊ธฐ/๋๊ธฐ โ Off by default. Toggle via VST button, Output tab, MIDI, Stream Deck, HTTP API, or user-defined hotkey
-
๋ฒํผ ํฌ๊ธฐ ์ค์ โ Receiver ํ๋ฌ๊ทธ์ธ GUI์์ 5๋จ๊ณ ํ๋ฆฌ์ ์ ํ. ์ค์ ์ง์ฐ(ms)์ ์ํ๋ ์ดํธ์ ๋ฐ๋ผ ๋ค๋ฆ โ 5 buffer presets in Receiver plugin GUI. Actual latency (ms) depends on sample rate
ํ๋ฆฌ์ / Preset ์ํ / Samples @48kHz @44.1kHz ์ฉ๋ / Best for Ultra Low 256 ~5ms ~6ms ์ต์ ์ง์ฐ / Minimum latency Low (๊ธฐ๋ณธ) 512 ~10ms ~12ms ์ผ๋ฐ ์ฌ์ฉ / General use (default) Medium 1024 ~21ms ~23ms ์์ ์ / Stable High 2048 ~42ms ~46ms CPU ์ฌ์ ์ ์ ๋ / Low CPU headroom Safe 4096 ~85ms ~93ms ์ต๋ ์์ ์ฑ / Maximum stability -
์ํ๋ ์ดํธ ๋ถ์ผ์น ๊ฒฝ๊ณ โ DirectPipe ์ก์ ์ํ๋ ์ดํธ์ OBS(ํธ์คํธ) ์ํ๋ ์ดํธ๊ฐ ๋ค๋ฅด๋ฉด Receiver GUI์ ๊ฒฝ๊ณ ํ์. ์ํ๋ ์ดํธ๊ฐ ๋ค๋ฅด๋ฉด ํผ์น/์๋ ๋ณ๋ ๋ฐ์ โ Sample rate mismatch warning shown in Receiver GUI when source and host sample rates differ
- ์ค๋์ค ๋ น์ โ Output ํญ์์ VST ์ฒด์ธ, Safety Guard, Safety Volume ์ดํ์ ์ต์ข ์ฒ๋ฆฌ ์ค๋์ค๋ฅผ WAV๋ก ๋ น์ (RT-safe try-lock/drop during teardown) โ Record final processed audio after VST chain, Safety Guard, and Safety Volume to WAV in Output tab (RT-safe try-lock/drop during teardown)
- ๊ธฐ๋ณธ ํด๋:
Documents/DirectPipe Recordings(์ฌ์ฉ์ ๋ฌธ์ ํด๋), ํ์ผ๋ช :DirectPipe_YYYYMMDD_HHMMSS.wavโ Default folder (user Documents), naming format - ๋ น์ ์ ์ด โ REC/STOP ๋ฒํผ, ๊ฒฝ๊ณผ ์๊ฐ ํ์, Play (๋ง์ง๋ง ๋ น์ ์ฌ์), Open Folder, ํด๋ ๋ณ๊ฒฝ โ REC/STOP, elapsed time, Play last, Open Folder, change folder
- ์ธ๋ถ ์ ์ด โ Stream Deck (๊ฒฝ๊ณผ ์๊ฐ ํ์), HTTP API, WebSocket์ผ๋ก๋ ๋ น์ ํ ๊ธ ๊ฐ๋ฅ โ Also controllable via Stream Deck (shows elapsed time), HTTP, WebSocket
- 2์ปฌ๋ผ ๋ ์ด์์ โ ์ข: ์ ๋ ฅ ๋ฏธํฐ + ๊ฒ์ธ([Auto] ํฌํจ) + ํ๋ฆฌ์ ์ฌ๋กฏ(A~E) + VST ์ฒด์ธ + ๋ฎคํธ ๋ฒํผ(OUT/MON/VST) + PANIC MUTE, ์ฐ: ์ค์ ํญ ํจ๋ + ์ถ๋ ฅ ๋ฏธํฐ โ Left: input meter + gain (with [Auto]) + preset slots (A-E) + chain + mute buttons (OUT/MON/VST) + PANIC MUTE, Right: tabbed settings + output meter
- 4๊ฐ ํญ โ Tab layout:
- Audio: ๋๋ผ์ด๋ฒ ์ ํ (Windows: WASAPI/ASIO, macOS: CoreAudio, Linux: ALSA/JACK), ์ ์ถ๋ ฅ ์ฅ์น, ์ํ๋ ์ดํธ, ๋ฒํผ ํฌ๊ธฐ, ์ฑ๋ ๋ชจ๋. Audio ํญ์ ์ํ๋ ์ดํธ๊ฐ VST ์ฒด์ธยท๋ชจ๋ํฐ ์ถ๋ ฅยทIPC ์ ์ฒด์ ์ ์ฉ๋จ โ Driver (Windows: WASAPI/ASIO, macOS: CoreAudio, Linux: ALSA/JACK), devices, SR, buffer, channel mode. Audio tab SR applies to VST chain, monitor output, and IPC
- Output: ๋ชจ๋ํฐ ์ถ๋ ฅ(์ฅ์น/๋ณผ๋ฅจ/์ํ), VST ์ถ๋ ฅ ํ ๊ธ, ๋ น์(REC/Play/ํด๋) โ Monitor output, VST output toggle, recording
- Controls: 3๊ฐ ์๋ธํญ โ Hotkeys / MIDI / Stream Deck โ 3 sub-tabs
- Settings: ์๋ ์์ (Windows/Linux: "Start with System", macOS: "Open at Login"), ์ค์ ์ ์ฅ/๋ถ๋ฌ์ค๊ธฐ(.dpbackup, ์ค์ ๋ง), ๋ก๊ทธ ๋ทฐ์ด, ์ ์ง๋ณด์(Full Backup/Restore โ ๊ฐ์ OS๋ผ๋ฆฌ๋ง, Clear Cache/Presets, Factory Reset(A-E + Auto ์ฌ๋กฏ ํฌํจ)) โ Auto-start (platform-adaptive label), settings save/load (.dpbackup, settings only), log viewer, maintenance (Full Backup/Restore โ same OS only, Clear Cache/Presets, Factory Reset (includes A-E + Auto slots))
- ์์คํ ํธ๋ ์ด โ X ๋ฒํผ = ํธ๋ ์ด ์ต์ํ. ๋๋ธํด๋ฆญ ๋ณต์, ์ฐํด๋ฆญ ๋ฉ๋ด(Show/Panic Mute/Start with System or Open at Login/Quit). ํดํ์ ํ์ฌ ์ํ ํ์ โ Tray resident, tooltip shows current state
- Panic Mute โ ์ ์ฒด ์ถ๋ ฅ ์ฆ์ ์ฐจ๋จ + ๋ น์ ์๋ ์ค์ง, ํด์ ์ ์ด์ ์ํ ๋ณต์ (๋ น์์ ์๋ ์ฌ์์ ์ ํจ). ํจ๋ ์ค OUT/MON/VST ์ ์ด๋ ์ ๊ธฐ๊ณ ๋๋ถ๋ถ ์ก์ ์ด ์ฐจ๋จ๋์ง๋ง, Input Mute/XRun Reset/Safety Guard(legacy SafetyLimiter actions)/Auto Processors Add๋ ์ ์ง๋ณด์ยท์ค๋น ์ฉ๋๋ก ํ์ฉ โ Instant kill all output paths + auto-stop recording, restores previous states on unmute (recording does not auto-restart). OUT/MON/VST controls are locked and most actions are blocked, while Input Mute/XRun Reset/Safety Guard (legacy SafetyLimiter actions)/Auto Processors Add remain available for maintenance/prep flows
- ์ํ ๋ฐ โ ๋ ์ดํด์, CPU % + XRun ์นด์ดํฐ(60์ด๊ฐ), ์ค๋์ค ํฌ๋งท, [LIM] ์ธ๋์ผ์ดํฐ, ํฌํฐ๋ธ ๋ชจ๋, ๋ฒ์ ์ ๋ณด. ์ค๋ฅ/๊ฒฝ๊ณ /์ ๋ณด ์๋ฆผ ์๋ ํ์ (3-8์ด ํ์ด๋) โ Status bar: latency, CPU % + XRun counter (60s window), audio format, [LIM] indicator, portable mode, version. Auto-fade notifications
- ์ธ์ฑ ์๋ ์ ๋ฐ์ดํธ โ ์ ๋ฒ์ ๊ฐ์ง ์ credit ๋ผ๋ฒจ์ "NEW vX.Y.Z" ํ์. ํด๋ฆญํ๋ฉด [Update Now] / [View on GitHub] / [Later] ๋ค์ด์ผ๋ก๊ทธ. Update Now๋ก GitHub์์ ๋ค์ด๋ก๋ โ ์๋ ๊ต์ฒด โ ์ฌ์์ โ In-app auto-updater with one-click update from GitHub releases
- ํ๊ตญ์ด/CJK ํฐํธ ์ง์ โ ํ๊ธ, ไธญๆ, ๆฅๆฌ่ช ์ฅ์น๋ช ์ ์ ํ์. Windows: Malgun Gothic, macOS: Apple SD Gothic Neo, Linux: Noto Sans CJK KR โ Korean/Chinese/Japanese device names rendered correctly with platform-specific CJK font support
- ๋คํฌ ํ ๋ง โ Custom JUCE LookAndFeel
- ํฌํฐ๋ธ ๋ชจ๋ โ exe ์์
portable.flagํ์ผ ๋ฐฐ์น ์ ์ค์ ์./config/์ ์ ์ฅ. ๋ค์ค ์ธ์คํด์ค ์ง์: ์ผ๋ฐ ๋ชจ๋์ ํฌํฐ๋ธ์ ๋์์ ์คํํ๋ฉด ํฌํฐ๋ธ์ "Audio Only" ๋ชจ๋๋ก ๋์ (์ธ๋ถ ์ ์ด ์ถฉ๋ ๋ฐฉ์ง). ํธ๋ ์ด/ํ์ดํ ๋ฐ์ ๋ชจ๋ ํ์ (์์ธ ์ค๋ช ) โ Placeportable.flagnext to exe to store config in./config/. Multi-instance support: running portable alongside normal mode puts portable in "Audio Only" mode (prevents external control conflicts). Mode shown in tray/title bar (details)
์ฌ์ฉ ์์: ๊ฐ์ ์ผ์ด๋ธ๋ก Discord/OBS์ ๋ณด์ด์ค ์ดํํธ ์ ์ฉ / Usage: Voice Effects with Virtual Cable
USB ๋ง์ดํฌ์ VST ์ดํํธ(๋ ธ์ด์ฆ ์ ๊ฑฐ, ๋์์, EQ ๋ฑ)๋ฅผ ๊ฑธ๊ณ , ์ฒ๋ฆฌ๋ ์ค๋์ค๋ฅผ DiscordยทZoomยทOBS ๋ฑ ๋ค๋ฅธ ์ฑ์์ ๋ง์ดํฌ๋ก ์ธ์์ํค๋ ค๋ฉด ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ์ด ํ์ํ๋ค.
To apply VST effects (noise removal, de-esser, EQ, etc.) to a USB mic and route the processed audio as a virtual microphone to apps like Discord, Zoom, or OBS, you need a virtual audio cable.
ํ๋ซํผ๋ณ ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ / Virtual Audio Cable by Platform:
| ํ๋ซํผ / Platform | ์ถ์ฒ / Recommended | ๋น์ฉ / Cost |
|---|---|---|
| Windows | VB-Audio Virtual Cable | ๋ฌด๋ฃ / Free |
| macOS | BlackHole | ๋ฌด๋ฃ / Free |
| macOS | Loopback | ์ ๋ฃ / Paid |
| Linux | PipeWire (virtual sink) ๋๋ JACK | ๋ด์ฅ / Built-in |
- ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ ์ค์น โ Install a virtual audio cable (์ ํ ์ฐธ์กฐ / see table above)
- DirectPipe Audio ํญ์์ ์ค์ โ Configure in DirectPipe Audio tab:
- Input: USB ๋ง์ดํฌ ์ ํ โ Select your USB microphone
- Output: ๊ฐ์ ์ผ์ด๋ธ ์
๋ ฅ ์ ํ (์: Windows
CABLE Input, macOSBlackHole 2ch) โ Select virtual cable input (e.g., WindowsCABLE Input, macOSBlackHole 2ch)
- Discord/Zoom/OBS ๋ฑ์์ ๋ง์ดํฌ๋ฅผ ๊ฐ์ ์ผ์ด๋ธ ์ถ๋ ฅ์ผ๋ก ๋ณ๊ฒฝ (์: Windows
CABLE Output, macOSBlackHole 2ch) โ In your app, set mic to virtual cable output
USB Mic โ DirectPipe (VST Chain: ๋
ธ์ด์ฆ ์ ๊ฑฐ, EQ, ์ปดํ ...) โ Virtual Cable Input
โ
Discord/Zoom/OBS โ Virtual Cable Output
- (์ ํ) Output ํญ์์ ํค๋ํฐ ์ฅ์น๋ฅผ ์ค์ ํ๋ฉด ์ฒ๋ฆฌ๋ ์์ ์ ๋ชฉ์๋ฆฌ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋ง ๊ฐ๋ฅ โ Optionally configure headphone monitoring in the Output tab
Tip: VoiceMeeter (Windows) ๋ฑ ๋ค๋ฅธ ๊ฐ์ ์ค๋์ค ์ฅ์น๋ ๋์ผํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ. Output ์ฅ์น๋ง ๋ฐ๊พธ๋ฉด ๋๋ค. โ Any virtual audio device works; just change the Output device.
OBS์์ VST ์ถ๋ ฅ์ผ๋ก ์ง์ ์ฐ๊ฒฐ (๊ฐ์ ์ผ์ด๋ธ ๋ถํ์) / Direct OBS Connection via VST Output (No Virtual Cable)
OBS์์๋ Receiver VST2 ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ ์ผ์ด๋ธ ์์ด ๋ ๊ฐ๋จํ๊ฒ ์ค์ ํ ์ ์์ต๋๋ค.
If you use OBS, the Receiver VST2 plugin offers a simpler setup without any virtual cable.
- Receiver ํ๋ฌ๊ทธ์ธ ํ์ผ์ VST2 ํด๋์ ๋ณต์ฌ โ Copy the Receiver plugin to a VST2 folder:
- Windows:
DirectPipe Receiver.dllโC:\Program Files\VSTPlugins\(๊ถ์ฅ),C:\Program Files\Common Files\VST2\, ๋๋C:\Program Files\Steinberg\VstPlugins\ - macOS:
DirectPipe Receiver.vstโ/Library/Audio/Plug-Ins/VST/๋๋~/Library/Audio/Plug-Ins/VST/ - Linux:
DirectPipe Receiver.soโ/usr/lib/vst/๋๋~/.vst/
- Windows:
- DirectPipe์์ VST ๋ฒํผ ํด๋ฆญ (VST ์ถ๋ ฅ ์ผ๊ธฐ) โ Enable VST output in DirectPipe
- OBS โ ์ค๋์ค ์์ค (ex.๊ธฐ์กด ๋ง์ดํฌ)โ ํํฐ โ VST 2.x ํ๋ฌ๊ทธ์ธ โ DirectPipe Receiver ์ ํ โ Add VST filter in OBS
USB Mic โ DirectPipe (VST Chain: ๋
ธ์ด์ฆ ์ ๊ฑฐ, EQ, ์ปดํ ...)
โ VST ์ถ๋ ฅ (๊ณต์ ๋ฉ๋ชจ๋ฆฌ, ๊ฐ์ ์ผ์ด๋ธ ๋ถํ์)
OBS [DirectPipe Receiver VST ํํฐ] โ ๋ฐฉ์ก/๋
นํ
Tip: ๊ฐ์ ์ผ์ด๋ธ๊ณผ DirectPipe Receiver๋ฅผ ๋์์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. Discord๋ ๊ฐ์ ์ผ์ด๋ธ๋ก, OBS๋ Receiver๋ก ๊ฐ๊ฐ ๋ณด๋ด๋ฉด ๋ฉ๋๋ค. โ You can use both methods simultaneously: virtual cable for Discord, DirectPipe Receiver for OBS.
์ค์: DirectPipe Receiver๋ ์ ๋ ฅ ๋ฒ์ค๊ฐ ์๋ ์ถ๋ ฅ ์ ์ฉ ํ๋ฌ๊ทธ์ธ์ ๋๋ค. OBS ์ค๋์ค ์์ค(๋ง์ดํฌ ์บก์ฒ ๋ฑ)์ ์ค๋์ค๋ ์๋จ ํํฐ์ ์ค๋์ค๋ ์์ ํ ๋ฌด์๋๊ณ , DirectPipe์์ IPC๋ก ์ ์ก๋ ์ฒ๋ฆฌ ์๋ฃ ์ค๋์ค๋ง ์ถ๋ ฅ๋ฉ๋๋ค.
Important: DirectPipe Receiver is an output-only plugin with no input bus. Audio from the OBS source (mic capture, etc.) or preceding filters is completely ignored โ only the processed audio sent from DirectPipe via IPC is output.
๊ฐ์ ์ผ์ด๋ธ(Discord) + Receiver VST2(OBS)๋ฅผ ๋์ ์ฌ์ฉํ๋ฉด OUT/VST ๋ฒํผ์ผ๋ก ๊ฐ ์ฑ์ ๋ง์ดํฌ๋ฅผ ๊ฐ๋ณ ์ ์ดํ ์ ์์ต๋๋ค. โ Using virtual cable (Discord) + Receiver VST2 (OBS) together lets you independently control each app's mic feed with OUT/VST buttons.
USB Mic โ DirectPipe (Plugin Chain)
โโ OUT โ Virtual Cable โ Discord โ OUT ๋ฒํผ์ผ๋ก ๊ฐ๋ณ ๋ฎคํธ
โโ VST โ Receiver VST2 โ OBS โ VST ๋ฒํผ์ผ๋ก ๊ฐ๋ณ ๋ฎคํธ
โโ MON โ Headphones โ MON ๋ฒํผ์ผ๋ก ๊ฐ๋ณ ๋ฎคํธ
- VST OFF / OUT ON โ OBS ๋ฐฉ์ก ๋ง์ดํฌ๋ง ๋ฎคํธ, Discord ํตํ ์ ์ง โ Mute OBS mic only, keep Discord
- OUT OFF / VST ON โ Discord๋ง ๋ฎคํธ, OBS ๋ฐฉ์ก ๋ง์ดํฌ ์ ์ง โ Mute Discord only, keep OBS
- Ctrl+Shift+M (Panic Mute) โ ์ ์ฒด ์ฆ์ ๋ฎคํธ, ํด์ ์ ์ด์ ์ํ ๋ณต์ โ Kill all outputs instantly, auto-restore on unmute
์์ธํ ํ์ฉ ์์๋ User Guide โ ํ์ฉ ๊ฐ์ด๋ ์ฐธ์กฐ.
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Releaseํ๋ซํผ๋ณ ๋น๋ ์๊ตฌ ์ฌํญ, ์ต์ , CI ์ค์ ๋ฑ ์์ธํ ๋ด์ฉ์ Build Guide ์ฐธ์กฐ.
See Build Guide for platform-specific requirements, build options, and CI setup.
host/ JUCE host application (main)
Source/
ActionResult.h Typed success/failure return value
Audio/ AudioEngine, VSTChain, OutputRouter, MonitorOutput,
AudioRingBuffer, LatencyMonitor, AudioRecorder,
SafetyLimiter, BuiltinFilter, BuiltinNoiseRemoval,
BuiltinAutoGain
Control/ ActionDispatcher, ActionHandler, SettingsAutosaver,
ControlManager, ControlMapping,
WebSocketServer, HttpApiServer,
HotkeyHandler, MidiHandler, StateBroadcaster,
DirectPipeLogger
IPC/ SharedMemWriter
Platform/ Cross-platform abstractions
Windows/ Registry autostart, Named Mutex, Win32 priority
macOS/ LaunchAgent, CGEventTap hotkeys, pthread QoS
Linux/ XDG autostart, setpriority, InterProcessLock
UI/ AudioSettings, OutputPanel, ControlSettingsPanel,
HotkeyTab, MidiTab, StreamDeckTab,
PresetSlotBar, StatusUpdater, UpdateChecker,
PluginChainEditor, PluginScanner, PresetManager,
LevelMeter, LogPanel, NotificationBar,
DirectPipeLookAndFeel, SettingsExporter,
FilterEditPanel, NoiseRemovalEditPanel, AGCEditPanel
core/ IPC library (RingBuffer, SharedMemory, Protocol)
plugins/receiver/ Receiver VST2/VST3/AU plugin (for OBS/DAW)
com.directpipe.directpipe.sdPlugin/ Stream Deck plugin (Node.js, SDK v3)
dist/ Packaged plugin (.streamDeckPlugin) + marketplace assets
tests/ Unit tests (Google Test)
thirdparty/ VST2 SDK, ASIO SDK (not included), RNNoise (BSD-3, included)
- Quick Start โ USB ๋ง์ดํฌ 5๋ถ ์ค์ ๊ฐ์ด๋ / 5-minute USB mic setup guide
- Platform Guide โ ํ๋ซํผ๋ณ ๊ฐ์ด๋ (Windows/macOS/Linux) / Platform-specific setup, features, and limitations
- Release Notes โ ๋ณ๊ฒฝ ์ด๋ ฅ / Changelog and version history
- Auto Design โ [Auto] ์ค๊ณ ์์น ๋ฐ ํ๋ผ๋ฏธํฐ ๊ทผ๊ฑฐ / Auto chain design principles, parameter rationale
- Architecture โ ์์คํ ์ค๊ณ / System design, data flow, thread safety
- Build Guide โ ๋น๋ ๊ฐ์ด๋ (๋ฉํฐ ํ๋ซํผ) / Build instructions for all platforms
- User Guide โ ์ฌ์ฉ๋ฒ / Setup and usage
- Control API โ WebSocket / HTTP API ๋ ํผ๋ฐ์ค / API reference
- API Examples โ ์๋ํ ์์ (Python, AutoHotkey, OBS ์ฐ๋, curl, PowerShell) / Automation examples
- Stream Deck Guide โ Stream Deck ํ๋ฌ๊ทธ์ธ / Stream Deck integration
- Product Spec โ ์ ํ ์์ธ ๊ธฐํ์ / Detailed product specification (reverse-engineered from implementation)
- Logging Rules โ ๋ก๊น ํ์ ๋ฐ ๊ท์น / Log format, categories, and audit mode
- Security โ ๋ณด์ ์ ์ฑ ๋ฐ ์ค๊ณ / Security policy, architecture, and known limitations
- Testing โ ํ ์คํธ ๊ฐ์ด๋ (์๋/์๋ ํ ์คํธ ์ฒดํฌ๋ฆฌ์คํธ) / Testing guide (automated and manual test checklists)
- Contributing โ ๊ธฐ์ฌ ๊ฐ์ด๋ / Contributor guidelines
- AutoGain Plugin Guide โ AutoGain ๋ ๋ฆฝ ํ๋ฌ๊ทธ์ธ ๋ถ๋ฆฌ ๊ฐ์ด๋ / AutoGain standalone plugin extraction guide
X ๋ฒํผ์ ๋๋ ๋๋ฐ ํ๋ก๊ทธ๋จ์ด ๊บผ์ง์ง ์์์ / Clicking X doesn't close the app
DirectPipe๋ ์์คํ ํธ๋ ์ด์์ ์์ฃผํ๋ ์ฑ์ ๋๋ค. X ๋ฒํผ(๋ซ๊ธฐ)์ ๋๋ฅด๋ฉด ์ข ๋ฃ๋๋ ๊ฒ์ด ์๋๋ผ ํธ๋ ์ด๋ก ์ต์ํ๋ฉ๋๋ค. ์ค๋์ค ์ฒ๋ฆฌ๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ณ์ ๋์ํฉ๋๋ค.
- ํธ๋ ์ด ์์ด์ฝ ๋๋ธํด๋ฆญ โ ์ฐฝ ๋ณต์
- ํธ๋ ์ด ์์ด์ฝ ์ฐํด๋ฆญ โ ๋ฉ๋ด์์ "Quit DirectPipe" ์ ํ โ ์์ ์ข ๋ฃ
์ด ๋์์ ์๋๋ ์ค๊ณ์ ๋๋ค โ Discord๋ OBS ๋ฑ์ ์ค์๊ฐ ์ค๋์ค๋ฅผ ๊ณ์ ๋ณด๋ด๋ฉด์ ์ฐฝ์ ๋ซ์๋ ์ฒ๋ฆฌ๊ฐ ์ค๋จ๋์ง ์๋๋ก ํฉ๋๋ค.
DirectPipe is a system tray resident app. Clicking the X (close) button minimizes it to the tray instead of quitting. Audio processing continues running in the background.
- Double-click the tray icon โ restore the window
- Right-click the tray icon โ Show Window / Panic Mute / auto-start toggle / Quit DirectPipe
This is by design โ it ensures audio processing keeps running for Discord, OBS, etc. even when the window is closed.
ํธ๋ ์ด ์์ด์ฝ์ด ์ ๋ณด์ฌ์ / ํธ๋ ์ด์ ๊ณ ์ ํ๋ ๋ฐฉ๋ฒ / Tray icon not visible / How to pin to tray
Windows๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํธ๋ ์ด ์์ด์ฝ์ ์จ๊น ์์ญ(โฒ ํ์ดํ ์)์ ๋ฃ์ต๋๋ค. DirectPipe ์์ด์ฝ์ ํญ์ ๋ณด์ด๊ฒ ํ๋ ค๋ฉด ํธ๋ ์ด์ ๊ณ ์ ํ์ธ์.
Windows 11:
- ์ค์ โ ๊ฐ์ธ ์ค์ โ ์์ ํ์์ค โ ๊ธฐํ ์์คํ ํธ๋ ์ด ์์ด์ฝ ํด๋ฆญ
- ๋ชฉ๋ก์์ DirectPipe๋ฅผ ์ฐพ์ ์ผฌ ์ผ๋ก ๋ณ๊ฒฝ
- ๋๋: ์จ๊น ์์ญ(โฒ)์์ DirectPipe ์์ด์ฝ์ ์์ ํ์์ค๋ก ๋๋๊ทธ
Windows 10:
- ์ค์ โ ๊ฐ์ธ ์ค์ โ ์์ ํ์์ค โ ์๋ฆผ ์์ญ โ ์์ ํ์์ค์ ํ์ํ ์์ด์ฝ ์ ํ ํด๋ฆญ
- ๋ชฉ๋ก์์ DirectPipe๋ฅผ ์ฐพ์ ์ผฌ ์ผ๋ก ๋ณ๊ฒฝ
- ๋๋: ์จ๊น ์์ญ(โฒ)์์ DirectPipe ์์ด์ฝ์ ์์ ํ์์ค๋ก ๋๋๊ทธ
macOS: ๋ฉ๋ด ๋ฐ์ ์๋์ผ๋ก ํ์๋ฉ๋๋ค. ๋ฉ๋ด ๋ฐ ์์ด์ฝ์ด ๋๋ฌด ๋ง์ผ๋ฉด Cmd ํค๋ฅผ ๋๋ฅธ ์ฑ ์์ด์ฝ์ ๋๋๊ทธํ์ฌ ์์๋ฅผ ๋ณ๊ฒฝํ์ธ์.
Linux: ๋ฐ์คํฌํฑ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. GNOME์ AppIndicator ํ์ฅ, KDE๋ ์์คํ ํธ๋ ์ด์ ์๋ ํ์๋ฉ๋๋ค.
Windows hides tray icons in the overflow area (โฒ arrow) by default. To keep the DirectPipe icon always visible, pin it to the taskbar tray.
Windows 11:
- Settings โ Personalization โ Taskbar โ click Other system tray icons
- Find DirectPipe and toggle it On
- Or: drag the DirectPipe icon from the overflow area (โฒ) onto the taskbar
Windows 10:
- Settings โ Personalization โ Taskbar โ Notification area โ click Select which icons appear on the taskbar
- Find DirectPipe and toggle it On
- Or: drag the DirectPipe icon from the overflow area (โฒ) onto the taskbar
macOS: Appears automatically in the menu bar. If crowded, hold Cmd and drag to reorder menu bar icons.
Linux: Depends on desktop environment. GNOME requires AppIndicator extension; KDE shows in system tray automatically.
์ฒ์ ์คํํ ๋ ๋ณด์ ๊ฒฝ๊ณ ๊ฐ ๋ ์ / Security warning on first run
์ ์์ ๋๋ค! DirectPipe๋ ์คํ์์ค๋ผ ์ฝ๋ ์๋ช ์ธ์ฆ์๊ฐ ์์ด์ ๋ํ๋๋ ๊ฒฝ๊ณ ์ ๋๋ค. ์ ์ฑ ์ํํธ์จ์ด๊ฐ ์๋๋๋ค.
Windows (SmartScreen):
- "์ถ๊ฐ ์ ๋ณด" ํ ์คํธ๋ฅผ ํด๋ฆญํ์ธ์
- ์๋์ ๋ํ๋๋ "์คํ" ๋ฒํผ์ ๋๋ฅด์ธ์
- ๋ค์ด๋ก๋ํ ํ์ผ ์์ฒด๊ฐ ์ฐจ๋จ๋์ด ์คํ๋์ง ์์ผ๋ฉด
DirectPipe.exe๋ฅผ ์ฐํด๋ฆญ โ ์์ฑ โ ์ผ๋ฐ ํญ ํ๋จ์ ๋ณด์ โ ์ฐจ๋จ ํด์ ์ฒดํฌ โ ์ ์ฉ/ํ์ธ์ ๋๋ฅด์ธ์
macOS (Gatekeeper):
- ์์คํ ์ค์ โ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ๋ณด์ โ ํ๋จ์ "ํ์ธ ์์ด ์ด๊ธฐ" ํด๋ฆญ
- ๋๋: Finder์์ DirectPipe.app์ ์ฐํด๋ฆญ โ ์ด๊ธฐ โ ์ด๊ธฐ ํด๋ฆญ
ํ ๋ฒ๋ง ํ๋ฉด ์ดํ๋ก๋ ๊ฒฝ๊ณ ์์ด ์คํ๋ฉ๋๋ค.
This is normal! DirectPipe is open-source and does not have a code signing certificate, so your OS shows a warning. It is not malware.
Windows (SmartScreen):
- Click the "More info" text
- Click the "Run anyway" button that appears
- If Windows still blocks the downloaded file, right-click
DirectPipe.exeโ Properties โ General tab โ Security โ check Unblock โ Apply/OK
macOS (Gatekeeper):
- System Settings โ Privacy & Security โ click "Open Anyway" at the bottom
- Or: Right-click DirectPipe.app in Finder โ Open โ click Open
You only need to do this once โ the warning won't appear again.
VST ํ๋ฌ๊ทธ์ธ์ด ๋ญ๊ฐ์? ์ด๋์ ๊ตฌํ๋์? / What are VST plugins and where to get them?
VST ํ๋ฌ๊ทธ์ธ์ ์ค๋์ค์ ํจ๊ณผ๋ฅผ ์ถ๊ฐํ๋ ์ํํธ์จ์ด์ ๋๋ค. ๋ ธ์ด์ฆ ์ ๊ฑฐ, EQ, ์ปดํ๋ ์ ๋ฑ ๋ค์ํ ์ข ๋ฅ๊ฐ ์์ต๋๋ค.
๋ฌด๋ฃ ์ถ์ฒ ํ๋ฌ๊ทธ์ธ:
- ReaPlugs โ EQ, ์ปดํ๋ ์, ๊ฒ์ดํธ ๋ฑ ๊ธฐ๋ณธ ํ๋ฌ๊ทธ์ธ ๋ชจ์ (๋ฌด๋ฃ)
- RNNoise โ AI ๊ธฐ๋ฐ ์ค์๊ฐ ๋ ธ์ด์ฆ ์ ๊ฑฐ (๋ฌด๋ฃ)
- TDR Nova โ ๊ณ ํ์ง ๋ค์ด๋๋ฏน EQ (๋ฌด๋ฃ)
- OrilRiver โ ๋ฆฌ๋ฒ๋ธ (๋ฌด๋ฃ)
์ค์น ํ DirectPipe์์ "Scan..." ๋ฒํผ์ผ๋ก ํ๋ฌ๊ทธ์ธ ํด๋๋ฅผ ์ค์บํ๋ฉด ๋ชฉ๋ก์ ๋ํ๋ฉ๋๋ค.
VST plugins are software that add audio effects to your signal โ noise removal, EQ, compressor, reverb, and more.
Free recommended plugins:
- ReaPlugs โ EQ, compressor, gate, and more essentials (free)
- RNNoise โ AI-powered real-time noise removal (free)
- TDR Nova โ High-quality dynamic EQ (free)
- OrilRiver โ Reverb (free)
After installing plugins, click "Scan..." in DirectPipe to scan your plugin folders. They will appear in the plugin list.
Discord / Zoom / OBS์์ ์ฒ๋ฆฌ๋ ๋ง์ดํฌ๋ฅผ ์ฐ๋ ค๋ฉด? / How to use with Discord, Zoom, or OBS?
๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ์ด ํ์ํฉ๋๋ค. Windows: VB-Cable (๋ฌด๋ฃ), macOS: BlackHole (๋ฌด๋ฃ) ๋๋ Loopback, Linux: PipeWire virtual sink ๋๋ JACK.
์ค์ ์์:
- ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ์ ์ค์น (Windows: VB-Cable ์ค์น ํ ์ฌ๋ถํ , macOS: BlackHole ์ค์น, Linux: PipeWire/JACK ์ค์ )
- DirectPipe Audio ํญ:
- Input โ ๋ด USB ๋ง์ดํฌ ์ ํ
- Output โ ๊ฐ์ ์ผ์ด๋ธ ์
๋ ฅ ์ ํ (์: Windows
CABLE Input, macOSBlackHole 2ch)
- Discord/Zoom/OBS ์์ฑ ์ค์ :
- ๋ง์ดํฌ โ ๊ฐ์ ์ผ์ด๋ธ ์ถ๋ ฅ ์ ํ (์: Windows
CABLE Output, macOSBlackHole 2ch)
- ๋ง์ดํฌ โ ๊ฐ์ ์ผ์ด๋ธ ์ถ๋ ฅ ์ ํ (์: Windows
- ์๊ธฐ ๋ชฉ์๋ฆฌ๋ฅผ ํ์ธํ๋ ค๋ฉด Output ํญ์์ ํค๋ํฐ ์ฅ์น๋ฅผ ์ค์ ํ์ธ์
๋ด USB ๋ง์ดํฌ โ DirectPipe (๋
ธ์ด์ฆ ์ ๊ฑฐ, EQ ๋ฑ) โ Virtual Cable Input
โ
Discord/Zoom/OBS โ Virtual Cable Output (๋ง์ดํฌ๋ก ์ธ์)
You need a virtual audio cable. Windows: VB-Cable (free), macOS: BlackHole (free) or Loopback, Linux: PipeWire virtual sink or JACK.
Setup steps:
- Install a virtual audio cable (Windows: VB-Cable + reboot, macOS: BlackHole, Linux: configure PipeWire/JACK)
- In DirectPipe Audio tab:
- Input โ Select your USB microphone
- Output โ Select virtual cable input (e.g., Windows
CABLE Input, macOSBlackHole 2ch)
- In Discord / Zoom / OBS voice settings:
- Microphone โ Select virtual cable output (e.g., Windows
CABLE Output, macOSBlackHole 2ch)
- Microphone โ Select virtual cable output (e.g., Windows
- To hear yourself, configure your headphone device in the Output tab
USB Mic โ DirectPipe (Noise removal, EQ, etc.) โ Virtual Cable Input
โ
Discord/Zoom/OBS โ Virtual Cable Output (recognized as mic)
์๋ฆฌ๊ฐ ์ ๋์์ / ๋ง์ดํฌ๊ฐ ์ธ์์ด ์ ๋ผ์ / No sound or mic not detected
ํ์ธ ์์:
- Audio ํญ โ Input ์ฅ์น๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ํ๋์ด ์๋์ง ํ์ธ
- ์ผ์ชฝ INPUT ๋ ๋ฒจ ๋ฏธํฐ๊ฐ ์์ง์ด๋์ง ํ์ธ โ ์์ง์ด๋ฉด ๋ง์ดํฌ ์ ๋ ฅ์ ์ ์
- ๋ ๋ฒจ ๋ฏธํฐ๊ฐ ์์ง์ด์ง ์์ผ๋ฉด:
- Windows: ์ค์ โ ๊ฐ์ธ ์ ๋ณด โ ๋ง์ดํฌ์์ ์ฑ ์ ๊ทผ์ด ํ์ฉ๋์ด ์๋์ง ํ์ธ
- macOS: ์์คํ ์ค์ โ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ๋ณด์ โ ๋ง์ดํฌ์์ DirectPipe ํ์ฉ
- Linux: PulseAudio/PipeWire ๋ณผ๋ฅจ ์ค์ ์์ ์ ๋ ฅ ์ฅ์น ํ์ธ
- ๋ค๋ฅธ ์ฑ(Discord ๋ฑ)์ด ๋ง์ดํฌ๋ฅผ ๋ ์ ๋ชจ๋๋ก ์ฌ์ฉ ์ค์ด๋ฉด ํด์
- OUT ๋ฒํผ์ด ์ด๋ก์์ธ์ง ํ์ธ (๋นจ๊ฐ์์ด๋ฉด ๋ฎคํธ ์ํ โ ํด๋ฆญํด์ ํด์ )
- PANIC MUTE๊ฐ ํ์ฑํ๋์ด ์์ผ๋ฉด ๋ค์ ํด๋ฆญํด์ ํด์
Troubleshooting steps:
- Audio tab โ Make sure the correct Input device is selected
- Check if the left INPUT level meter is moving โ if it moves, mic input is working
- If the level meter doesn't move:
- Windows: Settings โ Privacy โ Microphone โ make sure app access is allowed
- macOS: System Settings โ Privacy & Security โ Microphone โ allow DirectPipe
- Linux: Check input device in PulseAudio/PipeWire volume settings
- If another app (e.g., Discord) is using the mic in exclusive mode, disable exclusive mode
- Check that the OUT button is green (red means muted โ click to unmute)
- If PANIC MUTE is active, click it again to deactivate
์๋ฆฌ๊ฐ ๋๊ธฐ๊ฑฐ๋ ์ง์ฐ์ด ์ปค์ / Audio crackling or high latency
Buffer Size๋ฅผ ์กฐ์ ํ์ธ์:
- Audio ํญ โ Buffer Size: ๊ฐ์ ๋ฎ์ถ๋ฉด ์ง์ฐ์ด ์ค์ง๋ง CPU ๋ถ๋ด ์ฆ๊ฐ
256 samples(์ฝ 5ms @ 48kHz) โ ์ผ๋ฐ์ ์ธ ์์์ 128 samples(์ฝ 2.7ms) โ ๋ฎ์ ์ง์ฐ, ๊ณ ์ฌ์ PC ๊ถ์ฅ512 samples(์ฝ 10ms) โ ์์ ์ , ์ ์ฌ์ PC ๊ถ์ฅ
๊ทธ๋๋ ๋๊ธด๋ค๋ฉด:
- ํ๋ฌ๊ทธ์ธ ์๋ฅผ ์ค์ด๊ฑฐ๋, CPU๋ฅผ ๋ง์ด ์ฐ๋ ํ๋ฌ๊ทธ์ธ์ Bypass ์ฒ๋ฆฌ
- ์ค๋์ค ์ธํฐํ์ด์ค๊ฐ ์๋ค๋ฉด ASIO ๋๋ผ์ด๋ฒ ์ฌ์ฉ (Windows, ๋ ๋ฎ์ ์ง์ฐ ๊ฐ๋ฅ)
- ํ๋จ ์ํ ๋ฐ์ CPU % ์์น๋ฅผ ํ์ธ โ 60% ์ด์์ด๋ฉด ๊ณผ๋ถํ
- ํ๋จ ์ํ ๋ฐ์ XRun ์์น๋ฅผ ํ์ธ โ 1๋ถ๊ฐ ๋ฒํผ ์ธ๋๋ฐ ํ์ ํ์
- Windows Audio (Low Latency) ๋ชจ๋์์ ๋๊ธด๋ค๋ฉด โ Windows Audio๋ก ๋ณ๊ฒฝ ์๋ (FAQ์ ๋๋ผ์ด๋ฒ ๊ฐ์ด๋ ์ฐธ์กฐ)
- macOS: CoreAudio ๊ธฐ๋ณธ ๋ฒํผ ํฌ๊ธฐ ์กฐ์ (Audio MIDI Setup์์๋ ํ์ธ ๊ฐ๋ฅ)
- Linux: JACK ์ฌ์ฉ ์
jackd์ค์ ์์ period/nperiods ์กฐ์
Adjust the Buffer Size:
- Audio tab โ Buffer Size: lower values reduce latency but increase CPU load
256 samples(~5ms @ 48kHz) โ good starting point128 samples(~2.7ms) โ low latency, recommended for higher-end PCs512 samples(~10ms) โ stable, recommended for lower-end PCs
Still crackling?
- Reduce the number of plugins, or Bypass CPU-heavy ones
- If you have an audio interface, switch to ASIO driver (Windows, allows even lower latency)
- Check the CPU % in the bottom status bar โ above 60% indicates overload
- Check the XRun count in the status bar โ shows buffer underruns in the last 60 seconds
- Windows: If crackling in Windows Audio (Low Latency) โ try switching to Windows Audio (see Driver Guide FAQ)
- macOS: Adjust CoreAudio buffer size (also configurable in Audio MIDI Setup)
- Linux: With JACK, tune
jackdperiod/nperiods settings
์ค๋์ค ๋๋ผ์ด๋ฒ ์ข ๋ฅ์ ์ ํ ๊ฐ์ด๋ / Audio Driver Types & Selection Guide
DirectPipe๋ ํ๋ซํผ๋ณ๋ก ๋ค๋ฅธ ์ค๋์ค ๋๋ผ์ด๋ฒ๋ฅผ ์ง์ํฉ๋๋ค. Audio ํญ์ Driver ๋๋กญ๋ค์ด์์ ์ ํํ ์ ์์ต๋๋ค.
- Windows: 5๊ฐ์ง ๋๋ผ์ด๋ฒ (์๋ ์์ธ ์ค๋ช )
- macOS: CoreAudio โ macOS ๊ธฐ๋ณธ ์ค๋์ค ์์คํ . ์ถ๊ฐ ์ค์ ์์ด ์๋ ๋์, ์ถฉ๋ถํ ๋ฎ์ ์ง์ฐ
- Linux: ALSA (๊ธฐ๋ณธ) ๋๋ JACK (์ ์ง์ฐ) โ JACK ์ฌ์ฉ ์
jackd์คํ ํ์
DirectPipe supports different audio drivers per platform. Select from the Driver dropdown in the Audio tab.
- Windows: 5 driver types (detailed below)
- macOS: CoreAudio โ macOS native audio system. Works automatically with low latency, no extra setup
- Linux: ALSA (default) or JACK (low latency) โ JACK requires running
jackd
Windows ๋๋ผ์ด๋ฒ ์์ธ / Windows Driver Details:
Windows XP ์์ ์ ์ค๋์ค API์ ๋๋ค. JUCE๊ฐ ์๋์ผ๋ก ๋ฑ๋กํ๋ฉฐ ๋ชฉ๋ก์ ํ์๋์ง๋ง, WASAPI๋ณด๋ค ์ง์ฐ์ด ํฌ๊ณ ๊ธฐ๋ฅ์ด ์ ํ์ ์ด๋ฏ๋ก ์ฌ์ฉํ ์ด์ ๊ฐ ์์ต๋๋ค.
Legacy audio API from the Windows XP era. JUCE registers it automatically, but it has higher latency and fewer features than WASAPI โ there is no reason to use it.
- ์ง์ฐ / Latency: 50-100ms+ (๊ฐ์ฅ ๋์ / highest)
- ๋ฒํผ ์ ์ด / Buffer control: ์ ํ์ / Limited
- ๋ค๋ฅธ ์ฑ ๋์ ์ฌ์ฉ / Shared access: O
- ์ถ์ฒ / Recommended for: ์ฌ์ฉํ์ง ๋ง์ธ์. Windows Audio๋ฅผ ์ฐ์ธ์ / Don't use this. Use Windows Audio
Windows WASAPI ๊ณต์ ๋ชจ๋. ๋ค๋ฅธ ์ฑ๊ณผ ๋์์ ๊ฐ์ ์ฅ์น๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ์์ ์ ์ธ ์ ํ์ ๋๋ค.
Windows WASAPI shared mode. Other apps can use the same device simultaneously. The most reliable choice for most users.
- ์ง์ฐ / Latency: 3-10ms (๋ฒํผ ํฌ๊ธฐ์ ๋ฐ๋ผ / depends on buffer size)
- ๋ฒํผ ์ ์ด / Buffer control: 144 samples (~3ms @ 48kHz)๋ถํฐ ์ ํ ๊ฐ๋ฅ / Selectable from 144 samples
- ๋ค๋ฅธ ์ฑ ๋์ ์ฌ์ฉ / Shared access: O
- ์ถ์ฒ / Recommended for: ๋๋ถ๋ถ์ ์ฌ์ฉ์, USB ๋ง์ดํฌ ์ฌ์ฉ์ / Most users, USB mic users
WASAPI ๊ณต์ ๋ชจ๋์ด๋ฉด์ ์ ์ง์ฐ. Windows 10 1607+ ์์ IAudioClient3๋ฅผ ์ฌ์ฉํด ์ต์ ์ฃผ๊ธฐ(period)๋ก ๋์ํฉ๋๋ค.
Low-latency shared WASAPI mode. Uses IAudioClient3 on Windows 10 1607+ for minimum audio periods.
- ์ง์ฐ / Latency: ํ๋์จ์ด์ ๋ฐ๋ผ ๋ค๋ฆ / Varies by hardware
- ๋ฒํผ ์ ์ด / Buffer control: ํ๋์จ์ด๊ฐ ๋ณด๊ณ ํ ์ต์ ๋จ์๋ก ์ธ๋ฐ ์กฐ์ / Fine-grained, hardware-defined steps
- ๋ค๋ฅธ ์ฑ ๋์ ์ฌ์ฉ / Shared access: O
- ์ฐธ๊ณ / Note: USB ๋ง์ดํฌ ๋ฑ ๋ง์ ์ค๋์ค ์ฅ์น๊ฐ IAudioClient3๋ฅผ ์ ๋๋ก ์ง์ํ์ง ์์ต๋๋ค / Many audio devices (especially USB mics) don't properly support IAudioClient3
์ฃผ์ / Warning: LL ๋ชจ๋์ ์ค์ ์ฑ๋ฅ์ ์ค๋์ค ๋๋ผ์ด๋ฒ์ IAudioClient3 ๊ตฌํ์ ์ ์ ์ผ๋ก ์์กดํฉ๋๋ค. ๋ง์ USB ๋ง์ดํฌ์ ์ผ๋ฐ ์ค๋์ค ์ฅ์น์ ๋๋ผ์ด๋ฒ๋ IAudioClient3์
GetSharedModeEnginePeriod()์์ ์ต์/์ต๋/๊ธฐ๋ณธ ์ฃผ๊ธฐ๋ฅผ ๋์ผํ ๊ฐ(์: 480 samples = 10ms)์ผ๋ก ๋ณด๊ณ ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ผ๋ฐ Windows Audio ๋ชจ๋๊ฐ ์คํ๋ ค ๋ ๋ฎ์ ๋ฒํผ(144 samples = ~3ms)๋ฅผ ์ฌ์ฉํ ์ ์์ด ์ง์ฐ์ด ๋ ์ ์ต๋๋ค. LL ๋ชจ๋์์ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ฑฐ๋ ์ผ๋ฐ ๋ชจ๋๋ณด๋ค ๋์ ์ง์ฐ์ด ๋ํ๋๋ค๋ฉด, Windows Audio๋ฅผ ์ฌ์ฉํ์ธ์.Warning: LL mode performance depends entirely on your audio driver's IAudioClient3 implementation. Many USB mics and generic audio devices report the same value for min/max/default period in
GetSharedModeEnginePeriod()(e.g., 480 samples = 10ms). In such cases, standard Windows Audio mode can actually achieve lower buffers (144 samples = ~3ms) and thus lower latency. If you can't change the buffer size in LL mode or see higher latency than standard mode, use Windows Audio instead.
WASAPI ๋ ์ ๋ชจ๋. ํด๋น ์ฅ์น๋ฅผ ์ฑ์ด ๋ ์ ํ๋ฏ๋ก ๋ค๋ฅธ ์ฑ์ ์๋ฆฌ๊ฐ ๋์ง ์์ต๋๋ค.
WASAPI exclusive mode. The app takes exclusive control of the device -- other apps cannot output sound.
- ์ง์ฐ / Latency: 10-20ms
- ๋ฒํผ ์ ์ด / Buffer control: ์ฑ์ด ์ง์ ์ ์ด / App-controlled
- ๋ค๋ฅธ ์ฑ ๋์ ์ฌ์ฉ / Shared access: X (๋ ์ / exclusive)
- ์ถ์ฒ / Recommended for: ๋ น์ ์ ์ฉ ํ๊ฒฝ / Dedicated recording setups
- ์ฐธ๊ณ / Note: Windows ์ฌ์ด๋ ์ค์ > ์ฅ์น ์์ฑ > "์ฑ์ด ์ด ๊ธฐ๊ธฐ๋ฅผ ๋ ์ ์ ์ผ๋ก ์ ์ด" ์ฒดํฌ ํ์ / Enable "Allow apps to take exclusive control" in Windows Sound settings
์ ๋ฌธ๊ฐ์ฉ ์ ์ง์ฐ ๋๋ผ์ด๋ฒ. ์ค๋์ค ์ธํฐํ์ด์ค์ ๋ค์ดํฐ๋ธ ASIO ๋๋ผ์ด๋ฒ๊ฐ ํ์ํฉ๋๋ค.
Professional low-latency driver. Requires native ASIO driver from your audio interface.
- ์ง์ฐ / Latency: 2-5ms (๊ฐ์ฅ ๋ฎ์ / lowest)
- ๋ฒํผ ์ ์ด / Buffer control: ASIO Control Panel์์ ์ธ๋ฐ ์กฐ์ / Fine control via ASIO Control Panel
- ๋ค๋ฅธ ์ฑ ๋์ ์ฌ์ฉ / Shared access: ์ฅ์น์ ๋ฐ๋ผ ๋ค๋ฆ / Depends on device
- ์ถ์ฒ / Recommended for: ์ ๋ฌธ๊ฐ, ์ค๋์ค ์ธํฐํ์ด์ค ์ฌ์ฉ์ / Pros, audio interface users
| DirectSound | Windows Audio | Low Latency | Exclusive Mode | ASIO | |
|---|---|---|---|---|---|
| ์ง์ฐ / Latency | 50-100ms+ | 3-10ms | ๋๋ผ์ด๋ฒ ์์กด / Driver-dependent | 10-20ms | 2-5ms |
| ๋ค๋ฅธ ์ฑ ๋์ / Shared | O | O | O | X | - |
| ๋ฒํผ ์ธ๋ฐ๋ / Buffer granularity | ์ ํ์ / Limited | ๋ณดํต / Moderate | ๋๋ผ์ด๋ฒ ์์กด / Driver-dependent | ๋ณดํต / Moderate | ์ธ๋ฐ / Fine |
| ํธํ์ฑ / Compatibility | ๋ชจ๋ ์ฅ์น / All | ๋ชจ๋ ์ฅ์น / All devices | ์ ํ์ / Limited | ๋๋ถ๋ถ / Most | ์ ์ฉ ๋๋ผ์ด๋ฒ / Driver needed |
| ์ค์น / Setup | ์์ / None | ์์ / None | ์์ / None | ์์ / None | ๋๋ผ์ด๋ฒ ํ์ / Driver needed |
| ์ถ์ฒ / Recommended | X | O | ์ฅ์น์ ๋ฐ๋ผ / Depends | ๋ น์ ์ ์ฉ / Recording | ์ ๋ฌธ๊ฐ / Pro |
Windows:
- USB ๋ง์ดํฌ ์ฌ์ฉ์ -> Windows Audio ์ฌ์ฉ (๊ฐ์ฅ ์์ ์ , ์ถฉ๋ถํ ๋ฎ์ ์ง์ฐ) / Use Windows Audio (most reliable, low enough latency)
- ์ค๋์ค ์ธํฐํ์ด์ค๊ฐ ์๋ค๋ฉด -> ASIO ์ฌ์ฉ (์ต์ ์ง์ฐ) / Use ASIO (lowest latency)
- LL ๋ชจ๋๋ฅผ ์๋ํด๋ดค๋๋ฐ ๋ฒํผ ๋ณ๊ฒฝ์ด ์ ๋๊ฑฐ๋ ์ง์ฐ์ด ๋๋ค๋ฉด -> Windows Audio๋ก ๋์๊ฐ์ธ์ / If LL mode doesn't allow buffer changes or has higher latency, go back to Windows Audio
- ๋ น์ ์ ์ฉ PC๋ผ๋ฉด -> Windows Audio (Exclusive Mode) ๋ ๊ณ ๋ ค / Consider Exclusive Mode
macOS: CoreAudio ํ๋๋ง ์ฌ์ฉ (์ถ๊ฐ ์ ํ ๋ถํ์) / CoreAudio is the only option (no driver selection needed)
Linux: ์ผ๋ฐ ์ฌ์ฉ์ ALSA, ์ ์ง์ฐ์ด ํ์ํ๋ฉด JACK ์ฌ์ฉ / Use ALSA for general use, JACK for low latency
ํ๋ฌ๊ทธ์ธ ์ค์บ ์ค ํ๋ก๊ทธ๋จ์ด ๋ฉ์ถ ๊ฒ ๊ฐ์์ / Plugin scan seems stuck
ํ๋ฌ๊ทธ์ธ ์ค์บ์ ๋ณ๋ ํ๋ก์ธ์ค์์ ์คํ๋๋ฏ๋ก DirectPipe๊ฐ ๋ฉ์ถ๊ฑฐ๋ ํฌ๋์ํ์ง ์์ต๋๋ค. ์ผ๋ถ ํ๋ฌ๊ทธ์ธ์ ์ค์บ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค (์ต๋ 5๋ถ).
- ํฌ๋์๋ฅผ ์ ๋ฐํ๋ ํ๋ฌ๊ทธ์ธ์ ์๋์ผ๋ก ๋ธ๋๋ฆฌ์คํธ์ ๋ฑ๋ก๋์ด ๋ค์ ์ค์บ์์ ๊ฑด๋๋๋๋ค
- ์ค์บ ๋ก๊ทธ ํ์ธ: Windows
%AppData%/DirectPipe/scanner-log.txt, macOS~/Library/Application Support/DirectPipe/scanner-log.txt, Linux~/.config/DirectPipe/scanner-log.txt
Plugin scanning runs in a separate process, so a plugin scan crash should not take down the main DirectPipe app. Some plugins may take a while to scan (up to 5 minutes).
- Plugins that cause crashes are automatically blacklisted and skipped in future scans
- Scan log: Windows
%AppData%/DirectPipe/scanner-log.txt, macOS~/Library/Application Support/DirectPipe/scanner-log.txt, Linux~/.config/DirectPipe/scanner-log.txt
ํ๋ฆฌ์ ์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์? / How to use presets?
Quick Preset Slots (AโE):
- ํ์ฌ ํ๋ฌ๊ทธ์ธ ์ฒด์ธ๊ณผ ์ค์ ์ AโE ์ฌ๋กฏ์ ์ ์ฅํ ์ ์์ต๋๋ค
- ์ฌ๋กฏ ๋ฒํผ (A/B/C/D/E) ํด๋ฆญ โ ๋น์ด์์ผ๋ฉด ํ์ฌ ์ํ ์ ์ฅ, ์ฐจ์์ผ๋ฉด ํด๋น ์ฌ๋กฏ ๋ก๋
- ๊ฐ์ ํ๋ฌ๊ทธ์ธ์ด๋ฉด ํ๋ผ๋ฏธํฐ๋ง ๋ฐ๊ฟ์ ์ฆ์ ์ ํ, ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ด๋ฉด ๋น๋๊ธฐ ๋ก๋ฉ (ํ๋ฆฌ๋ก๋ฉ ์บ์๋ก ๋๊น ์์ด ์ฆ์ ์ ํ)
- ์ฌ๋กฏ ์ฐํด๋ฆญ โ ์ด๋ฆ ๋ณ๊ฒฝ (์:
A|๊ฒ์), ๋ณต์ , ์ญ์ , ๋ด๋ณด๋ด๊ธฐ/๊ฐ์ ธ์ค๊ธฐ (.dppreset) - Save/Load ๋ฒํผ์ผ๋ก .dppreset ํ์ผ์ ํ๋ฆฌ์ ์ ์ฅ/๋ถ๋ฌ์ค๊ธฐ ๊ฐ๋ฅ
์: ๊ฒ์ ์ค์ A|๊ฒ์ (๋ ธ์ด์ฆ ์ ๊ฑฐ๋ง), ๋ ธ๋๋ฐฉ์์ B|๋ ธ๋ (๋ฆฌ๋ฒ๋ธ + ์ปดํ๋ ์)
Quick Preset Slots (AโE):
- Save your current plugin chain and settings to slots A through E
- Click a slot button (A/B/C/D/E) โ saves current state if empty, loads slot if occupied
- If the plugins are the same, only parameters change (near-instant switch); different plugins use async loading (preloading cache can shorten the transition)
- Right-click slot โ Rename (e.g.,
A|Game), Copy, Delete, Export/Import (.dppreset) - Use Save/Load buttons to save/load presets as .dppreset files
Example: Slot A|Game for gaming (noise removal only), Slot B|Karaoke for karaoke (reverb + compressor)
Monitor ์ถ๋ ฅ์ ๋ญ๊ฐ์? / What is Monitor output?
Monitor๋ ์๊ธฐ ๋ชฉ์๋ฆฌ๋ฅผ ํค๋ํฐ์ผ๋ก ์ค์๊ฐ ํ์ธํ๋ ๊ธฐ๋ฅ์ ๋๋ค. VST ์ดํํธ๊ฐ ์ ์ฉ๋ ์์ ์ ๋ชฉ์๋ฆฌ๋ฅผ ๋ค์ ์ ์์ต๋๋ค.
- Output ํญ์์ ํค๋ํฐ์ด ์ฐ๊ฒฐ๋ ์ค๋์ค ์ฅ์น๋ฅผ ์ ํ
- Main Output๊ณผ๋ ๋ณ๋์ shared-mode ์ค๋์ค ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ ๋ฆฝ์ ์ผ๋ก ๋์ (Windows: WASAPI, macOS: CoreAudio, Linux: ALSA)
- MON ๋ฒํผ์ผ๋ก ์ผ๊ธฐ/๋๊ธฐ
์ง์ฐ(๋ ์ดํด์) ์ฐธ๊ณ : ๋ชจ๋ํฐ ์ถ๋ ฅ์ ๋ฉ์ธ ์ค๋์ค์ ๋ณ๋์ ์ค๋์ค ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, ์ฅ์น/๋๋ผ์ด๋ฒ/๋ฒํผ ์ค์ ์ ๋ฐ๋ผ ๋ณดํต ์ถ๊ฐ ์ง์ฐ์ด ๋๊ปด์ง ์ ์์ต๋๋ค. 4.0.8๋ถํฐ MonitorOutput์ ๋ ์ฅ์น์ ํด๋ก์ด ๋ฒ์ด์ ธ ring buffer๊ฐ ๊ณผ๋ํ๊ฒ ์์ผ ๋ ์ค๋๋ ํ๋ ์์ ์๋ ์ ๋ฆฌํด ์ง์ฐ์ด ๊ณ์ ์ฆ๊ฐํ์ง ์๋๋ก ์ ํํฉ๋๋ค. ๊ฐ์ฅ ๋ฎ์ ๋ชจ๋ํฐ ์ง์ฐ์ด ํ์ํ๋ค๋ฉด ASIO ๋๋ผ์ด๋ฒ ์ฌ์ฉ (Windows, ์ ์ถ๋ ฅ์ด ํ๋์ ๋๋ฐ์ด์ค๋ก ์ฒ๋ฆฌ๋จ) ๋๋ ์ค๋์ค ์ธํฐํ์ด์ค์ ํ๋์จ์ด ๋ค์ด๋ ํธ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ ๊ถ์ฅํฉ๋๋ค.
Monitor lets you hear your own processed voice through headphones in real-time, with all VST effects applied.
- Select your headphone device in the Output tab
- Uses a separate shared-mode audio device from the Main Output, so it works independently (Windows: WASAPI, macOS: CoreAudio, Linux: ALSA)
- Toggle on/off with the MON button
Latency note: Monitor output uses a separate audio device, so you will usually hear some extra latency depending on the device, driver, and buffer settings. Since 4.0.8, MonitorOutput trims stale ring-buffer frames when independent device clocks drift apart, keeping accumulated latency bounded over long sessions. For the lowest monitor latency, use an ASIO driver (Windows only, single device handles both input and output) or your audio interface's hardware direct monitoring feature.
์ปดํจํฐ ์์ํ ๋ ์๋์ผ๋ก ์คํ๋๊ฒ ํ๋ ค๋ฉด? / How to auto-start at login?
๋ ๊ฐ์ง ๋ฐฉ๋ฒ:
- ์์คํ ํธ๋ ์ด ์์ด์ฝ ์ฐํด๋ฆญ โ ์๋ ์์ ์ฒดํฌ
- Settings ํญ โ ์๋ ์์ ์ฒดํฌ
๋ผ๋ฒจ์ ํ๋ซํผ๋ณ๋ก ๋ค๋ฆ ๋๋ค: Windows/Linux "Start with System", macOS "Open at Login".
ํ์ฑํํ๋ฉด ๋ก๊ทธ์ธ ์ ์๋์ผ๋ก ํธ๋ ์ด์์ ์คํ๋ฉ๋๋ค. X ๋ฒํผ์ผ๋ก ์ฐฝ์ ๋ซ์๋ ํธ๋ ์ด์ ๋จ์์ ๊ณ์ ๋์ํฉ๋๋ค.
- Windows: ๋ ์ง์คํธ๋ฆฌ (
HKCU\...\Run) - macOS: LaunchAgent (
~/Library/LaunchAgents/) - Linux: XDG autostart (
~/.config/autostart/)
Two ways to enable:
- Right-click the system tray icon โ check the auto-start toggle
- Settings tab โ check the auto-start toggle
The label adapts to your platform: Windows/Linux "Start with System", macOS "Open at Login".
Once enabled, DirectPipe launches automatically at login. Closing the window (X button) minimizes it to the tray โ it keeps running in the background.
- Windows: Registry (
HKCU\...\Run) - macOS: LaunchAgent (
~/Library/LaunchAgents/) - Linux: XDG autostart (
~/.config/autostart/)
Stream Deck ํ๋ฌ๊ทธ์ธ์ ์ด๋์ ๋ฐ๋์? / Where to get the Stream Deck plugin?
Elgato Marketplace์์ ๋ฌด๋ฃ ์ค์น โ Stream Deck ์ฑ์์ ๋ฐ๋ก ์ค์น๋ฉ๋๋ค.
Install free from Elgato Marketplace โ Installs directly into the Stream Deck app.
์ง์ ์ก์ (10์ข ): Bypass Toggle, Volume Control (SD+ ๋ค์ด์ผ), Preset Switch, Monitor Toggle, Panic Mute, Recording Toggle, IPC Toggle, Performance Monitor, Plugin Parameter (SD+ ๋ค์ด์ผ), Preset Bar (SD+ ํฐ์น์คํฌ๋ฆฐ)
Supported actions (10): Bypass Toggle, Volume Control (SD+ dial), Preset Switch, Monitor Toggle, Panic Mute, Recording Toggle, IPC Toggle, Performance Monitor, Plugin Parameter (SD+ dial), Preset Bar (SD+ touchscreen)
Stream Deck ์์ด๋ ์ธ๋ถ ์ ์ด๊ฐ ๋๋์? / Can I control without a Stream Deck?
๋ค! ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ดํ ์ ์์ต๋๋ค:
Yes! Multiple control methods are available:
| ๋ฐฉ๋ฒ / Method | ์์ / Example | ์ ํฉํ ์ฉ๋ / Best for |
|---|---|---|
| ํค๋ณด๋ ๋จ์ถํค / Hotkeys | Ctrl+Shift+1โ9 bypass, F1โF5 ํ๋ฆฌ์ / presets | ๊ฐ์ฅ ๊ฐํธ / Simplest |
| MIDI CC | ๋ฏธ๋ ์ปจํธ๋กค๋ฌ ๋ ธ๋ธ/๋ฒํผ / MIDI controller knobs | ์ค์๊ฐ ๋ณผ๋ฅจ ์กฐ์ / Real-time volume |
| HTTP API | curl http://localhost:8766/api/... |
์คํฌ๋ฆฝํธ ์๋ํ / Script automation |
| WebSocket | ws://localhost:8765 | ์ปค์คํ ์ฑ/๋ด ์ฐ๋ / Custom app integration |
์์ธํ ๋ด์ฉ / Details: Control API
DirectPipe Receiver ํ๋ฌ๊ทธ์ธ์ด ๋ญ๊ฐ์? / What is the DirectPipe Receiver plugin?
DirectPipe Receiver๋ DirectPipe์์ ์ฒ๋ฆฌํ ๋ง์ดํฌ ์ค๋์ค๋ฅผ OBS, DAW ๋ฑ์์ ์ง์ ๋ฐ์ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ฌ๊ทธ์ธ์ ๋๋ค. VST2, VST3, AU ํฌ๋งท์ผ๋ก ์ ๊ณต๋ฉ๋๋ค (OBS๋ VST2๋ง ์ง์).
๋ณดํต DirectPipe์์ ์ฒ๋ฆฌ๋ ์ค๋์ค๋ฅผ OBS๋ก ๋ณด๋ด๋ ค๋ฉด ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ (VB-Cable, BlackHole ๋ฑ)์ด ํ์ํฉ๋๋ค. DirectPipe Receiver๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ ์ผ์ด๋ธ ์์ด ๊ณต์ ๋ฉ๋ชจ๋ฆฌ(IPC)๋ฅผ ํตํด ์ค๋์ค๋ฅผ ์ง์ ๋ฐ์ ์ ์์ด ์ค์ ์ด ๋ ๊ฐ๋จํ๊ณ ์ง์ฐ๋ ์ ์ต๋๋ค.
DirectPipe Receiver is a plugin that lets OBS, DAWs, and other hosts receive DirectPipe's processed mic audio directly. Available in VST2, VST3, and AU formats (OBS only supports VST2).
Normally, to route DirectPipe's processed audio to OBS, you need a virtual audio cable (VB-Cable, BlackHole, etc.). With the DirectPipe Receiver, you can receive audio directly via shared memory (IPC) โ no virtual cable needed, usually simpler to set up, and often lower-latency or more predictable than virtual-cable routing depending on the host and driver setup.
DirectPipe Receiver vs. Virtual Cable ๋น๊ต / Comparison:
| DirectPipe Receiver | ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ / Virtual Audio Cable | |
|---|---|---|
| ์ค์น / Install | Receiver ํ๋ฌ๊ทธ์ธ์ VST/AU ํด๋์ ๋ณต์ฌ / Copy plugin to VST/AU folder | ๊ฐ์ ์ผ์ด๋ธ ์ค์น (VB-Cable/BlackHole ๋ฑ) / Install virtual cable |
| ์ค์ / Setup | OBS/DAW์์ ํ๋ฌ๊ทธ์ธ ํํฐ ์ถ๊ฐ๋ง ํ๋ฉด ๋จ / Just add plugin filter in OBS/DAW | DirectPipe Output + OBS Input ์์ชฝ ์ค์ ํ์ / Configure both sides |
| ์ง์ฐ / Latency | ~5โ85ms (ํ๋ฆฌ์ ์ ํ ๊ฐ๋ฅ) / Configurable | ๋๋ผ์ด๋ฒ์ ์์กด / Depends on driver |
| ์ถ๊ฐ ์ํํธ์จ์ด / Extra software | ๋ถํ์ / None needed | ๊ฐ์ ์ผ์ด๋ธ ํ์ (VB-Cable/BlackHole ๋ฑ) / Virtual cable required |
| ํธํ์ฑ / Compatibility | VST2/VST3/AU ์ง์ ์ฑ / VST2/VST3/AU-capable apps | ๋ชจ๋ ์ฑ / Any app |
| ์ถ์ฒ / Recommended for | OBS, DAW ์ฌ์ฉ์ / OBS, DAW users | Discord, Zoom ๋ฑ ์ผ๋ฐ ์ฑ / General apps |
OBS์์ Receiver VST2๋ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์? / How to use the Receiver VST2 in OBS?
OBS์์ Receiver VST2 ์ค์ ํ๊ธฐ (OBS๋ VST2๋ง ์ง์):
-
Receiver ํ๋ฌ๊ทธ์ธ์ VST2 ํด๋์ ๋ณต์ฌ
- Windows:
DirectPipe Receiver.dllโC:\Program Files\VSTPlugins\(๊ถ์ฅ),C:\Program Files\Common Files\VST2\, ๋๋C:\Program Files\Steinberg\VstPlugins\ - macOS:
DirectPipe Receiver.vstโ/Library/Audio/Plug-Ins/VST/๋๋~/Library/Audio/Plug-Ins/VST/ - Linux:
DirectPipe Receiver.soโ/usr/lib/vst/๋๋~/.vst/
- Windows:
-
DirectPipe์์ IPC ์ถ๋ ฅ ์ผ๊ธฐ
- DirectPipe ์คํ โ ํ๋จ์ VST ๋ฒํผ ํด๋ฆญ (์ด๋ก์์ผ๋ก ๋ณ๊ฒฝ)
- ๋๋: Output ํญ์์ "Enable VST Receiver Output" ์ฒดํฌ
- ๋๋: ์ฌ์ฉ์ ์ ์ ๋จ์ถํค (Controls > Hotkeys์์ IPC Toggle์ ๋จ์ถํค ํ ๋น)
-
OBS ์ค์
- OBS ์คํ โ ์์ค ์์ญ์์ ์ค๋์ค ์์ค(๋ง์ดํฌ ๋ฑ) ์ ํ โ ํํฐ ํด๋ฆญ
- "+" ๋ฒํผ โ "VST 2.x ํ๋ฌ๊ทธ์ธ" ์ ํ
- ํ๋ฌ๊ทธ์ธ ๋ชฉ๋ก์์ "DirectPipe Receiver" ์ ํ
- "ํ๋ฌ๊ทธ์ธ ์ธํฐํ์ด์ค ์ด๊ธฐ" ํด๋ฆญํ๋ฉด ์ฐ๊ฒฐ ์ํ์ ๋ฒํผ ์ค์ ํ์ธ ๊ฐ๋ฅ
-
์ฐ๊ฒฐ ํ์ธ
- Receiver ํ๋ฌ๊ทธ์ธ UI์์ "Connected" (์ด๋ก์ ์)์ด ํ์๋๋ฉด ์ ์
- "Disconnected" (๋นจ๊ฐ์)์ด๋ฉด DirectPipe๊ฐ ์คํ ์ค์ด๊ณ IPC๊ฐ ์ผ์ ธ ์๋์ง ํ์ธ
DirectPipe (๋ง์ดํฌ + VST ์ดํํธ)
โ IPC (๊ณต์ ๋ฉ๋ชจ๋ฆฌ)
OBS [DirectPipe Receiver VST ํํฐ]
โ
๋ฐฉ์ก / ๋
นํ
Setting up Receiver VST2 in OBS (OBS only supports VST2):
-
Copy the Receiver plugin to a VST2 folder:
- Windows:
DirectPipe Receiver.dllโC:\Program Files\VSTPlugins\(Recommended),C:\Program Files\Common Files\VST2\, orC:\Program Files\Steinberg\VstPlugins\ - macOS:
DirectPipe Receiver.vstโ/Library/Audio/Plug-Ins/VST/or~/Library/Audio/Plug-Ins/VST/ - Linux:
DirectPipe Receiver.soโ/usr/lib/vst/or~/.vst/
- Windows:
-
Enable IPC output in DirectPipe
- Run DirectPipe โ click the VST button at the bottom (turns green)
- Or: Output tab โ check "Enable VST Receiver Output"
- Or: user-defined hotkey (assign a key combo to IPC Toggle in Controls > Hotkeys)
-
Configure OBS
- Open OBS โ select an audio source (e.g., mic) โ click Filters
- Click "+" โ select "VST 2.x Plug-in"
- Choose "DirectPipe Receiver" from the plugin list
- Click "Open Plug-in Interface" to verify connection and adjust buffer settings
-
Verify connection
- In the Receiver plugin UI, "Connected" with a green circle = working
- If "Disconnected" (red), check that DirectPipe is running and IPC is enabled
DirectPipe (Mic + VST Effects)
โ IPC (Shared Memory)
OBS [DirectPipe Receiver VST Filter]
โ
Stream / Recording
Receiver ํ๋ฌ๊ทธ์ธ์์ ๋๊น/์ง์ฐ์ด ์์ด์ / Audio crackling or latency with DirectPipe Receiver
๋ฒํผ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ์ธ์:
Receiver ํ๋ฌ๊ทธ์ธ UI๋ฅผ ์ด๋ฉด Buffer ๋๋กญ๋ค์ด์์ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
| ํ๋ฆฌ์ | ์ง์ฐ | ๊ถ์ฅ ์ํฉ |
|---|---|---|
| Ultra Low | ~5ms | ์ค์๊ฐ ๋ชจ๋ํฐ๋ง์ด ์ค์ํ ๋ (๋๊น ๊ฐ๋ฅ์ฑ ์์) |
| Low (๊ธฐ๋ณธ) | ~10ms | ๋๋ถ๋ถ์ ์ํฉ์ ์ ํฉ |
| Medium | ~21ms | ์์ ์ ์ธ ์ฐ๊ฒฐ |
| High | ~42ms | CPU ์ฌ์ฉ๋์ด ๋์ ๋ |
| Safe | ~85ms | ๋๊น์ด ์์ฃผ ๋ฐ์ํ ๋ |
์ฌ์ ํ ๋๊ธด๋ค๋ฉด:
- ํ ๋จ๊ณ ๋์ ๋ฒํผ ํ๋ฆฌ์ ์ ์ ํํ์ธ์
- DirectPipe์ OBS์ ์ํ๋ ์ดํธ๋ฅผ ๋์ผํ๊ฒ ๋ง์ถ์ธ์ (์: ๋ ๋ค 48000Hz)
- CPU ์ฌ์ฉ๋์ ํ์ธํ์ธ์ โ DirectPipe ํ๋จ ์ํ ๋ฐ์์ ํ์ธ ๊ฐ๋ฅ
Adjust the buffer size:
Open the Receiver plugin interface and select a buffer size from the Buffer dropdown.
| Preset | Latency | Recommended for |
|---|---|---|
| Ultra Low | ~5ms | When real-time monitoring matters (risk of dropouts) |
| Low (default) | ~10ms | Most situations |
| Medium | ~21ms | Stable connection |
| High | ~42ms | When CPU load is high |
| Safe | ~85ms | If you experience frequent dropouts |
Still getting dropouts?
- Select a higher buffer preset
- Make sure DirectPipe and OBS use the same sample rate (e.g., both at 48000Hz)
- Check CPU usage โ visible in DirectPipe's bottom status bar
DirectPipe Receiver์ ๊ฐ์ ์ผ์ด๋ธ ์ค ๋ญ ์จ์ผ ํ๋์? / Should I use DirectPipe Receiver or Virtual Cable?
์ํฉ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค:
DirectPipe Receiver๋ฅผ ์ถ์ฒํ๋ ๊ฒฝ์ฐ:
- OBS์์ DirectPipe ์ค๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ (OBS๋ VST2 ์ง์)
- DAW์์ DirectPipe ์ค๋์ค๋ฅผ ๋ฐ์ ์ถ๊ฐ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ (VST3/AU ์ฌ์ฉ ๊ฐ๋ฅ)
- ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ์ ์ค์นํ๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ
- ์ค์ ์ ์ต์ํํ๊ณ ์ถ์ ๊ฒฝ์ฐ
๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ์ ์ถ์ฒํ๋ ๊ฒฝ์ฐ (VB-Cable/BlackHole/PipeWire):
- Discord, Zoom, Google Meet ๋ฑ VST ํ๋ฌ๊ทธ์ธ์ ์ง์ํ์ง ์๋ ์ฑ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ์ฌ๋ฌ ์ฑ์์ ๋์์ DirectPipe ์ค๋์ค๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ
- OBS ์ด์ธ์ ์ฑ์์๋ ๊ฐ์ ๋ง์ดํฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ
๋ ๋ค ๋์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค!
- DirectPipe Output โ ๊ฐ์ ์ผ์ด๋ธ (Discord/Zoom์ฉ)
- DirectPipe IPC โ Receiver VST2 (OBS์ฉ)
- ์ด๋ ๊ฒ ํ๋ฉด Discord์๋ ๊ฐ์ ์ผ์ด๋ธ๋ก, OBS์๋ DirectPipe Receiver๋ก ๋์์ ์ค๋์ค๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค
Depends on your use case:
Use DirectPipe Receiver when:
- Using DirectPipe audio in OBS (OBS supports VST2)
- Using DirectPipe audio in a DAW (VST3/AU available)
- Don't want to install virtual audio cable software
- Want minimal setup
Use a virtual audio cable (VB-Cable/BlackHole/PipeWire) when:
- Using apps that don't support VST plugins (Discord, Zoom, Google Meet, etc.)
- Need to use DirectPipe audio in multiple apps simultaneously
- Need a virtual microphone for non-OBS apps
You can use both at the same time!
- DirectPipe Output โ Virtual cable (for Discord/Zoom)
- DirectPipe IPC โ Receiver VST2 (for OBS)
- This lets you send audio to Discord via virtual cable and to OBS via DirectPipe Receiver simultaneously
IPC ์ถ๋ ฅ(VST ๋ฒํผ)์ ๋ญ๊ฐ์? ์ผ์ผ ํ๋์? / What is IPC Output (VST button)? Do I need to enable it?
IPC(Inter-Process Communication) ์ถ๋ ฅ์ DirectPipe์์ ์ฒ๋ฆฌํ ์ค๋์ค๋ฅผ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด ๋ค๋ฅธ ํ๋ก์ธ์ค(DirectPipe Receiver ํ๋ฌ๊ทธ์ธ)์ ์ ๋ฌํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ ๊บผ์ ธ(OFF) ์์ต๋๋ค. ๊ฐ์ ์ค๋์ค ์ผ์ด๋ธ (VB-Cable, BlackHole ๋ฑ)๋ง ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์ผค ํ์๊ฐ ์์ต๋๋ค.
์ผ์ผ ํ๋ ๊ฒฝ์ฐ:
- OBS์์ DirectPipe Receiver VST2 ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ๋
- ๊ฐ์ ์ผ์ด๋ธ ์์ด OBS๋ก ์ค๋์ค๋ฅผ ์ง์ ๋ณด๋ด๊ณ ์ถ์ ๋
์ผ๋ ๋ฐฉ๋ฒ (5๊ฐ์ง):
- DirectPipe ๋ฉ์ธ ํ๋ฉด ํ๋จ์ VST ๋ฒํผ ํด๋ฆญ
- Output ํญ โ "Enable VST Receiver Output" ์ฒดํฌ
- ์ฌ์ฉ์ ์ ์ ๋จ์ถํค (Controls > Hotkeys์์ IPC Toggle์ ๋จ์ถํค ํ ๋น)
- Stream Deck IPC Toggle ๋ฒํผ
- HTTP API:
curl http://localhost:8766/api/ipc/toggle
์ผ๋ฉด VST ๋ฒํผ์ด ์ด๋ก์์ผ๋ก ๋ณํ๊ณ , ๋๋ฉด ๋นจ๊ฐ์์ ๋๋ค.
IPC (Inter-Process Communication) Output sends DirectPipe's processed audio to another process (the DirectPipe Receiver plugin) via shared memory.
It's OFF by default. If you only use a virtual audio cable (VB-Cable, BlackHole, etc.), you don't need to enable it.
Enable it when:
- Using the DirectPipe Receiver VST2 plugin in OBS
- Want to route audio to OBS without a virtual cable
How to enable (5 ways):
- Click the VST button at the bottom of DirectPipe's main window
- Output tab โ check "Enable VST Receiver Output"
- User-defined hotkey (assign a key combo to IPC Toggle in Controls > Hotkeys)
- Stream Deck IPC Toggle button
- HTTP API:
curl http://localhost:8766/api/ipc/toggle
When enabled, the VST button turns green; when disabled, it's red.
์ ๋ฐ์ดํธ๋ ์ด๋ป๊ฒ ํ๋์? / How to update DirectPipe?
DirectPipe๋ ์ธ์ฑ ์ ๋ฐ์ดํธ ์๋ฆผ์ ์ง์ํฉ๋๋ค. ์ ๋ฒ์ ์ด ์์ผ๋ฉด ํ๋จ credit ๋ผ๋ฒจ์ "NEW vX.Y.Z" ๊ฐ ์ฃผํฉ์์ผ๋ก ํ์๋ฉ๋๋ค.
Windows: "Update Now" ๋ฒํผ์ผ๋ก ์๋ ๋ค์ด๋ก๋ โ exe ๊ต์ฒด โ ์ฌ์์. macOS/Linux: "View on GitHub" ๋ฒํผ์ผ๋ก ๋ฆด๋ฆฌ์ฆ ํ์ด์ง์์ ์๋ ๋ค์ด๋ก๋.
์ธํฐ๋ท์ด ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋ ๊ธฐ์กด ๋ฒ์ ์ ์ ์์ ์ผ๋ก ๋์ํฉ๋๋ค.
DirectPipe includes in-app update notification. When a newer version is available, the bottom credit label shows "NEW vX.Y.Z" in orange.
Windows: Click "Update Now" for auto-download โ replace exe โ restart. macOS/Linux: Click "View on GitHub" to manually download from the release page.
If you're offline, the current version continues to work normally.
ASIO๋ฅผ ์ ํํ๋๋ฐ ๋ค๋ฅธ ์ฑ์์ ์๋ฆฌ๊ฐ ์ ๋์ / Other apps lose audio when ASIO is selected
ASIO ๋๋ผ์ด๋ฒ๋ ์ค๋์ค ์ฅ์น๋ฅผ ๋ ์ (Exclusive) ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. DirectPipe๊ฐ ASIO๋ก ์ค๋์ค ์ฅ์น๋ฅผ ์ด๋ฉด, ๋ค๋ฅธ ์ฑ(Discord, ๋ธ๋ผ์ฐ์ ๋ฑ)์ด ๊ฐ์ ์ฅ์น์ ์ ๊ทผํ ์ ์์ต๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- WASAPI Shared ์ฌ์ฉ (๊ถ์ฅ) โ Audio ํญ > Driver Type์ "Windows Audio"๋ก ๋ณ๊ฒฝ. ๋ค๋ฅธ ์ฑ๊ณผ ์ฅ์น๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ASIO4ALL ์ฌ์ฉ โ ์ฌ๋ฌ ์ฅ์น๋ฅผ ํ๋์ ๊ฐ์ ASIO ์ฅ์น๋ก ๋ฌถ์ ์ ์์ง๋ง, ์ง์ฐ์ด ๋ค์ ์ฆ๊ฐํฉ๋๋ค.
- ์ ์ฉ ์ค๋์ค ์ธํฐํ์ด์ค ์ฌ์ฉ โ Focusrite, SSL ๋ฑ ์ ์ฉ ์ธํฐํ์ด์ค์ ASIO ๋๋ผ์ด๋ฒ๋ ํด๋น ์ฅ์น๋ง ๋ ์ ํ๋ฏ๋ก, ๋ด์ฅ ์ฌ์ด๋์นด๋๋ ๋ค๋ฅธ ์ฑ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
ASIO drivers use exclusive access to the audio device. When DirectPipe opens a device via ASIO, other apps (Discord, browser, etc.) cannot access it.
Solutions:
- Use WASAPI Shared (recommended) โ Change Driver Type to "Windows Audio" in Audio tab. Shares the device with other apps.
- Use ASIO4ALL โ Combines multiple devices into one virtual ASIO device, but adds some latency.
- Use a dedicated audio interface โ Focusrite, SSL, etc. Their ASIO driver only locks the interface, leaving the built-in sound card free for other apps.
ํ๋ฌ๊ทธ์ธ์ด ์ค์บ ๋ชฉ๋ก์ ์ ๋์์ (64-bit ์ ์ฉ) / Plugin not showing in scan results (64-bit only)
DirectPipe๋ 64-bit VST2/VST3 ํ๋ฌ๊ทธ์ธ๋ง ์ง์ํฉ๋๋ค. 32-bit ํ๋ฌ๊ทธ์ธ์ ํ์๋์ง ์์ต๋๋ค.
์ฒดํฌ๋ฆฌ์คํธ:
- 64-bit์ธ์ง ํ์ธ โ 32-bit ์ ์ฉ ํ๋ฌ๊ทธ์ธ์ ์ง์๋์ง ์์ต๋๋ค
- VST ๊ฒฝ๋ก ํ์ธ โ Audio ํญ > Scan Plugins > ์ค์บ ๊ฒฝ๋ก์ ํ๋ฌ๊ทธ์ธ ํด๋๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธ
- ๋ธ๋๋ฆฌ์คํธ ํ์ธ โ ์ด์ ์ค์บ์์ ํฌ๋์ํ ํ๋ฌ๊ทธ์ธ์ ๋ธ๋๋ฆฌ์คํธ์ ๋ฑ๋ก๋ฉ๋๋ค. Settings > Clear Plugin Cache๋ก ์ด๊ธฐํ ํ ์ฌ์ค์บ
- ํ๋ฌ๊ทธ์ธ ์ฌ์ค์น โ ๊ฐํน ์์๋ DLL/VST3 ๋ฒ๋ค์ ์ค์บ๋๊ฐ ๊ฑด๋๋๋๋ค
DirectPipe only supports 64-bit VST2/VST3 plugins. 32-bit plugins won't appear.
Checklist:
- Verify 64-bit โ 32-bit-only plugins are not supported
- Check VST paths โ Audio tab > Scan Plugins > verify plugin folder is in scan paths
- Check blacklist โ Plugins that crashed during previous scans are blacklisted. Reset via Settings > Clear Plugin Cache, then re-scan
- Reinstall plugin โ Corrupted DLL/VST3 bundles may be silently skipped
ํ๋ฆฌ์ ์ ํํ ๋ ์๋ฆฌ๊ฐ ์ ๊น ๋๊ฒจ์ / Brief audio gap when switching presets
ํ๋ฆฌ์
์ ํ ์ ๋งค์ฐ ์งง์ ์ค๋์ค ๊ฐญ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ฐ์ ์ฒด์ธ ์ ํ์ด๋ ์บ์ ํํธ ์ํฉ์์๋ ํํ ~10-50ms ์์ค์ด์ง๋ง, ํ๋ฌ๊ทธ์ธ ๊ตฌ์ฑ๊ณผ ์์คํ
์ํ์ ๋ฐ๋ผ ๋ ๊ธธ์ด์ง ์ ์์ต๋๋ค. ์ด๊ฒ์ Keep-Old-Until-Ready ๋ฉ์ปค๋์ฆ์ ์ ์ ๋์์
๋๋ค โ ์ ํ๋ฌ๊ทธ์ธ ์ฒด์ธ์ด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์ ํ ๋ก๋๋ ๋๊น์ง ์ด์ ์ฒด์ธ์ด ๊ณ์ ์ค๋์ค๋ฅผ ์ฒ๋ฆฌํ๊ณ , ์ค๋น๊ฐ ๋๋ฉด ์์์ ์ผ๋ก ๊ต์ฒดํฉ๋๋ค.
์ด ์งง์ ๊ฐญ์ v3์ 1-3์ด ๋ฌด์ ๊ฐญ์์ ํฌ๊ฒ ๊ฐ์ ๋ ๊ฒ์ ๋๋ค. ํ๋ฆฌ๋ก๋ ์บ์๊ฐ ํ์ฑํ๋์ด ์์ผ๋ฉด (๋ค๋ฅธ ์ฌ๋กฏ ํ๋ฌ๊ทธ์ธ์ ๋ฏธ๋ฆฌ ๋ก๋) ๋ ์งง์์ง ์ ์์ต๋๋ค.
A very brief audio gap may occur during preset switches. In same-chain or cache-hit cases this is often around ~10-50ms, but it can be longer depending on the plugin set and system state. This is normal Keep-Old-Until-Ready behavior โ the old plugin chain continues processing audio while the new chain loads in the background, then swaps atomically when ready.
This short gap is a major improvement over v3's 1-3 second mute gap. With the preload cache active (pre-loads other slots' plugins), the gap can be even shorter.
CPU ์ฌ์ฉ๋์ด ๋์์ / High CPU usage
์์ธ ์ง๋จ:
- Performance Monitor ํ์ธ โ ์ํ ๋ฐ์ CPU % ํ์ธ. 70% ์ด์์ด๋ฉด ํ๋ฌ๊ทธ์ธ ์ฒด์ธ ์ต์ ํ ํ์
- ๋ฌด๊ฑฐ์ด ํ๋ฌ๊ทธ์ธ ์๋ณ โ ๊ฐ ํ๋ฌ๊ทธ์ธ์ ํ๋์ฉ Bypassํ๋ฉด์ CPU ๋ณํ ํ์ธ
- ์ค๋ฒ์ํ๋ง ํ์ธ โ ์ผ๋ถ ํ๋ฌ๊ทธ์ธ(๋ฆฌ๋ฏธํฐ, ์ดํ๋ผ์ด์ )์ ๋ด๋ถ ์ค๋ฒ์ํ๋ง(2x-8x)์ด ์์ด CPU๋ฅผ ํฌ๊ฒ ์ฌ์ฉ
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- ๋ฌด๊ฑฐ์ด ํ๋ฌ๊ทธ์ธ์ ๋ ๊ฐ๋ฒผ์ด ๋์์ผ๋ก ๊ต์ฒด (์: FabFilter Pro-Q 3 โ TDR Nova)
- ๋ถํ์ํ ํ๋ฌ๊ทธ์ธ ์ ๊ฑฐ ๋๋ Bypass
- ๋ฒํผ ํฌ๊ธฐ ๋๋ฆฌ๊ธฐ (Audio ํญ) โ ์ง์ฐ์ด ์ฆ๊ฐํ์ง๋ง CPU ๋ถํ ๊ฐ์
- Auto ๋ชจ๋์ ๋ด์ฅ ํ๋ก์ธ์๋ ์ต์ ํ๋์ด ์์ด CPU ์ฌ์ฉ๋์ด ๋งค์ฐ ๋ฎ์
Diagnosis:
- Check Performance Monitor โ Look at CPU % in status bar. Above 70% means the plugin chain needs optimization
- Identify heavy plugins โ Bypass plugins one by one and observe CPU change
- Check oversampling โ Some plugins (limiters, EQs) have internal oversampling (2x-8x) that significantly increases CPU
Solutions:
- Replace heavy plugins with lighter alternatives (e.g., FabFilter Pro-Q 3 โ TDR Nova)
- Remove or Bypass unused plugins
- Increase buffer size (Audio tab) โ adds latency but reduces CPU load
- Auto mode's built-in processors are optimized and use very little CPU
๋ชจ๋ํฐ์์ ์ง์ฐ์ด ๋๊ปด์ ธ์ / Hearing delay in monitor output
๋ชจ๋ํฐ ์ถ๋ ฅ์ ๋ฉ์ธ ์ถ๋ ฅ๊ณผ ๋ณ๋์ ์ค๋์ค ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, ์ถ๊ฐ ์ง์ฐ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์์ธ:
- ๋ชจ๋ํฐ ์ฅ์น์ ๋ฒํผ ํฌ๊ธฐ โ ๋ณ๋ shared-mode ์ฅ์น์ ์ค์ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค (Windows: WASAPI, macOS: CoreAudio, Linux: ALSA)
- ์ํ๋ ์ดํธ ๋ถ์ผ์น โ ๋ฉ์ธ ์ฅ์น์ ๋ชจ๋ํฐ ์ฅ์น์ ์ํ๋ ์ดํธ๊ฐ ๋ค๋ฅด๋ฉด ๋ฆฌ์ํ๋ง ์ง์ฐ ๋ฐ์
- ๋ ๋ฆฝ ์ฅ์น ํด๋ก ๋๋ฆฌํํธ โ ์๋ก ๋ค๋ฅธ ๋ฌผ๋ฆฌ ์ฅ์น๊ฐ ์ฅ์๊ฐ ๋์ํ๋ฉด clock drift๊ฐ ์๊ธธ ์ ์์ผ๋ฉฐ, DirectPipe๋ ์ค๋๋ monitor buffer๋ฅผ ์๋ ์ ๋ฆฌํด ๋์ ์ง์ฐ์ ์ ํํฉ๋๋ค
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- ๋ฉ์ธ ์ฅ์น์ ๋ชจ๋ํฐ ์ฅ์น์ ์ํ๋ ์ดํธ๋ฅผ ์ผ์น์ํค๊ธฐ (Audio ํญ์์ ํ์ธ)
- ASIO๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, ๊ฐ์ ์ธํฐํ์ด์ค์ ๋ค๋ฅธ ์ถ๋ ฅ์ ๋ชจ๋ํฐ๋ก ์ฌ์ฉ (์ถ๊ฐ ์ฅ์น ๋ถํ์)
- ๋ชจ๋ํฐ ์ง์ฐ์ ์๊ธฐ ๋ชฉ์๋ฆฌ ๋ชจ๋ํฐ๋ง์ฉ์ด๋ฏ๋ก, ๋ฐฉ์ก/๋ น์ ํ์ง์๋ ์ํฅ ์์
Monitor output uses a separate audio device from the main output, which can introduce additional latency.
Causes:
- Monitor device buffer size โ Uses the actual buffer size of the separate shared-mode device (Windows: WASAPI, macOS: CoreAudio, Linux: ALSA)
- Sample rate mismatch โ Different sample rates between main and monitor devices cause resampling delay
- Independent device clock drift โ Separate physical devices can drift over long sessions; DirectPipe trims stale monitor buffer frames to bound accumulated latency
Solutions:
- Match sample rates between main and monitor devices (check in Audio tab)
- If using ASIO, use a different output of the same interface as monitor (no extra device needed)
- Monitor delay only affects self-monitoring; it doesn't affect broadcast/recording quality
ํ๋ก์ ํธ๊ฐ ๋์์ด ๋์ จ๋ค๋ฉด ์ปคํผ ํ ์ ์ฌ์ฃผ์ธ์! / If you find this project useful, consider buying me a coffee!
GPL v3 โ LICENSE
