Shoryuken

Endless sounds on channel 2-6

6 posts in this topic

Hi,

 

I have read some similar problems on the forum but I can't find a solution. Sorry if have not looked well enough  :unsure:

 

When I select the channel 2, 3, 4, 5 or 6 (with the joystick menu) and I play some notes with my MIDI keyboard, the sounds don't stop (until I play an other note)

The channel 1 is the only one on which the sounds ends when I release the key.

 

I think it's not related to my MIDI keyboard : I can see all the NoteOff MIDI messages in the console.

 

I have tried a few things, for example

- set channel 3 or 4 as default channel

- set the same SID instruments on channel 1 and 2.

- play with the Retrocade Synth Dashboard via USB

But it always produces the same problem.

 

The problem happens both when I load the Audio_Retrocade_Synth example with DesignLab and when I load the .BIT file (RetroCade-1.3-zpuino-2.0-PapilioPro-S6LX9-RetroCade-1.3- B) with the PapilioLoader.

 

Unfortunately, my MIDI controller send notes only through Channel 1. I don't have the possibility to send notes directly over the other MIDI channels.

 

Any idea ?

Thanks

Share this post


Link to post
Share on other sites

Hmmmm, interesting! You see the note off messages then. Can you check to see if the Noteoff is reporting the correct channel information? I suspect that somehow the note off is being sent to channel 1 all of the time instead of the correct channel...

 

Jack.

Share this post


Link to post
Share on other sites

Hi,

 

some MIDI keyboards send noteoff as a separate message, whereas others send a second noteon with velocity 0.

It could be related to that (a bug, though).

Share this post


Link to post
Share on other sites

Yes, that was what I thought the problem was at first. But he says he is using the DesignLab version. In that version I updated the MIDI library so that it should be handling both cases of Note off and velocity 0...

Share this post


Link to post
Share on other sites

Thank you Jack ! You have guided me to the solution ! I've finally found :)

 

In Audio_RetroCade_Synth.ino, in the HandleNoteOn function, I've replaced

lastpitch[channel-1]=pitch;byte activeChannel = retrocade.getActiveChannel();if ( activeChannel != 0 )  channel = activeChannel;

by :

byte activeChannel = retrocade.getActiveChannel();if ( activeChannel != 0 )  channel = activeChannel;lastpitch[channel-1]=pitch;

This line always prevented the HandleNoteOff function to work when channel != 1 :

  if (lastpitch[channel-1]!=pitch) { return; }

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now