MIDI Synth Shield for the Teensy

Status
Not open for further replies.
The boards work well.
Since I've not gotten feedback from any acclaimed MIDI mavens, I've assumed I need to encapsulate the MIDI pretty well into libraries, so users can get right to the matter of testing the board.

The libraries will be:
- a dbMIDI object much like the USBMIDI object, with methods like dbMIDI.noteOn() and dbMIDI.noteOff(), etc.
- a dbMIDIFile object for parsing MIDI (type 0) files - to display contents or play to whole files (from a uSD card), or one message at a time under application control

There will also be test MIDI files and a sketch to use them and to exercise direct production of MIDI messages.

The dbMIDI library uses a hardware serial port, and otherwise, it is much like the USBMIDI library.
Paul, if I could abstract the connection to the USBMIDI port, I'd build that into the dbMIDI library as well as a connection option.
My own use of this solution could put MIDI through USB, hardware serial or BLE MIDI.

So, the project is awaiting my library finish-up.

If there are MIDI and Teensy mavens who want the board and libraries as they are, and can provide input to me in the process, let me know.
 
OK,

I'm ready to ship some boards and libraries to Paul and @Neutronned (I'll send you one of this version).
Any others interested in using and/or learning MIDI?
If so, I'm happy to assemble a few more to have you try it out and give me feedback.
You'll need a Teensy 3.6 with and a small SD card

Let me know. I'll be assembling this weekend.
 
I have a project that needs a synth. I've prototyped it with a Dream device but some of the voices aren't good enough (notably violin). I've been looking at Fluidsynth but alternatives (especially running on a teensy rather than something with a long boot time like a raspberry pi) would be welcome.
 
@artag, I'm short on boards, though I'll be building more.

I played the synth though a powered speaker and recorded a video of the Serial monitor output (with iPhone mic listening), arriving at this video:


This is the sketch that ran.

Code:
#include <dbMIDISynth.h>
dbMIDISynth dbM;

int velocity = 120;
void setup() {

}

void loop() {  
  for (unsigned char instrument = 32; instrument <= 51; instrument++) {
      dbM.setProgram(instrument);
      Serial.printf("\n%30s (%d): ", dbM.getProgramName(instrument).c_str(), instrument);
      int transposeOctaves = 0;
      
      for (int note = 60; note <= 72; note++) {
           Serial.printf("\t%s", dbM.getNoteName(note).c_str());
           if ((instrument >= 32) && (instrument <= 39)) transposeOctaves = -2;
           if (instrument == 41) transposeOctaves = -1;
           if (instrument == 42) transposeOctaves = -2;
           if (instrument == 43) transposeOctaves = -3;
           if (instrument == 47) transposeOctaves = -2;
            dbM.noteOn(note + (transposeOctaves * 12), velocity);
           delay(200);
           if (note == 60)
              delay(1800);
           dbM.noteOff(note + (transposeOctaves * 12));
           delay(1);      }
  }
}

I paused the first note in each scale so that any delayed vibrato effects could activate (some instruments have them.)

Two questions:
- where did you source the Dream chip? I would like to try it.
- how are these VS1053 instrument sounds by comparison?
 
Two questions:
- where did you source the Dream chip? I would like to try it.
- how are these VS1053 instrument sounds by comparison?

It's the SAM2195. Initially, I used a board I'd got from a kickstarter :

https://www.kickstarter.com/projects/24311020/avecsynth-an-arduino-form-factor-midi-music-synthe

I later bought more from https://moderndevice.com/product/fluxamasynth-shield/, both the SA2195 version and the later SAM2695. Their early version was not as good as the kickstarter board : I had to modify it to clean the power and get rid of some noise. The current version of the board is better.

I'll try to make a comparison recording. I've used these to develop some prototypes for a client who's commented that it sounds good except for a few voices such as violins. This might be because of the speaker system, but I'd like more flexibility and ideally the ability to add custom voices.
 
Right, @artag, I've seen those boards, but not a simple US supplier of the synth chips (like Adafruit, DigiKey, Sparkfun).

I've spent some time looking. They have a manufacturer's rep in the US for the French company (Dream). I've had some emails and phone tag. I'll be checking it out more if I can.

I see from the specs of the VLSI chips that you can upload native code, and perhaps new sounds, to the VS1053 (and VLSI's other chips). It has not appeared trivial. That said, I have not dug in. They have a tool call VSIDE (VS Integrated Dev Environment) for developing code for the chip directly. I think you need to by their dev kit board. In the end, you create a plug-in file (.plg) that can be uploaded to a standard chip. (vlsi.fi)

If you'd be interested to try one of my synth boards, I'd welcome your feedback.

Send me a private message with contact information if you'd like to go that route.
 
Status
Not open for further replies.
Back
Top