Compatibility with Yamaha YDP


#1

I know it’s not ideal, but I am in a situation in which I have to connect a Yamaha YDP 162C digital piano to my modular system. Does the Hermod work with Yamaha YDP pianos? They only have one connector labelled “USB to host”. Thank you for your answers in advance.


Critical 1.021 bug with MIDI notes sustaining forever
#2

After having received my Hermod today, I can confirm that recording/playing to/from Yamaha YDP pianos works using the USB host port. Maybe Squarp can add that to the official compatibility list.


#3

Are you running into the problem I’m having here? I’d love it if you could try and see!


#4

What kind of “erratic behaviour” are you experiencing and what exactly should I “try”? In order to replicate a problem, you have to give a detailed description of the issue and an exact description of your setup (e.g. How are connecting your devices and what are your settings). Many times, it helps if you document your problems in short video clips.


#5

I documented it thoroughly, in 12 steps, in the middle of the thread I linked, along with a video. Please let me know if those instructions aren’t clear enough!

I think I may have linked to the wrong post in the thread, here’s the post with the instructions:


#6

Yes, your documentation is perfect. Sorry for my bitching!
Immediate questions after watching your video: 1) are you exceeding the max number of voices of the sound generator (to me, it looks like you played the chords at least twice -> Hermod is adding new notes). 2) see whether the problem persists if you use USB connections (if possible).
You can route the MIDI out through a computer and maybe even record; this allows you to see MIDI messages transmitted. I would also contact Yamaha.

I only interface with my Yamaha piano via USB, but I can try to replicate the problem in my setup.


#7

I’d be really curious to hear how it works with MIDI cables instead of USB.


#8

My YDP only has a USB port


#9

I have just tested your setup: 1) YDP connected to Hermod via “USB Host”, 2) Recording a few chords, 3) Playing back the chords (works fine), 4) Then playing back the chords + playing live some notes which overlap the chords produces notes which sustain forever.

But as I would never do this in real-world situations, I don’t really care. I use my Yamaha YDP to record sequences and then sometimes play live sounds/instruments which Hermod is not playing.

People with other controllers should try this. If they can replicate the problem, it’s either a general MIDI problem or then a Hermod bug. The issue here is the “retriggering of notes”.


#10

Three additional observations…

  1. When recording the chords, I just hammered away, I was not playing in sync. When changing quantization in the Midi effect (i.e. time quantization), I am able to produce hanging notes even without playing new notes on the keyboard
  2. The issue is gone as soon as you set the MIDI transmit channel of the piano to “off”. Then, Hermod is playing the piano properly and additional notes played on the keyboard don’t result in hanging notes.
  3. The issue is also gone if you set the MIDI channel in the MIDI OUT effect to a value different from your transmission channel. This might be an indication that there is some kind of MIDI feedback loop at work creating the issue.

I hated MIDI in the 80ties, and this hasn’t changed :slight_smile:

Luckily, my setup is not really MIDI-based. I just use a YDP keyboard to punch in chords/notes, that’s all.


#11

Thanks for trying it out!

Yeah, like I’ve been saying from the very beginning, Hermod seems to be sending more MIDI note on messages than note off messages, and as a result, downstream sound modules don’t know when to stop playing notes.

I worked around this issue in an Arduino-based MIDI module I’m using by explicitly keeping track of every note on and note off event, and only accepting a new note on event for any given pitch if that pitch isn’t currently playing. But I can’t work around this in my keyboard, because I don’t have access to modify the firmware. It would be much better if Hermod didn’t try to play a note that was already playing!


#12

@squarpadmin please see this! Someone else has the same problem as I do.


#13

I am not sure whether this is a Hermod “problem”. As I said above, the issue disappears when changing Midi channels on the piano or Hermod. This indicates that you are creating a feedback loop. Your workaround is too complicated, just change transmission channel on piano or midi out channel on Hermod, and both Hermod and you will play the piano at the same time without creating hanging notes.


#14

It’s not a feedback loop, because local mode is off, which I demonstrated in my video by using a totally separate controller keyboard and sound module. This is not a feedback loop problem, it’s a state problem. More note on messages are being sent than note off messages, which makes the receiving hardware think notes are being held down (sustained) forever.


#15

Whatever you call it: You are sending notes from two sources to the same voice on the same channel. This does not much make sense, because note off messages cannot be properly assigned anymore. There are no more hanging notes as soon as you send notes from two different channels to the same voice, because the note off messages can be propetly assigned. I only have one midi controller and cannit test it, but I am convinced that one can replicate your observation with other controllers Yamaha and other sequencers than Hermod.


#16

Let’s be clear here, I’m not sending notes from two sources to the same voice on the same channel. Hermod is. If Hermod called the output “midi thru” I’d be 100% with you, but it’s not. It’s a “midi out” and as such, Hermod should be responsible for the notes coming out of it.

Also, I tested it with different channels. If I set Track 1 to output MIDI channel 2 and set my synth to listen to channel 2, I still have the same problem. Hermod isn’t passing the channel 1 (keyboard) and channel 2 (loop) to the synth separately, it’s combining both the input and the loop into a single channel 2 stream and passing that into the synth.

If Hermod is going to combine multiple things into one stream of notes, it needs to be smarter about how it does it.