Please help with MIDI problem


#25

sorry I’m not clear from your posts, what is working, and what is not…
I get the microkontrol is not, but is the USB DIN working ok, with this new configuration

microKONTROL

ok, so important bit is this

client 28: 'microKONTROL' [type=kernel]
    0 'microKONTROL MIDI 1'
    1 'microKONTROL MIDI 2'
    2 'microKONTROL MIDI 3'

this means it has 3 midi ports available , unfortunately Korg in its wisdom, hasn’t labelled them better… so means you’ll just have to try each one

to access place one of the following in MIDI_Config.txt

alsaconfig 28:0 128:0 128:1 28:0;
alsaconfig 28:1 128:0 128:1 28:1;
alsaconfig 28:2 128:0 128:1 28:2;

remember to still have useAlsa 1.

p.s. if it can be USB bus powered, make sure your powering it from the DC jack, not USB

btw: its a bit odd with this device having 3 ports, what are they used for?
on something like the virus what happens is… 1 is used for the synth engine, the other provides access to the MIDI din ports (so you can use it as a usb midi -> midi din router)
is there nothing in the manual about what these ports are used for?

usb midi din converter

is this working with useAlsa 1?
(should do, I have a similar device which works fine)

client 28: 'USB2.0-MIDI' [type=kernel]
    0 'USB2.0-MIDI MIDI 1'
    1 'USB2.0-MIDI MIDI 2'

as this is midi DIN and so unidirectional this is best configured as

alsaconfig 28:0 128:0 128:1 28:1;

this means DIN1 (usually marked on plug) is input and DIN2 is output.

if this still does not work, can you configure MIDI-Config.txt, have the device plugged in , and run a patch, THEN run Diagnostics log, this will let me see that MIDI-Config.txt is being used correctly to configure puredata.


#26

I tried using all of the alsaconfig settings you recommended, still no go…

Sorry for the confusion as to what was working/not- When I first connected the device by USB, the device just flashed and didn’t light up like it was supposed to. After restarting, my device lit up through USB power.

With these configurations and diagnostics, I was plugged into the Organelle via USB and also powered by a DC jack.

I’m uploading the Diagnostic Log using the Second alsaconfig option- alsaconfig 28:1 128:0 128:1 28:1;

diag_log.txt.zip (2.8 KB)

I can choose to send notes/cc to either (PORT A) or (PORT B). It seems the default port in Pure Data is (MIDI IN). Which I assume is the DIN. In order to use the MicroKontrol on OS X over USB, I have to select (PORT A), which I assumed would be (28:1)…

17 AM

29 AM

I’m really only concerned with sending data to the organelle via the controller- I’m able to do so on my Mac but not on the organelle.

I appreciate your patience and your knowledge, thanks for your help.


#27

yes, Id assume PORT A is 28:1 = microKONTROL MIDI 2

the issue is, that is an assumption…and this is where things tend to break down :slight_smile:

it looks like it is connected properly , see:

=================================================
ACONNECT 
client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
	Connecting To: 15:0
client 15: 'OSS sequencer' [type=kernel]
    0 'Receiver        '
	Connected From: 0:1
client 28: 'microKONTROL' [type=kernel]
    0 'microKONTROL MIDI 1'
    1 'microKONTROL MIDI 2'
	Connecting To: 128:0
	Connected From: 128:1
    2 'microKONTROL MIDI 3'
client 128: 'Pure Data' [type=user]
    0 'Pure Data Midi-In 1'
	Connected From: 28:1
    1 'Pure Data Midi-Out 1'
	Connecting To: 28:100:

what we are interested in is:
client 28: ‘microKONTROL’ [type=kernel]
1 'microKONTROL MIDI 2’
Connecting To: 128:0

client 128: ‘Pure Data’ [type=user]
0 'Pure Data Midi-In 1’
Connected From: 28:1

