Midi data capture application

Optimize your system for ultimate performance.

Moderators: MattKingUSA, khz

Post Reply
retnev
Established Member
Posts: 157
Joined: Sat Mar 25, 2017 2:13 am
Has thanked: 4 times
Been thanked: 3 times

Midi data capture application

Post by retnev »

I need to verify that all my midi devices are working and sending data to my pc, so I need an application that can capture and display midi data such as midiox does on windows.

I tried kmidimon, but it shows no data for any of the midi devices selected.
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Midi data capture application

Post by merlyn »

You could do this from the command line with aseqdump. You have to stop JACK first, then use aseqdump -l to find the number of the port, then aseqdump -p x:y with the numbers you got from -l. It's in the alsa-utils package so you may have to install that.
retnev
Established Member
Posts: 157
Joined: Sat Mar 25, 2017 2:13 am
Has thanked: 4 times
Been thanked: 3 times

Re: Midi data capture application

Post by retnev »

Pity I have to stop alsa/jack for that. that will bring everything else down.
Once jack works it is best not to fiddle with it.
I will try it and see how I can get around disturbing everything else.
User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Midi data capture application

Post by bluebell »

I never stop jack when using aseqdump. I see no need for that.

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Midi data capture application

Post by merlyn »

If I use aseqdump when JACK is running it says 'resource busy'.
User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Midi data capture application

Post by bluebell »

merlyn wrote:If I use aseqdump when JACK is running it says 'resource busy'.
What port are you using with aseqdump?

Code: Select all

hm@bubu:~$ aseqdump -l
 Port    Client name                      Port name
  0:0    System                           Timer
  0:1    System                           Announce
 14:0    Midi Through                     Midi Through Port-0
 20:0    Scarlett 2i4 USB                 Scarlett 2i4 USB MIDI 1
hm@bubu:~$ aseqdump -p 14:0
Waiting for data. Press Ctrl+C to end.
Source  Event                  Ch  Data
  0:1   Port subscribed            128:0 -> 129:0

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Midi data capture application

Post by merlyn »

Code: Select all

★ aseqdump -l
 Port    Client name                      Port name
  0:0    System                           Timer
  0:1    System                           Announce
 14:0    Midi Through                     Midi Through Port-0
 16:0    PhotonX25                        PhotonX25 MIDI 1
 16:1    PhotonX25                        PhotonX25 MIDI 2
 24:0    Hoontech SoundTrack Audio DSP24  MIDI-1 Hoontech/STA DSP24 2
 24:32   Hoontech SoundTrack Audio DSP24  MIDI-2 Hoontech/STA DSP24 2
★ aseqdump -p 24:0
Cannot connect from port 24:0 - Resource temporarily unavailable
★ aseqdump -p 14:0
Waiting for data. Press Ctrl+C to end.
Source  Event                  Ch  Data
That's with JACK started. MIDI through doesn't receive anything on my system.
User avatar
milkii
Established Member
Posts: 477
Joined: Tue Jan 05, 2016 9:08 am
Location: Edinburgh
Has thanked: 92 times
Been thanked: 91 times
Contact:

Re: Midi data capture application

Post by milkii »

my favourites are Sherlock MIDI Inspector LV2 https://open-music-kontrollers.ch/pix/l ... pector.png or jack_midi_dump for quick terminal output

they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh

User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Midi data capture application

Post by bluebell »

merlyn wrote:

Code: Select all

★ aseqdump -l
 Port    Client name                      Port name
  0:0    System                           Timer
  0:1    System                           Announce
 14:0    Midi Through                     Midi Through Port-0
 16:0    PhotonX25                        PhotonX25 MIDI 1
 16:1    PhotonX25                        PhotonX25 MIDI 2
 24:0    Hoontech SoundTrack Audio DSP24  MIDI-1 Hoontech/STA DSP24 2
 24:32   Hoontech SoundTrack Audio DSP24  MIDI-2 Hoontech/STA DSP24 2
★ aseqdump -p 24:0
Cannot connect from port 24:0 - Resource temporarily unavailable
★ aseqdump -p 14:0
Waiting for data. Press Ctrl+C to end.
Source  Event                  Ch  Data
That's with JACK started. MIDI through doesn't receive anything on my system.
Have you tried asequdump -p 24:32 ?
Is this the interface where you connect external MIDI devices?

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

retnev
Established Member
Posts: 157
Joined: Sat Mar 25, 2017 2:13 am
Has thanked: 4 times
Been thanked: 3 times

Re: Midi data capture application

Post by retnev »

