English

가이드 · 오디오

소리와 MIDI를 이어요.

오디오 에디션은 같은 패턴플로우에 드나드는 길이 늘어난 거예요. 브라우저 탭의 소리, 보드에 다는 마이크, 그리고 보드와 DAW가 주고받는 MIDI. 에디션은 한 번만 올리면 되고, 그다음은 필요한 것부터 봐요.

가이드 전체

스크롤

오디오 에디션

처음 한 번만. 같은 보드에, 소리를 받고 MIDI로 말하는 펌웨어를 올려요.

에디션

보드는 그대로, 펌웨어만 더.

에디션은 패턴플로우 펌웨어에 기능을 더한 거예요. 오디오 에디션엔 브라우저 탭의 소리, 보드에 다는 마이크, MIDI, OSC가 들어 있어요. 마이크는 없어도 돼요. 달아서 켜기 전까진 꺼져 있어요.

패턴, 와이파이, 설정은 그대로 남아요. 업데이트는 프로그램만 바꾸거든요. 기본 펌웨어로 돌아가는 것도 똑같이 클릭 한 번이에요.

여기서 막혔나요? 알려 주세요

설치

‘Install to my panel’을 눌러요.

patternflow.work/editions에서(아래 버튼으로 열려요) Patternflow Audio를 찾아 Install to my panel을 눌러요. 브라우저가 보드의 Update 페이지를 여는데, 빌드가 이미 연결돼 있어요.

거기서 Fetch & flash를 눌러요. 전원은 그대로 둬요. 보드가 새 빌드로 알아서 다시 켜져요.

보드가 켜진 채로 이 컴퓨터와 같은 와이파이에 있어야 해요. 새 ESP32라면 연주 가이드의 01 굽기가 먼저예요. 그건 USB로 해요.

안드로이드는 patternflow.local을 못 열어요. K2를 꾹 눌러 나온 IP 주소를 카드의 Details → your panel에 먼저 넣어요.

여기서 막혔나요? 알려 주세요

확인

K2를 꾹. 줄이 두 개 늘었어요.

NETWORK 화면에 줄이 두 개 생겼어요. 제목 바로 아래, 와이파이 줄과 주소 위에 OSC와 AUD.

AUD는 브라우저 확장 프로그램이 보내는 소리를 받는 스위치예요. K3를 오른쪽으로 돌리면 켜지고, 왼쪽으로 돌리면 꺼져요. OSC는 K2로 똑같이 해요. 둘 다 켜진 채로 시작해요.

콘솔 위쪽 메뉴엔 Audio와 MIDI 두 페이지가 생겨요. MIDI는 이 화면에 줄이 없어요. 스위치가 MIDI 페이지에 있어요.

여기서 막혔나요? 알려 주세요

브라우저 탭

탭에서 나는 소리가 노브 네 개를 돌려요.

보드에 오디오 에디션이 있어야 해요

확장 프로그램

저장소에서 받아 올려요.

확장 프로그램은 크롬 웹 스토어에 없어요. github.com/engmung/Patternflow에서 Code → Download ZIP으로 받아 압축을 풀어요.

크롬은 chrome://extensions, 엣지는 edge://extensions를 열어요. 개발자 모드(Developer mode)를 켜고, 압축해제된 확장 프로그램 로드(Load unpacked)를 눌러 tools/patternflow-audio-extension 폴더를 골라요. 엣지에선 이 버튼이 ‘압축 풀린 파일 로드’예요.

나중에 새 버전을 받았다면 같은 폴더에 덮어쓴 다음, 그 페이지에서 확장 프로그램 카드의 새로고침(Reload)을 눌러요. 엣지에선 ‘다시 로드’예요. 매핑은 그대로 남아요.

여기서 막혔나요? 알려 주세요

시작

탭을 열고 Start.

