nano_ardule_midi_controller:ardule_microsd_midi_player
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| nano_ardule_midi_controller:ardule_microsd_midi_player [2025/10/28 17:30] – hyjeong | nano_ardule_midi_controller:ardule_microsd_midi_player [2025/11/11 22:46] (current) – [Ardule microSD MIDI Player] hyjeong | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Ardule microSD MIDI Player ====== | ====== Ardule microSD MIDI Player ====== | ||
| - | 2025년 10월 28일 본격 착수함. 하드웨어 및 주변부 회로 설정은 Nano Ardule MIDI Controller를 그대로 따름. 현재 사용 중인 아두이노 나노 호환 보드는 아두이노 나노 ' | + | 단순 MIDI 파일 재생 기능과 드럼 패턴 재생 기능을 전부 스케치에 올려서 아두이노 나노에 업로드하기에는 쉽지 않았다. 메모리가 부족하기 때문이다. 따라서 아두이노 나노에서는 단순 MIDI 파일 재생 기능을 제거한 뒤 드럼 패턴 플레이 기능을 넣어 보려고 노력 중이다. 메모리가 충분한 아두이노 나노 에브리에서는 달라질 수도 있을 것이라고 기대한다. 그러나 아두이노 나노 에브리에서는 SD카드를 사용하기가 까다롭다는 보고가 있어서 걱정스럽다. |
| + | |||
| + | 독립적인 드럼 플레이 기능 구현은 | ||
| + | |||
| + | 2025일 11월 3일 현재 아두이노 나노에서 **v1.2f_hotfix4**가 잘 작동 중이다. 이 버전은 마이크로SD카드의 /SONGS와 /DRUMS 폴더에 있는 INDEX.TXT 파일을 읽어서 그 안에 수록된 type 0 MIDI 파일을 재생한다. | ||
| + | |||
| + | 패턴 기반 드럼 재생을 위해 2-bar 단위의 드럼 패턴을 추출하는 파이썬 스크립트를 만들어서 테스트를 마쳤다. 드럼 패턴 파일(.mid)는 마이크로SD카드에 저장하여 둔다. 적당한 것을 고른 뒤 (무한) 반복재생하는 스케치를 업로드하여 테스트해 보면 반복이 시작되면서 약간의 지연이 느껴진다. 그대로는 사용하기 곤란하지만, | ||
| + | |||
| + | |||
| + | * {{ : | ||
| + | * {{ : | ||
| + | |||
| + | |||
| + | |||
| + | ===== MIDI 파일 단순 재생기 설계안 ===== | ||
| 1. MicroSD 카드의 최상위에는 DRUMS와 SONGS 폴더가 있음 | 1. MicroSD 카드의 최상위에는 DRUMS와 SONGS 폴더가 있음 | ||
| Line 24: | Line 38: | ||
| * 이 상태에서 D6(Stop/ | * 이 상태에서 D6(Stop/ | ||
| * 재생 중에 인코더 버튼(D4)를 길게 누르면 All notes off 메시지 전송 | * 재생 중에 인코더 버튼(D4)를 길게 누르면 All notes off 메시지 전송 | ||
| + | |||
| + | ==== 추가 기능 ==== | ||
| + | * MIDI IN 신호는 그대로 MIDI OUT으로 보냄. 채널 10으로 들어오는 것은 그대로 전송, 채널 1로 들어오는 것(예: 키보드 컨트롤러)은 채널 10으로 보냄. 드럼 전용 플레이어라서 그렇게 설계함. 멀티채널 재생이 필요하면 것은 SD카드에 MIDI 파일을 담아서 재생할 것. | ||
| + | |||
| + | ===== 2025년 10월 29일 요청 사항 ===== | ||
| + | |||
| + | - /DRUMS나 /SONGS 어디로 진입하든 MIDI 파일 로드 후 play 동작(A3, D6 버튼 클릭)에서는 차이가 없도록 해 줘. | ||
| + | - 단,/ | ||
| + | * A6: 드럼킷 선택 모드 진입(인코더를 돌려 드럼킷을 고름; LCD에서는 실제 드럼킷 이름을 표시할 것; 인코더 회전 후 일정 시간이 지나면 PC 명령으로 전송; 이전 모드 복귀는 D6 버튼; 따라서 드럼 연주 모드에서 인코더 버튼을 연속 눌러서 드럼킷 선택으로 진입하는 기능은 제거) | ||
| + | * (드럼 패턴 분석 후 반복 재생) D5 버튼은 드럼 MIDI 파일의 패턴 분석을 개시함. 즉, 2-bar마디 단위로 데이터를 잘라 분석하여 출현 빈도가 많은 것부터 번호를 붙여 나열함(1: | ||
| + | - 재생 중에는 A2 LED를 매 비트마다 점멸시켜 줘 | ||
| + | - D9 LED는 MIDI activity를 나타내 줘 | ||
| + | - A3과 D6을 동시에 누르면 SAM9703 도터보드를 리셋 | ||
| + | - 1~2 비트의 카운트인 지연(START_DELAY_BEATS) 기능 추가: 초반 note burst 현상 완화 | ||
nano_ardule_midi_controller/ardule_microsd_midi_player.1761640217.txt.gz · Last modified: by hyjeong