this shows pure data is listening on 128:0 (Pure Data Midi-in1) and is connected to 28:1 (microKONTROL MIDI 2).
(this information is kind of duplicated, in that we can see what the device is connected TO, and what PD mid input is connected FROM)

hmm, ok, heres what I would do:
a) change the alsaconfig to each one in turn… and reboot organelle after change it
(there is a different way to do this, but I dont want to get this ‘wrong’, so rebooting is ‘fail safe’)
b) after reboot start a patch , lets use C&G basic poly
c) take a Diagnostic log (this will allow us to see (a) has been effective), if you look at the first lines, you will be able to see the above, and be able to check for yourself
d) double check the midi channel on the Kontrol and MIDI-Config.txt are correct, Id go for channel 1
e) now try different things on the microKontrol e.g. different configs to try to use MIDI IN/PORT A/PORT B
(that includes sending MIDI thru the MIDI DIN ports on the microKontrol if possible)
f) if you have a hdmi monitor/keyboard etc, then I would connect those, and then use the PD “test audio and midi” function.
g) confirm the USB midi adapter is working over alsa, so we know alsa is work ok.

I have multiple port devices working fine here, and the microKONTROL is reporting itself as a class compliant USB midi device, so I see no reason why it shouldn’t work.
Its possible its something to do with the alsa/kernel version on the organelle (vs mac), but frankly that seems unlikely…

long shot… so after you have tried all the above…
another thing you can try to do, is to plug the controller in, after organelle is powered up, but just before you start the patch… then after you start the patch , take a diagnostic log…
this will enable us to see the initialisation messages from the driver (in dmesg), perhaps an error there… but this seem unlikely, given ALSA appears to be perfectly happy with the driver.

hmm, I cant think of what else to try… If I had the controller here, id do things like get alsa to dump the midi messages, test it on another linux install, in case there is some kind of microKontrol ‘quirk’ that has not been included in the organelle kernel yet - but these are things I cannot walk people thru.


#28

okay, I did it.

thank you! the monologue sends and receives now!

great stuff!


#29

Hi! I have a Edirol PCR 300 and It was with the same problem described here. I did this modifications and It WORKS! Thanks a lot!


#30

Thanks a lot, TechnoBear,

Sorry for the late reply but everything you said helped and was correct- The error was on my end when I realized the MicroKontrol’s MIDI channel was set to 9, and the Organelle was looking for Ch1. Duh! Still on Port 2, so your firmware was essential~


Can you connect a MIDI Din to USB interface to the Organelle
#31

Hi everyone, first post here. I am new to the world of synth and PD and not the most fluent computer user in the world but I’m a learner :wink: I have had my organelle a while and have recently got a Microkontrol to use as a controller but it does not appear to “plug n play” with my organelle. I can see that this has been discussed here and @Alexjboyce solved his mystery with some help but a lot of the instructions and convo had me lost. Can anyone help in lay men’s terms for me?


#32

Download and install TechnoBear’s firmware. Then create a MIDI-config.txt file with

channel 1;
usealsa 1;
alsaconfig 28:1 128:0 128:1 28:1;

The rest of the discussion was because I forgot my MK global channel was not 1 and is irrelevant…


#33

Sorry to hijack the thread, but maybe someone here will know - I have an organelle on the way (YAY!). I currently own an arturia minilab, beatstep and minibrute. Does anyone have any experience hooking these specific devices up to the organelle via usb for midi? Any success/failure stories? Will TechnoBear’s firmware work for them? Looking forward to getting into pure data patching and maybe some other development on the organelle!


#34

from what i have heard technobear’s MIDI implementation is Kick ass. I will be shifting my “research organelle” to it probabaly this week

Yeah all the Arturia Gear because of the Control App will work. I have a BSP no problems at all


#35

Thank you @Alexjboyce I have attempted this but still no luck. The Microkontrol is recognised in the ‘info’ section on the organelles menu and I have cycled through each of the MIDI channels to see if I can find it but no joy.