소리가 나는 탭으로 가서, 툴바의 Patternflow Audio 버튼을 눌러요. Device에 보드 주소(patternflow.local, 또는 K2를 꾹 눌러 나온 IP 주소)를 넣고 Start를 눌러요.

팝업 구석에 Live가 뜨고 패턴이 움직이기 시작해요. 노브 자체는 가만히 있어요. 소리가 움직이는 건 노브의 값이지 손잡이가 아니에요. 같은 버튼이 Stop이 되고, 누르면 노브가 다시 내 손으로 돌아와요.

확장 프로그램 팝업의 윗부분. 구석 배지는 Idle, Device 칸엔 patternflow.local, 그 옆에 Start 버튼이 있다.
Idle

Start 전이에요. 주소는 Device 아래에 넣어요.

여기서 막혔나요? 알려 주세요

Live가 아니라면

팝업에 이유가 적혀 있어요.

Aud off: 연결은 됐는데 보드가 받는 소리를 무시하고 있어요. Turn on을 눌러요. K2를 꾹 눌러 보는 AUD 줄과 같은 스위치예요.

Live인데 안 움직인다면: 소리가 2초 동안 없으면 주소 아래 줄에 No sound from this tab yet이 떠요. 소리 나는 탭이 맞는지 봐요.

Error: 주소 아래 줄에 이유가 적혀 있어요. 그 주소에 아무것도 없거나, 오디오 에디션이 아닌 보드예요.

확장 프로그램 팝업의 윗부분. 구석 배지는 Aud off, 주소 아래 줄은 Audio-React가 꺼져 있다고 하고, 그 아래 Turn on 버튼이 있다.
Aud off

보드가 소리를 무시하는 중이에요. Turn on으로 다시 켜요.

여기서 막혔나요? 알려 주세요

에디터

노브 하나가 스펙트럼 위의 상자 하나.

팝업에서 Mapping editor를 눌러요. K1부터 K4까지가 실시간 스펙트럼 위의 상자 네 개예요. 상자의 너비는 그 노브가 듣는 주파수, 높이는 작은 소리부터 큰 소리까지의 범위예요. 매핑은 보드가 아니라 브라우저에 저장돼요.

아래는 진짜 에디터예요. 이 페이지의 보드를 움직이고 있어요. 열어서 K1 상자를 옆으로 끌어 보세요. K1이 스펙트럼의 다른 자리를 따라가요. K1 카드 맨 아래의 Mute를 켜 두면 그 노브는 다시 내 손으로 돌아와요.

이제 여기 보드의 노브를 잡아 보세요. 노브 둘레의 주황 점을 끌면 돼요. 잡고 있는 동안은 내 것이고, 놓고 5초쯤 지나면 소리가 다시 가져가요. 내 보드도 똑같아요.

에디터가 자체 데모 신호로 돌고 있어요. 확장 프로그램에서 열면 내 탭에서 나는 소리가 보여요. 에디터 안의 글자는 영어 그대로예요.
여기서 막혔나요? 알려 주세요

마이크

작은 부품 하나와 선 다섯 가닥이면, 다른 건 아무것도 안 켜도 보드가 방 안의 소리를 들어요.

보드에 오디오 에디션이 있어야 해요

부품

PDM 마이크. PDM만 돼요.

Adafruit PDM MEMS Microphone Breakout(제품 번호 3492), 또는 핀 줄에 3V, GND, SEL, CLK, DAT라고 적힌 호환품. 그리고 10 cm쯤 되는 가는 선 다섯 가닥. 짧을수록 좋아요.

INMP441 같은 I²S 마이크는 안 돼요. 아날로그 일렉트릿 모듈도 안 돼요. 보드에 남는 핀이 둘뿐인데, 두 핀으로 되는 건 PDM뿐이에요.

PDM Mic이라고 적힌 작은 파란 브레이크아웃 보드. 3V, GND, SEL, CLK, DAT 패드 다섯 개에 검은 선이 하나씩 납땜돼 있다.