This is an old thread of mine, but I have still some problems on Linux.
aseqdump can only receive midi signals.
I cannot send midi signals.

In patchage I can see that aseqdump made a recieve midi connection from my Motif when I executed

Code: Select all

$]  asequdump -p 36:0 
using the identifiers from

Code: Select all

#]aseqdump -l
  0:1    System                           Announce
 14:0    Midi Through                     Midi Through Port-0
 20:0    UMC1820                          UMC1820 MIDI 1
 24:0    APC MINI                         APC MINI MIDI 1
 28:0    USB Uno MIDI Interface           USB Uno MIDI Interface MIDI 1
 32:0    MidiSport 1x1                    MidiSport 1x1 MIDI 1
 36:0    YAMAHA MOTIF XS8                 YAMAHA MOTIF XS8 MIDI 1
 36:1    YAMAHA MOTIF XS8                 YAMAHA MOTIF XS8 MIDI 2
 36:2    YAMAHA MOTIF XS8                 YAMAHA MOTIF XS8 MIDI 3
 36:3    YAMAHA MOTIF XS8                 YAMAHA MOTIF XS8 MIDI 4
128:1    rosegarden                       sync out
128:2    rosegarden                       external controller
128:3    rosegarden                       out 1 - uno out
130:0    KMidimon                         KMidimon
 

As mentioned I can clearly see that a rec eive connection is made, but no transmit connection was made.
What did i do wrong that only a receive midi connection was made (midi monitor) , or how do I get to send commands FROM aseqdump to e.g. 36:0 ???

Here are all my current midi connections. As you can see only receive was connected by aseqdump.

Code: Select all

$  jack_lsp -c
system:capture_1
   mixbus:LTC-in
   mixbus:Audio  1/audio_in 1
   mixbus:Movies 1/audio_in 1
   rosegarden:record in 1 L
system:capture_2
   mixbus:Audio  2/audio_in 1
   mixbus:Movies 1/audio_in 2
   rosegarden:record in 1 R
system:capture_3
   mixbus:Audio  3/audio_in 1
system:capture_4
   mixbus:Audio  4/audio_in 1
system:capture_5
   mixbus:Keyb(5&6)/audio_in 1
system:capture_6
   mixbus:Keyb(5&6)/audio_in 2
system:capture_7
   mixbus:Audio  7/audio_in 1
system:capture_8
   mixbus:Audio  8/audio_in 1
system:capture_9
   mixbus:Keyb SPDIF/audio_in 1
system:capture_10
   mixbus:Keyb SPDIF/audio_in 2
system:capture_11
system:capture_12
system:capture_13
system:capture_14
system:capture_15
system:capture_16
system:capture_17
system:capture_18
system:playback_1
   PulseAudio JACK Sink:front-left
   mixbus:Click/audio_out 1
   mixbus:Master/audio_out 1
   mixbus:Monitor/audio_out 1
   rosegarden:master out L
system:playback_2
   PulseAudio JACK Sink:front-right
   mixbus:Click/audio_out 2
   mixbus:Master/audio_out 2
   mixbus:Monitor/audio_out 2
   rosegarden:master out R
system:playback_3
system:playback_4
system:playback_5
system:playback_6
system:playback_7
system:playback_8
system:playback_9
system:playback_10
system:playback_11
system:playback_12
system:playback_13
system:playback_14
system:playback_15
system:playback_16
system:playback_17
system:playback_18
system:playback_19
system:playback_20
PulseAudio JACK Source:front-left
PulseAudio JACK Source:front-right
PulseAudio JACK Source:rear-left
PulseAudio JACK Source:rear-right
PulseAudio JACK Source:front-center
PulseAudio JACK Source:lfe
PulseAudio JACK Source:side-left
PulseAudio JACK Source:side-right
PulseAudio JACK Source:aux0
PulseAudio JACK Source:aux1
PulseAudio JACK Source:aux2
PulseAudio JACK Source:aux3
PulseAudio JACK Source:aux4
PulseAudio JACK Source:aux5
PulseAudio JACK Source:aux6
PulseAudio JACK Source:aux7
PulseAudio JACK Source:aux8
PulseAudio JACK Source:aux9
PulseAudio JACK Sink:front-left
   system:playback_1
PulseAudio JACK Sink:front-right
   system:playback_2
mixbus:LTC-in
   system:capture_1
mixbus:LTC-out
mixbus:Click/audio_out 1
   system:playback_1
mixbus:Click/audio_out 2
   system:playback_2