#36

@Cosmicradd, unfortunately, showing up on the info screen doesn’t really tell us much other than the usb cable works :wink:

so what you need to do is:
mount you USB stick on your computer,
you should see in the root directory a file called MIDI-Config.txt, if not create one,
edit this file and add the following contents to it:

channel 1;
usealsa 1;
alsaconfig 28:1 128:0 128:1 28:1;

while you have it mounted, also create a folder on the driver called System,
then unzip DiagnosticLog to it, in a similar way to the way you install patches (into Patches… ie. your just putting it in a different directory)

ok, now unmount the usb drive from your computer, and place it in your Organelle, and select 'remount’
connect your microkontrol to your organelle as well

now launch any patch, and try your microkontrol

if it doesn’t work, then go back to the main menu, above the ‘Patches’ section, you should see DiagnosticLog, run that by clicking on it.

after running, unmount the usb drive, and put it in your computer again,
now you should find a file called, DiagnosticLog.txt on the root, copy this to your PC, and then upload it here… this should allow us to see that you have done the MIDI-Config part correctly.

sorry, but I don’t have a microkontrol, so I don’t know how to set (or check) the midi channel on it, I guess @Alexjboyce can tell you this , as he had to change it.

EDIT: for those reading this, make sure you have installed the latest 2.2 TB beta.
this will not work on the official C&G (2.1) release it doesn’t contain the necessary code to make it work!


#37

@thetechnobear thank you so much for your advice here! I will do all of that once I have resolved some computer issues! Can’t wait to experience some success!


#38

Hi! I have an old Edirol PCR M50 connected by USB, and It was with the same problem… I did this modifications and nothing happen, the keyboard does not work, i also tried to connect it with roland um-one, no effect…:frowning: what am i doing wrong?
Help me Please! Tnx!


#39

sorry but I can’t upload my dialog text because new users can not upload attachments…


#40

sorry, I know this is frustrating, if your not sure what to do, but on my side I can’t really help on posts which say (essentially) - “Ive done this, and it does not work”.

simply because it doesn’t give me enough information to help… and I think the steps ive described are complete.

(all I can say, is ALSA , and so this method, supports a huge number of midi devices, so it should work, but unfortunately I don’t have your devices to test specific devices, nor frankly the time :wink: )

so, Ive posted a couple of times above, what is required to be done… so please you’ll need to re-read these.
(and obviously make sure you are using my beta)

if this does not work, then you need to run the Diagnostic Log, (again described above),
you can then either attach the text file on the forum,
or post its contents in a normal post , if you do this its best to place within [ code ] [ /code ] tags, so that discourse does not interpret the contents)

if users who have been through the above, have found Ive ‘missed a step’ or something is not clear, then it would be super useful to let us know, so it can be made clearer. (as it stands, I cannot think of a way to make the above clearer)


#41

@thetechnobear sorry for the incomplete information, I through I could upload the dialog file to show you the problem but i can’t, anyway, I’ ve updated with your firmware and I think I’ ve followed all the steps, on the info screen the pcr is recognized, obviously I tested the keyboard with pc and it works well.
So I copy here the dialog txt contents, tnx so much for the patience!

Diagnostic log
Sat Oct 17 01:18:25 UTC 2015
Organelle version 2.2 TBb14

ACONNECT
client 0: ‘System’ [type=kernel]
0 'Timer '
1 'Announce '
Connecting To: 15:0
client 15: ‘OSS sequencer’ [type=kernel]
0 'Receiver '
Connected From: 0:1
client 28: ‘PCR’ [type=kernel]
0 'PCR MIDI '
1 'PCR 1 '
2 'PCR 2 ’

AMIDI
Dir Device Name
IO hw:3,0,0 PCR MIDI
IO hw:3,0,1 PCR 1
I hw:3,0,2 PCR 2