브레이크아웃의 실크 인쇄예요. PDM Mic, 그리고 3V, GND, SEL, CLK, DAT 패드가 하나씩.

여기서 막혔나요? 알려 주세요

ESP32

들어 올려 빼요.

뒷면 덮개를 밀어 빼고, ESP32를 소켓에서 곧게 들어 올려요. 납땜은 전부 ESP32에만 해요. ESP32가 꽂혀 있던 기판은 건드리지 않아요.

언제든 되돌릴 수 있어요. 선만 떼면 돼요.

여기서 막혔나요? 알려 주세요

선 다섯, 자리 넷

윗면에 납땜해요.

ESP32 윗면으로 헤더 핀이 올라온 자리에 납땜해요. 3V는 3V3에. GND와 SEL은 둘 다 GND에. CLK는 TX에. DAT는 RX에.

실크 인쇄엔 TX, RX라고 적혀 있어요. 보드에 남은 핀은 이 둘뿐이에요. 3V3과 GND는 헤더에 여러 개 있으니 가까운 걸 써요.

SEL을 GND에 잇는 걸 빼먹지 마세요. 안 이으면 마이크는 멀쩡해 보이는데 무음만 읽어요.

마이크 브레이크아웃의 패드에서 ESP32 모듈의 헤더 핀으로 검은 선 다섯 가닥이 내려온다. 하나는 왼쪽 핀 줄 맨 위 3V3로, 둘은 GND로, TX와 RX로 하나씩 오른쪽 줄 위쪽에 닿는다.
마이크 패드에서 ESP32 핀까지, 선 하나씩
마이크3VGNDSELCLKDAT
ESP323V3GNDTXRX

사진에서 3V3은 왼쪽 줄 맨 위 핀이에요. GND, TX, RX는 오른쪽 줄 위에서 셋이고, GND엔 선이 둘 붙어요.

여기서 막혔나요? 알려 주세요

제자리로

다시 꽂아요. 오른쪽 포트는 비워 둬요.

선을 위쪽으로 빼고, ESP32를 실크 인쇄 방향대로 소켓에 다시 꽂아요. 마이크는 소리가 닿는 곳에 두고, 전원은 언제나처럼 전원 케이블로 넣어요.

마이크가 달려 있는 동안엔 UART라고 적힌 오른쪽 USB 포트에 아무것도 꽂지 않아요. TX, RX를 같이 쓰는 포트예요.

케이스 안 패턴플로우 보드의 뒷면. ESP32 모듈이 소켓에 꽂혀 있고, 그 위에 마이크 브레이크아웃이 짧은 선 다섯 가닥으로 달려 있다. 모듈 아래쪽 USB-C 포트 둘은 비어 있다.

ESP32를 소켓에 다시 꽂았어요. 마이크는 선에 달린 채 그 위에 있어요. 아래 USB-C 포트 둘은 ESP32의 것이고, 오른쪽이 UART예요.

여기서 막혔나요? 알려 주세요

켜기

콘솔, Audio, Microphone.

콘솔을 열고(같은 와이파이의 브라우저에서 patternflow.local, 또는 K2를 꾹 눌러 나온 IP 주소) Audio로 가요. Sources에서 Microphone을 켜요.

스위치 옆의 칩이 listening으로 바뀌어요. 방이 조용하다면 Input gain을 올려요. 8에서 시작해요.

콘솔의 Audio 페이지. Sources 아래 Microphone 스위치가 꺼져 있고, 옆의 칩은 off, Input gain은 8.0이다.
Microphone

Sources 아래에 있어요. 꺼져 있으면 옆의 칩이 off예요.

여기서 막혔나요? 알려 주세요

매핑

상자 네 개, 보드에 저장돼요.