mixbus:MIDI control in
mixbus:MIDI control out
mixbus:MMC in
mixbus:MMC out
mixbus:Scene in
mixbus:Scene out
mixbus:MTC in
mixbus:MTC out
mixbus:MIDI Clock in
mixbus:MIDI Clock out
mixbus:Master/audio_out 1
   system:playback_1
mixbus:Master/audio_out 2
   system:playback_2
mixbus:KB 5&6/audio_out 1
mixbus:KB 5&6/audio_out 2
mixbus:SPDIF/audio_out 1
mixbus:SPDIF/audio_out 2
mixbus:Movies/audio_out 1
mixbus:Movies/audio_out 2
mixbus:Mixbus 4/audio_out 1
mixbus:Mixbus 4/audio_out 2
mixbus:Mixbus 5/audio_out 1
mixbus:Mixbus 5/audio_out 2
mixbus:Mixbus 6/audio_out 1
mixbus:Mixbus 6/audio_out 2
mixbus:Mixbus 7/audio_out 1
mixbus:Mixbus 7/audio_out 2
mixbus:Mixbus 8/audio_out 1
mixbus:Mixbus 8/audio_out 2
mixbus:Audio  1/audio_in 1
   system:capture_1
mixbus:Audio  1/audio_out 1
mixbus:Audio  2/audio_in 1
   system:capture_2
mixbus:Audio  2/audio_out 1
mixbus:Audio  3/audio_in 1
   system:capture_3
mixbus:Audio  3/audio_out 1
mixbus:Audio  4/audio_in 1
   system:capture_4
mixbus:Audio  4/audio_out 1
mixbus:Audio  7/audio_in 1
   system:capture_7
mixbus:Audio  7/audio_out 1
mixbus:Audio  8/audio_in 1
   system:capture_8
mixbus:Audio  8/audio_out 1
mixbus:Audio  11/audio_in 1
mixbus:Audio  11/audio_out 1
mixbus:Audio  12/audio_in 1
mixbus:Audio  12/audio_out 1
mixbus:Audio  13/audio_in 1
mixbus:Audio  13/audio_out 1
mixbus:Audio  14/audio_in 1
mixbus:Audio  14/audio_out 1
mixbus:Audio  15/audio_in 1
mixbus:Audio  15/audio_out 1
mixbus:Audio  16/audio_in 1
mixbus:Audio  16/audio_out 1
mixbus:Audio  17/audio_in 1
mixbus:Audio  17/audio_out 1
mixbus:Audio  18/audio_in 1
mixbus:Audio  18/audio_out 1
mixbus:Monitor/audio_in 1
   mixbus:auditioner/audio_out 1
mixbus:Monitor/audio_in 2
   mixbus:auditioner/audio_out 2
mixbus:Monitor/audio_out 1
   system:playback_1
mixbus:Monitor/audio_out 2
   system:playback_2
mixbus:Keyb(5&6)/audio_in 1
   system:capture_5
mixbus:Keyb(5&6)/audio_in 2
   system:capture_6
mixbus:Keyb(5&6)/audio_out 1
mixbus:Keyb(5&6)/audio_out 2
mixbus:Keyb SPDIF/audio_in 1
   system:capture_9
mixbus:Keyb SPDIF/audio_in 2
   system:capture_10
mixbus:Keyb SPDIF/audio_out 1
mixbus:Keyb SPDIF/audio_out 2
mixbus:Movies 1/audio_in 1
   system:capture_1
mixbus:Movies 1/audio_in 2
   system:capture_2
mixbus:Movies 1/audio_out 1
mixbus:Movies 1/audio_out 2
mixbus:auditioner/audio_out 1
   mixbus:Monitor/audio_in 1
mixbus:auditioner/audio_out 2
   mixbus:Monitor/audio_in 2
mixbus:auditioner/midi_out 1
rosegarden:master out L
   system:playback_1
rosegarden:master out R
   system:playback_2
rosegarden:record monitor out L
rosegarden:record monitor out R
rosegarden:record in 1 L
   system:capture_1
rosegarden:record in 1 R
   system:capture_2
