Giter Site home page Giter Site logo

dr55sync's Introduction

dr55sync

This project is creating DR-55 MIDI sync board.

BOSS DR-55, Dr. Rhythm, is a programable rhythm machine manuafactured by Roland in 1979. This projects brings MIDI conenectibity to DR-55. This project includes schematics and sketch for Arduino.

Watch demo movie at YouTube

Features

MIDI clock slave sync

DR-55 sync to the MIDI clock from external rhythm machine or sequencer.

Manual play by MIDI

You can play DR-55 manualy from external keyboard or sequencer by MIDI note message. Hi-hat supports variation of open/close/pedal.

Velocity controls Accent

When the velocity value is larger than threshold, accent signal turn on. Threshold value is defined in source code.

Omni Mode Switch

Receive MIDI channel is 10 in default. While the switch sets on, every midi channel is recognized. Receive channel is specified in the source code.

MIDI Implementation

Receive Messages

Channel Messages

Note Message     9x nn vv    (Hex)
  x … midi channel     
      1-16 : When the Omni switch is on
      10   : When the Omni switch is off 
  nn … note number 
      48 = BD
      50, 52 = SD
      51 = RS
      54 = Close HH
      56 = Pedal HH
      58 = Open HH
  vv …velocity
      0 : no sound
      1 - 89 : sound without accent
      90 - 127 : sound with accent
      Threshold is specified in source code.

System Real Time Messages

MIDI Clock        F8  (Hex)
Start             FA  (Hex)
Stop              FC  (Hex)

Hardware

  • Using Arduino Pro Mini compatible board (5V 16MHz)

  • Power is provided from DR-55.

  • The board is connected to DR-55 with 10 core flat cable. Board side of the cable is connector. DR-55 side of cable should be soldered to the DR-55 main board directory. No additional parts or special modification is required in DR-55 side. Please refer Connection Guide in the repository for detail.

  • Switch 1 of the DIP SW is a program switch of Arduino. Switch 2 - 4 can be used any setting.

Sketch

Library

The sketch uses Metro library as timers.

PCB Version

Configuration of PCB version is place at the top of the sketch. It assign the io pins. If you use PCB provided from my project, define the appropriate version.

Soldering point on DR-55

Please refer this document.

// End of file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.