콘솔 Audio 페이지의 Mapping에선 K1부터 K4까지, 노브마다 실시간 스펙트럼 위에 상자가 하나씩 있어요. 상자의 너비는 그 노브가 듣는 주파수, 높이는 작은 소리부터 큰 소리까지의 범위예요. K1 상자를 저음 쪽으로 끌면 K1이 저음을 따라가요.

바꾸는 대로 보드에 저장되고, 껐다 켜거나 펌웨어를 업데이트해도 남아요.

콘솔 Audio 페이지의 Mapping 그래프. 31 Hz부터 8 kHz까지, 세로는 dB인 스펙트럼 위에 왼쪽부터 K1–K4 상자 네 개가 있다.

Mapping마이크가 듣는 스펙트럼 위에 K1부터 K4까지 상자가 놓여 있어요.

여기서 막혔나요? 알려 주세요

조용하다면

칩이 하는 말.

Microphone 스위치 옆의 칩이 not detected라면: 데이터 핀에 아무것도 없어요. DAT에서 RX로 가는 선을 확인해요.

not answering: 마이크가 있었는데 더는 값을 보내지 않아요. 이 상태에선 마이크가 노브를 움직이지 않아요.

listening인데 아무리 시끄러워도 노브가 가만히 있다면: SEL이 GND에 안 이어진 거예요. 보드는 이걸 조용한 방과 구별하지 못해요.

보통 음량에서 제일 높은 쪽 상자만 거의 안 움직인다면: 고장이 아니에요. 방 안 소리엔 가장 높은 음역의 에너지가 거의 없어요.

콘솔의 Audio 페이지. Microphone 스위치는 켜져 있지만 옆의 칩은 not detected이고, Input gain 슬라이더 아래 줄은 No microphone found: the data pin (RX) is idle. Check the DAT lead.

not detected슬라이더 아래에 페이지가 이유를 적어 줘요. 데이터 핀(RX)이 조용하니 DAT 선을 보라고요.

여기서 막혔나요? 알려 주세요

MIDI와 DAW

보드는 와이파이 위의 MIDI 장치예요. 노브 넷과 버튼 넷으로 DAW를 움직이고, DAW가 보드를 연주하기도 해요.

보드에 오디오 에디션이 있어야 해요

연결

네트워크 MIDI 세션을 만들어요.

보드와 컴퓨터가 같은 와이파이에 있어야 해요. 윈도우엔 네트워크 MIDI가 없어서, rtpMIDI(무료, Tobias Erichsen 제작)를 설치해 열어요.

My Sessions 아래의 +를 누르고 Enabled에 체크해요. Directory에서 patternflow를 골라 Connect를 누르면 Participants로 옮겨 가요.

맥은 설치할 게 없어요. 오디오 MIDI 설정(Audio MIDI Setup)의 윈도우 → MIDI 스튜디오 보기 → 네트워크에서 똑같이 해요.

Directory에 안 보이면 몇 초 기다려 봐요. 그래도 없으면 Directory의 +로 직접 넣어요. 보드의 IP 주소(K2를 꾹)와 포트 5004.

rtpMIDI 창. My Sessions는 비어 있고 아래에 + 버튼이 있다. Directory엔 patternflow가 있다.
My Sessions

+를 누르세요. Directory엔 patternflow가 이미 있어요.

여기서 막혔나요? 알려 주세요

Ableton Live

Remote에 체크하고, 매핑해요.

Live에서 Settings → Link, Tempo & MIDI를 열어요. Input Ports에서 내 컴퓨터 이름으로 된 줄이 그 세션이에요. 그 줄의 Remote에 체크해요.

Ctrl-M(맥은 Cmd-M)을 누르고, Live의 노브나 슬라이더를 하나 클릭하고, 보드의 노브를 돌린 다음, Ctrl-M을 다시 눌러요. 이제 그 노브가 그걸 움직여요. 양쪽으로 다 되고, 끝에선 멈춰요.