APLAYMIDI
Port Client name Port name
28:0 PCR PCR MIDI
28:1 PCR PCR 1

LSUSB
Bus 002 Device 003: ID 0582:0033 Roland Corp. EDIROL PCR
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 003: ID 0582:0033 Roland Corp. EDIROL PCR
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 255
bMaxPacketSize0 64
idVendor 0x0582 Roland Corp.
idProduct 0x0033 EDIROL PCR
bcdDevice 1.00
iManufacturer 1 Roland
iProduct 2 EDIROL PCR
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 55
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 300mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 3
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 3
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 3.14
iManufacturer 3 Linux 3.14.14+ ehci_hcd
iProduct 2 EHCI Host Controller
iSerial 1 ci_hdrc.1
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x0009
Per-port power switching
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0103 power enable connect
Device Status: 0x0001
Self Powered

Bus 001 Device 004: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x090c Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)
idProduct 0x1000 Flash Drive
bcdDevice 11.00
iManufacturer 1 General
iProduct 2 USB Flash Disk
iSerial 3 0516400000001264
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 255
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 255
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 3.14
iManufacturer 3 Linux 3.14.14+ ehci_hcd
iProduct 2 EHCI Host Controller
iSerial 1 ci_hdrc.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x0009
Per-port power switching
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0503 highspeed power enable connect
Device Status: 0x0001
Self Powered

DMESG
[ 579.691439] usb 1-1: SerialNumber: 0516400000001264
[ 579.694820] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 579.711179] scsi2 : usb-storage 1-1:1.0
[ 581.144262] scsi 2:0:0:0: Direct-Access General USB Flash Disk 1100 PQ: 0 ANSI: 4
[ 581.150433] sd 2:0:0:0: Attached scsi generic sg0 type 0
[ 581.152504] sd 2:0:0:0: [sda] 7831552 512-byte logical blocks: (4.00 GB/3.73 GiB)
[ 581.153608] sd 2:0:0:0: [sda] Write Protect is off
[ 581.153624] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 581.154735] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 581.163071] sda: sda1
[ 581.167867] sd 2:0:0:0: [sda] Attached SCSI removable disk
[ 583.257729] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 593.578869] usb 2-1: USB disconnect, device number 2
[ 596.480210] usb 2-1: new full-speed USB device number 3 using ci_hdrc
[ 596.601931] usb 2-1: New USB device found, idVendor=0582, idProduct=0033
[ 596.601946] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 596.601955] usb 2-1: Product: EDIROL PCR
[ 596.601963] usb 2-1: Manufacturer: Roland
[ 619.193786] imx-hdmi-audio imx-hdmi-audio: HDMI Video is not ready!
[ 619.193803] imx-hdmi-audio imx-hdmi-audio: ASoC: can’t open platform imx-hdmi-audio: -22


#42

no worries… now we have some details :slight_smile:

ok, I need you to run the diagnostic log AFTER you have run a PD patch…
(and upload again, I only really need the bit from ACONNECT to AMIDI now)

note: if you had already had run a PD patch, then you have either:

  • not put the MIDI-Config.txt in the right place, root directory of usbdrive
  • you have not put the contents in it.

(from the log you have posted , I can see that PD is either not running, or is not using alsa)


#43

ok, tnx, where I have to put the Midi-Config.txt? In System folder?
Yes PD is not running, I don’t know how to use it well, but i will learn…
I loaded a patch but the diagnostic log seems the same as before, what am I doing wrong?

ACONNECT
client 0: ‘System’ [type=kernel]
0 'Timer '
1 'Announce '
Connecting To: 15:0
client 15: ‘OSS sequencer’ [type=kernel]
0 'Receiver '
Connected From: 0:1
client 28: ‘PCR’ [type=kernel]
0 'PCR MIDI '
1 'PCR 1


#44

no, MIDI-Context.txt goes in the root (top directory)

you dont need to run PD manually, just run any patch