단순 MIDI 파일 재생 기능과 드럼 패턴 재생 기능을 전부 스케치에 올려서 아두이노 나노에 업로드하기에는 쉽지 않았다. 메모리가 부족하기 때문이다. 따라서 아두이노 나노에서는 단순 MIDI 파일 재생 기능을 제거한 뒤 드럼 패턴 플레이 기능을 넣어 보려고 노력 중이다. 메모리가 충분한 아두이노 나노 에브리에서는 달라질 수도 있을 것이라고 기대한다. 그러나 아두이노 나노 에브리에서는 SD카드를 사용하기가 까다롭다는 보고가 있어서 걱정스럽다.
독립적인 드럼 플레이 기능 구현은 2025년 10월 28일부터 본격 착수하였다. 하드웨어 및 주변부 회로 설정은 Nano Ardule MIDI Controller를 그대로 따른다. 현재 사용 중인 아두이노 나노 호환 보드는 앞서 언급했듯이 아두이노 나노 '에브리'로 바뀔 가능성이 있다.
2025일 11월 3일 현재 아두이노 나노에서 v1.2f_hotfix4가 잘 작동 중이다. 이 버전은 마이크로SD카드의 /SONGS와 /DRUMS 폴더에 있는 INDEX.TXT 파일을 읽어서 그 안에 수록된 type 0 MIDI 파일을 재생한다.
패턴 기반 드럼 재생을 위해 2-bar 단위의 드럼 패턴을 추출하는 파이썬 스크립트를 만들어서 테스트를 마쳤다. 드럼 패턴 파일(.mid)는 마이크로SD카드에 저장하여 둔다. 적당한 것을 고른 뒤 (무한) 반복재생하는 스케치를 업로드하여 테스트해 보면 반복이 시작되면서 약간의 지연이 느껴진다. 그대로는 사용하기 곤란하지만, 완전히 포기하기에도 아깝다.
1. MicroSD 카드의 최상위에는 DRUMS와 SONGS 폴더가 있음
2. 인코더를 돌려서 LCD에 표시된 DRUMS와 SONGS중 하나를 선택한 뒤 인코더 버튼(D4)를 클릭하여 진입
3. 진입 후 해당 폴더내의 INDEX.TXT를 페이지 단위(16개 파일)로 읽어서 LCD에 표시
4. 인코더를 돌려서 재생할 파일로 이동한 뒤 클릭하면 곡 기본 정보(BPM, 전체 마디 수, 2마디 단위의 패턴 분포 등)를 LCD에 표시
5. A3(Play/Pause)를 클릭하여 재생 및 일시정지
⇒ SAM9703은 Program Change만으로 드럼킷이 변경됨(PC 1: Standard, 9: Room, 17: Power, 25: Electronic, 26: TR-808, 33: Jazz, 41: Brush, 49: Orchestra, 57: SFX, 127: CM-64/32)
6. 재생 또는 일시정지 상태에서 D6(Stop/Exit)를 클릭하면 현재 파일을 닫고 다음 파일을 로드