노브가 끝에 닿았다가 돌아올 때 Live 쪽이 어떻게 이어받을지는 같은 Settings 페이지의 Takeover Mode가 정해요. Value Scaling이 부드러워요.

rtpMIDI에선 연결됐는데 Live에서 아무것도 안 움직인다면, Remote에 체크가 안 된 거예요.

Live의 Link, Tempo & MIDI 설정에 있는 MIDI 포트. Input Ports에서 컴퓨터 이름으로 된 줄의 Remote 칸이 체크돼 있고 Track, Sync, MPE는 비어 있다.

Input Ports · RemoteLive의 Link, Tempo & MIDI 설정에서, 내 컴퓨터 이름으로 된 줄에 체크돼 있어요.

여기서 막혔나요? 알려 주세요

맵

채널 1, 그리고 오가는 숫자들.

전부 채널 1이에요. 펌웨어에 고정돼 있으니, DAW에서 채널을 정할 땐 1로 맞춰요.

보드에서 나가는 것: 손으로 돌린 K1부터 K4는 CC 24부터 27을 보내요. 버튼은 노트 60부터 63을 보내요. 패턴이 바뀌면 Program Change가 나가요.

보드로 들어가는 것: CC 20부터 23은 노브 1부터 4의 값을 정하고, 손이 그 노브를 돌릴 때까지 유지돼요. 노트 60부터 63은 버튼을 눌러요. Program Change는 패턴을 골라요.

Live에선: 버튼의 노트를 트랙으로 받으려면 Input Ports에서 세션 줄의 Track에 체크해요. 보드로 보내려면 Output Ports에서 그 줄의 Track에 체크하고, MIDI 트랙의 MIDI To를 그 세션으로 맞춰요.

여기서 막혔나요? 알려 주세요

설정

콘솔의 MIDI 페이지.

콘솔을 열고(patternflow.local, 또는 K2를 꾹 눌러 나온 IP 주소) MIDI로 가요. Sensitivity는 한 번 돌릴 때 값이 얼마나 가는지예요. ×8부터 1/16까지. 슬라이더 넷이 같이 움직이는데, ‘move all four together’의 체크를 풀면 노브 하나만 따로 맞출 수 있어요.

Knob value는 0부터 127까지의 위치를 보내요. Live엔 이걸 써요. Relative steps는 Max나 TouchDesigner처럼 끝없이 도는 인코더를 직접 매핑하는 소프트웨어용이에요.

Switch 아래의 MIDI on this panel로, 펌웨어를 다시 굽지 않고 MIDI를 끌 수 있어요.

콘솔 MIDI 페이지의 Knobs → MIDI 섹션. Relative steps 옆의 Knob value가 선택돼 있고, 아래 Sensitivity엔 K1–K4 슬라이더가 모두 1 : 1이며 move all four together가 체크돼 있다.

Knobs → MIDI위는 값을 보내는 방식, 아래는 Sensitivity예요.

여기서 막혔나요? 알려 주세요

계속 연결

‘Use this computer’를 눌러요.

콘솔 MIDI 페이지의 Session에서 Use this computer를 눌러요. 보드가 이 컴퓨터의 주소를 기억해 뒀다가, 켜질 때마다, 그리고 세션이 끊길 때마다 직접 세션을 열어요. rtpMIDI를 다시 열 일이 없어요.

먼저 20초를 기다렸다가 연결하니까, 막 켠 직후엔 조금 걸려요. rtpMIDI의 Who may connect to me는 Anyone으로 둬요. 그래야 보드가 컴퓨터에 먼저 연결할 수 있어요.

콘솔 MIDI 페이지의 Session 섹션. 컴퓨터에 연결돼 있고, Computer to invite 칸에 주소가 있으며, Save, Use this computer, Clear 버튼 아래에 saved — inviting이 떠 있다.

Use this computer누르면 이 컴퓨터의 주소가 Computer to invite에 들어가고 saved — inviting이 떠요.

여기서 막혔나요? 알려 주세요