rosegarden:audio fader 1 out L
rosegarden:audio fader 1 out R
rosegarden:audio fader 2 out L
rosegarden:audio fader 2 out R
rosegarden:audio fader 3 out L
rosegarden:audio fader 3 out R
rosegarden:audio fader 4 out L
rosegarden:audio fader 4 out R
rosegarden:audio fader 5 out L
rosegarden:audio fader 5 out R
rosegarden:audio fader 6 out L
rosegarden:audio fader 6 out R
rosegarden:audio fader 7 out L
rosegarden:audio fader 7 out R
rosegarden:audio fader 8 out L
rosegarden:audio fader 8 out R
rosegarden:audio fader 9 out L
rosegarden:audio fader 9 out R
rosegarden:audio fader 10 out L
rosegarden:audio fader 10 out R
rosegarden:audio fader 11 out L
rosegarden:audio fader 11 out R
rosegarden:audio fader 12 out L
rosegarden:audio fader 12 out R
rosegarden:audio fader 13 out L
rosegarden:audio fader 13 out R
rosegarden:audio fader 14 out L
rosegarden:audio fader 14 out R
rosegarden:audio fader 15 out L
rosegarden:audio fader 15 out R
rosegarden:audio fader 16 out L
rosegarden:audio fader 16 out R
rosegarden:synth fader 1 out L
rosegarden:synth fader 1 out R
rosegarden:synth fader 2 out L
rosegarden:synth fader 2 out R
rosegarden:synth fader 3 out L
rosegarden:synth fader 3 out R
rosegarden:synth fader 4 out L
rosegarden:synth fader 4 out R
rosegarden:synth fader 5 out L
rosegarden:synth fader 5 out R
rosegarden:synth fader 6 out L
rosegarden:synth fader 6 out R
rosegarden:synth fader 7 out L
rosegarden:synth fader 7 out R
rosegarden:synth fader 8 out L
rosegarden:synth fader 8 out R
rosegarden:synth fader 9 out L
rosegarden:synth fader 9 out R
rosegarden:synth fader 10 out L
rosegarden:synth fader 10 out R
rosegarden:synth fader 11 out L
rosegarden:synth fader 11 out R
rosegarden:synth fader 12 out L
rosegarden:synth fader 12 out R
rosegarden:synth fader 13 out L
rosegarden:synth fader 13 out R
rosegarden:synth fader 14 out L
rosegarden:synth fader 14 out R
rosegarden:synth fader 15 out L
rosegarden:synth fader 15 out R
rosegarden:synth fader 16 out L
rosegarden:synth fader 16 out R
rosegarden:synth fader 17 out L
rosegarden:synth fader 17 out R
rosegarden:synth fader 18 out L
rosegarden:synth fader 18 out R
rosegarden:synth fader 19 out L
rosegarden:synth fader 19 out R
rosegarden:synth fader 20 out L
rosegarden:synth fader 20 out R
rosegarden:synth fader 21 out L
rosegarden:synth fader 21 out R
rosegarden:synth fader 22 out L
rosegarden:synth fader 22 out R
rosegarden:synth fader 23 out L
rosegarden:synth fader 23 out R
rosegarden:synth fader 24 out L
rosegarden:synth fader 24 out R
rosegarden:record in 2 L
rosegarden:record in 2 R




Basslint
Established Member
Posts: 1511
Joined: Sun Jan 27, 2019 2:25 pm
Location: Italy
Has thanked: 382 times
Been thanked: 298 times

Re: Midi data capture application

Post by Basslint »

If you want to send MIDI data, you might want to try https://github.com/gbevin/SendMIDI
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]

Please donate time (even bug reports) or money to libre software 🎁

Jam on openSUSE + GeekosDAW!
User avatar
noedig
Established Member
Posts: 233
Joined: Wed Feb 12, 2014 4:39 am
Location: South Africa
Has thanked: 9 times
Been thanked: 52 times

Re: Midi data capture application

Post by noedig »

An easy way to send MIDI is to use virtual keyboards like VMPK, jack-keyboard or the new https://github.com/brummer10/Mamba.

If you're willing to do Python scripting, Mididings is an option.
retnev
Established Member
Posts: 157
Joined: Sat Mar 25, 2017 2:13 am
Has thanked: 4 times
Been thanked: 3 times

Re: Midi data capture application

Post by retnev »

Thanks for the recommendations.
I dont want to send ready made midi.
I want to send custom commands.
From what you suggest it seems it is keyboard note value midi only.
I cannot use the a2jmidid alsa daemon as it causes too much trouble, so jack midi wont work for me.

I loaded midi-ox under wine and it does what I want.
Strange that nothing similar to midi-ox exists on linux where I can send arbitrary midi commands in either Hex or Decimal.

Python, no thanks. I program in a lot of languages but I dont support the snake.
Apart from systemD Python is at the heart of about every system administration problem I had the last 3 years.

But, I really appreciate your suggestions and will look into them if I dont maybe miss something about what you suggest.
Post Reply