Yamaha DB50XG- User Manual
Yamaha DB50XG– User Manual, read for free online in PDF format. We hope this helps you resolve any issues you may have. If you have further questions, please contact us through the contact form.
Table of Contents:
- Page 2 – mistralXG block diagram; Technology overview; MIDI, the Musical Instrument Digital Interface
- Page 3 – USB, the Universal Serial Bus; Tell me what you are
- Page 4 – Putting it all together
- Page 6 – Using mistralXG
- Page 8 – BFO; Unexpected data byte (MIDI command byte expected); Next time: Technical details
- Page 9 – MIDI; MIDI specifications:; USB; PIC MCU information:
mistralXG – a USB connected, PIC-based MIDI synthesizer
Part I
Introduction
mistralXG is a MIDI synthesizer, based on a MIDI daughter card such as the Yamaha
DB50XG. It could also be used as a USB MIDI switching and monitoring device without the
daughtercard.
In this first of two articles, I’ll explain how mistralXG operates and discuss the main
technologies it uses. The second article will look at the hardware and software in more detail.
Parts cost for the project is $20 to $30, excluding the daughter card, power supply and
enclosure.
Choosing a project
A couple of my earlier projects were based on the PIC12C508A, one of the least powerful
Microchip PIC microcontrollers (MCUs). Developing them was great fun and provided my
first experience of these fantastic little devices. For my next project, I wanted to use a more
powerful MCU and utilize some of the wide range of on-chip peripherals.
I've dabbled in MIDI for many years and, as my current PC’s sound card hasn't got the
necessary WaveBlaster-compatible connector, had an unused Yamaha DB50XG synthesizer
daughter card. The Internet revealed some designs that use the DB50XG as a stand-alone
synthesizer, but that just feed MIDI data to the card. I wanted something a little more
capable, to allow me to play my MIDI wind controller away from my computer. This was an
ideal area for my project.
In August 2005, N&V had published Robert Lang's Midi-nator design, which showed that a
hobbyist could create a USB-based MIDI device. But, rather than use Midi-nator as a starting
point, I wanted to create a complete new MIDI implementation so that I knew exactly what
the device was and wasn't capable of.
Start at the beginning
Late in 2007, I began thinking about the design. I burned the MIDI-nator project code into a
PIC18F2550 to see it in action and, while it worked well, it was evident that there was a steep
learning curve to designing with USB. Thankfully, there is plenty of information available
(see references). Microchip also provides comprehensive datasheets – the PIC18F2550
document runs to 430 pages – so I had a lot of reading to do. A few months later, after
sketching out some different approaches, I started serious work on the design.
"Loading the manual" means you need to wait until the file loads and becomes available for online reading. Some manuals are very large, and the time they take to appear depends on your internet speed.
Summary
mistralXG USB interfaceto PC Switch 2 Switch 1 MIDI IN WX IN MIDI OUT MIDI T HRU DB50XGSynthesizerDaughter card Headphone& Line Out MicrochipPIC18F2550 External memory(Future) Figure 1. mistralXG block diagram Referring to Figure 1, the PIC18F2550 is the heart of mistralXG. It manages data flowi...
A command might say, "Play Middle C on channel 5, medium loud". Three bytes are required to construct this command. These are (in hexadecimal) 0x94, 0x3C and 0x40. The first four bits of 0x94 (the "9") indicate this command is "Note on". The "4" in 0x94 says that the ...
other things. When enumeration completes successfully, the device becomes available to the system. Suitable USB MIDI drivers are provided with both Windows and Linux. USB data are collected into packets and transmitted in 1ms “frames” (high-speed USB 2.0 uses shorter “microframes”). Thus there is a ...