Problem with MIDI Interface

nstalled Java Runtime and Nomad Editor for Nord Modular . Reported to work. When using my external Roland UM-ONE everything working, but with pisound Midi big problems.
net.sf.nmedit.jsynth.SynthException: net.sf.nmedit.jnmprotocol2.MidiException: Communication timed out: 1511981412864 [error=-1001]
at net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.connect(NordModular.java:411)
at net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.setConnected(NordModular.java:881)
at net.sf.nmedit.jsynth.nomad.forms.SynthObjectForm.trySetConnectedState(SynthObjectForm.java:958)
at net.sf.nmedit.jsynth.nomad.forms.SynthObjectForm$1$1.run(SynthObjectForm.java:599)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: net.sf.nmedit.jnmprotocol2.MidiException: Communication timed out: 1511981412864 [error=-1001]
at net.sf.nmedit.jnmprotocol2.NmProtocol.heartbeatImpl(NmProtocol.java:58)
at net.sf.nmedit.jsynth.clavia.nordmodular.NordModular$SchedulingProtocol.heartbeatImpl(NordModular.java:252)
at net.sf.nmedit.jnmprotocol2.AbstractNmProtocol.heartbeat(AbstractNmProtocol.java:154)
at net.sf.nmedit.jnmprotocol2.NmMessageAcceptor.waitForReply(NmMessageAcceptor.java:114)
at net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.connect(NordModular.java:358)
ā€¦ 17 more

Hi, does the software provide any configuration options for MIDI?

Yes, I can see pisound and when I add the Roland I can see both. What I know is that the Nord is sending a lot of Mididata over the interface. So pisound alone not working but with the Roland and the pisound active everything is working fine.

I am unfamiliar with Nord Modular and its editing softwareā€¦ How is it supposed to work? Like you connect MIDI IN and OUT to and from Nord Modular hardware, and the editor is supposed to communicate the configuration changes via the MIDI interface?

What is the Nord Modular model youā€™re using?

For the Roland I have not installed any drivers because for linux not avaiable. But plugged in and working out of the box with no problems. Psound Midi was my first try from yesterday evening and after the problems I connected today the Roland and everything is working fine. Maybe something stucks inside the driver of pisound smmall buffer or overflow or whatever. So there are going a lot of Sysex data between Nord Modular G1 and the Computer.

The Nord has 2 Midi ins and outs. One is just only for the Editor (Computer) because a lot of data is sended and received and the other in/out is the normal every other Synth has for Midi on off, velocity, midi volumeā€¦

Lets give a break to the discussion and sleep one night and have a beer or whatever. The problem has not to be solved next 10 minutes. But when the people are buying this Lithuanian Audio Midi Army Knife it should work also in extreme conditions.

Looks like there is an issue with sending high amount of data to the MIDI OUT port, weā€™ll get that fixed. :wink:

Hey, a quick progress update - we have made a fix for the MIDI in the kernel module, itā€™s already merged to Raspberry Piā€™s Linux tree, but we still have to wait a bit until a new minor kernel version gets released by RPi developers. After it is out, weā€™ll post the instructions to get the update.

2 Likes

The new kernel version got released, the fix for MIDI is available since version 4.9.67.

@Ziggy, please run sudo rpi-update, reboot and try the Nord modular editor again, let us know how it goes.

You can check your kernel version by running uname -a.

Running perfect and everything is ok now. Only problem for me is this ā€œulimit -c unlimitedā€ -enable core dumping- when starting java.
What about putting this into an autofunction or the carddriver as default? Does it do any problems to other processes when running different software without java? Sorry I`m new to all this Linux stuff.

1 Like

Hi, where did you get this command from? It seems related to ā€˜core dumpsā€™ which are useful only for developers or creating bug reportsā€¦ Are you sure itā€™s necessary for you? :slight_smile:

A post was split to a new topic: Pure Data MIDI ports issue

Hello I am getting the same error with the same issue as the head of this topic I am using the PatchBox OS used for ORAC. Additionally I have installed the latest version of JAVA. Everything looks like is installed correctly but am constantly getting a similar error with all versions of NOMAD. as well as executing file under sudo and root. I have tried several midi interfaces including the PISound din interface but to no avail I am getting a similar java error message at the head of this topic using the same JAVA application NOMAD used for the Nord Modular synth. I have ruled out the synth and interface being the issue by trying on a Nord Micro Modular, and Nord Modular Keyboard. The error is referencing device is busy or not available.

Hi, you may have to first stop the Jack background service to free up the audio card for use by Nomad or other software which wants exclusive access to audio I/O, this depends on the way the application itself is implemented.

Jack can be stopped by closing all audio applications and executing:

sudo systemctl stop jack

and confirmed by:

sudo systemctl status jack

Then try reconfiguring Nomad to use the MIDI ports you want and running it.

I did the above commands for starting and stopping jack but to no avail I still get the same error :confused:unfortunately
Here is a screenshot and the exact error message I am getting in Nord Modular Nomad. Thank you for the reply I hope you can help me. Originally it worked under Resbian straight from desktop no problem. I even got it to work with exagear desktop along with original Nord editor. But since Patchbox it hasnā€™t worked.


`

`

net.sf.nmedit.jsynth.SynthException: javax.sound.midi.MidiUnavailableException:
Device or resource busy
at
net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.connect(NordModular.java:324
)
at
net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.setConnected(NordModular.jav
a:881)
at
net.sf.nmedit.jsynth.nomad.forms.SynthObjectForm.trySetConnectedState(SynthObjec
tForm.java:958)
at
net.sf.nmedit.jsynth.nomad.forms.SynthObjectForm$1$1.run(SynthObjectForm.java:59
9)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205
)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105
)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: javax.sound.midi.MidiUnavailableException: Device or resource busy
at com.sun.media.sound.MidiInDevice.nOpen(Native Method)
at com.sun.media.sound.MidiInDevice.implOpen(MidiInDevice.java:59)
at
com.sun.media.sound.AbstractMidiDevice.doOpen(AbstractMidiDevice.java:154)
at
com.sun.media.sound.AbstractMidiDevice.open(AbstractMidiDevice.java:118)
at net.sf.nmedit.jnmprotocol2.MidiDriver.connect(MidiDriver.java:79)
at
net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.connect(NordModular.java:320
)
ā€¦ 17 more

Looks like this error is produced whenever an ALSA sequencer MIDI connection is active on the selected MIDI input or output ports. These connections are set up automatically by amidiauto, so it has to be disabled too, and all sequencer connections disconnected. So to get Nomad working, you have to first run:

sudo systemctl stop jack
sudo systemctl stop amidiauto
aconnect -x

then Nomad and possibly other software youā€™ve listed will work.

This has to be done, because Nomad wants to have exclusive access to the MIDI ports, probably using ALSA rawmidi API, most other software uses alsaseq APIs and they can share the MIDI ports in a nicer way.

Just in case, the JRE I installed was oracle-java8-jdk.

awesome :pray: thanks Iā€™m going to try tonight to see if it works :grinning: thanks for getting back to me.
:pray::grinning::smiley::face_with_monocle:Paul

Here is the new error message Iā€™m getting and is closer to the error at the beginning of this topic.

net.sf.nmedit.jsynth.SynthException: net.sf.nmedit.jnmprotocol2.MidiException: timeout: 10000ms (net.sf.nmedit.jnmprotocol2.SynthSettingsMessage) [error=-1001]
at net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.connect(NordModular.java:411)
at net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.setConnected(NordModular.java:881)
at net.sf.nmedit.jsynth.nomad.forms.SynthObjectForm.trySetConnectedState(SynthObjectForm.java:958)
at net.sf.nmedit.jsynth.nomad.forms.SynthObjectForm$1$1.run(SynthObjectForm.java:599)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: net.sf.nmedit.jnmprotocol2.MidiException: timeout: 10000ms (net.sf.nmedit.jnmprotocol2.SynthSettingsMessage) [error=-1001]
at net.sf.nmedit.jnmprotocol2.NmMessageAcceptor.waitForReply(NmMessageAcceptor.java:111)
at net.sf.nmedit.jsynth.clavia.nordmodular.NordModular.connect(NordModular.java:400)
ā€¦ 17 more

Thank you for the help, hopefully we can get this resolved.
:pray::pray:Thank you,
Paul