Guitarist interested in Linux solutions
Moderators: MattKingUSA, khz
Guitarist interested in Linux solutions
Hi everyone,
I'm running an Arch distro for maybe 3 years, 6 or so years of Linux experience. I just got my first Roland GK-3/GR-55 guitar synth kit.
I'm looking for software and hardware advice on recording MIDI with this system. Do I need a dedicated sound card or audio interface on top of high-end equipment like the GR55?
What would you suggest for MIDI recording? LMMS? Audacity? Qtractor?
I'm running an Arch distro for maybe 3 years, 6 or so years of Linux experience. I just got my first Roland GK-3/GR-55 guitar synth kit.
I'm looking for software and hardware advice on recording MIDI with this system. Do I need a dedicated sound card or audio interface on top of high-end equipment like the GR55?
What would you suggest for MIDI recording? LMMS? Audacity? Qtractor?
-
- Established Member
- Posts: 2059
- Joined: Tue Feb 16, 2016 6:56 am
- Location: Kangasala, Finland
- Has thanked: 375 times
- Been thanked: 209 times
- Contact:
Re: Guitarist interested in Linux solutions
I have GR-33. For recording midi data, you need some midi interface. Many usb audio interfaces have midi also. So if you are getting one for recording audio also, consider getting one which has also midi. I have Alesis io2 and io4, both having midi. If you don't have needs for audio recording (I bet you have), you can get also some simple usb-midi interface, like https://www.ebay.com/itm/USB-IN-OUT-MID ... 3720415986snailboat wrote:Hi everyone,
I'm running an Arch distro for maybe 3 years, 6 or so years of Linux experience. I just got my first Roland GK-3/GR-55 guitar synth kit.
I'm looking for software and hardware advice on recording MIDI with this system. Do I need a dedicated sound card or audio interface on top of high-end equipment like the GR55?
What would you suggest for MIDI recording? LMMS? Audacity? Qtractor?
For software, LMMS or Ardour work for recording midi data. And most likely most of the DAWs.
Linux veteran & Novice musician
Latest track: https://www.youtube.com/watch?v=ycVrgGtrBmM
-
- Established Member
- Posts: 1392
- Joined: Thu Oct 11, 2018 4:13 pm
- Has thanked: 168 times
- Been thanked: 247 times
Re: Guitarist interested in Linux solutions
I've got a GR-55. It has USB to connect to the computer. On Linux the GR-55 is recognised as a MIDI input, audio is not recognised.
So you can use the built in USB for MIDI. For audio you will need to use the GR-55's analogue outs.
You may be interested in GR-55 FloorBoard :
https://sourceforge.net/projects/grfloorboard/
It does work with Linux, but some users have reported it works better using the Windows version and WINE. I've found the Linux version perfectly usable and bug free.
So you can use the built in USB for MIDI. For audio you will need to use the GR-55's analogue outs.
You may be interested in GR-55 FloorBoard :
https://sourceforge.net/projects/grfloorboard/
It does work with Linux, but some users have reported it works better using the Windows version and WINE. I've found the Linux version perfectly usable and bug free.
Re: Guitarist interested in Linux solutions
Getting the audio part of a Roland/Boss USB device working is usually a matter of adding a quirk and recompiling the snd-usb-audio driver.
What is the output of "sudo lsusb -v" for this device ?
What is the output of "sudo lsusb -v" for this device ?
-
- Established Member
- Posts: 1392
- Joined: Thu Oct 11, 2018 4:13 pm
- Has thanked: 168 times
- Been thanked: 247 times
Re: Guitarist interested in Linux solutions
Thanks for having a look Drumfix. Here it is :
Code: Select all
Bus 001 Device 006: ID 0582:0127 Roland Corp. GR-55
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 255
bMaxPacketSize0 64
idVendor 0x0582 Roland Corp.
idProduct 0x0127 GR-55
bcdDevice 0.01
iManufacturer 1 Roland
iProduct 2 GR-55
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00a7
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 2
iInterface 0
** UNRECOGNIZED: 06 24 f1 01 00 00
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 2
iInterface 0
** UNRECOGNIZED: 07 24 01 01 00 01 00
** UNRECOGNIZED: 0b 24 02 01 02 04 18 01 44 ac 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0070 1x 112 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 1
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 1
iInterface 0
** UNRECOGNIZED: 07 24 01 07 00 01 00
** UNRECOGNIZED: 0b 24 02 01 02 04 18 01 44 ac 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 37
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Implicit feedback Data
wMaxPacketSize 0x0070 1x 112 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 3
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 06 24 f1 02 02 02
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 3
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 8 Mass Storage
bDeviceSubClass 6 SCSI
bDeviceProtocol 80 Bulk-Only
bMaxPacketSize0 64
bNumConfigurations 0
Device Status: 0x0001
Self Powered
Re: Guitarist interested in Linux solutions
I am very interested in also getting audio input from the GR55 recognized as well. Would you mind helping merlyn with her output? I imagine I'll run in to the same issue and it would be helpful to work on it in this thread
Re: Guitarist interested in Linux solutions
For a start, add this to the quirks-table.h:
Code: Select all
{
/* Roland GR-55 */
USB_DEVICE(0x0582, 0x0127),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Roland",
.product_name = "GR-55",
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = (const struct snd_usb_audio_quirk[]) {
{
.ifnum = 0,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = 1,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = 2,
.type = QUIRK_MIDI_FIXED_ENDPOINT,
.data = & (const struct snd_usb_midi_endpoint_info) {
.out_cables = 0x0001,
.in_cables = 0x0001
}
},
{
.ifnum = -1
}
}
}
},
Re: Guitarist interested in Linux solutions
Of course the output of lsusb -v doesn't change.
With the recompiled driver loaded you should see the GR-55 as audio device.
.. and this thread should be continued in the "Computer Related Hardware" section.
With the recompiled driver loaded you should see the GR-55 as audio device.
.. and this thread should be continued in the "Computer Related Hardware" section.
-
- Established Member
- Posts: 1392
- Joined: Thu Oct 11, 2018 4:13 pm
- Has thanked: 168 times
- Been thanked: 247 times
Re: Guitarist interested in Linux solutions
@snailboat : Drumfix's quirk works.
So far I haven't managed to use the GR-55 as an input and my soundcard as an output. It works using the GR-55 as an input and an output -- in effect it becomes the soundcard.
A GR-55 is not a very well featured soundcard -- no mic preamps, no line inputs
If you only want to record guitar and synth (you can record straight guitar through the synth via 'normal pickup') then it's worth compiling the kernel module. There's a guide on how to do that here :
https://wiki.archlinux.org/index.php/Co ... nel_module
So far I haven't managed to use the GR-55 as an input and my soundcard as an output. It works using the GR-55 as an input and an output -- in effect it becomes the soundcard.
A GR-55 is not a very well featured soundcard -- no mic preamps, no line inputs
If you only want to record guitar and synth (you can record straight guitar through the synth via 'normal pickup') then it's worth compiling the kernel module. There's a guide on how to do that here :
https://wiki.archlinux.org/index.php/Co ... nel_module
Re: Guitarist interested in Linux solutions
Just as an aside, my GR-55 that i got in July 2019 was essentially recognized. I had to play with Jack2(qjackctl) and alsa to get the MIDI fed to Musescore. One of the tricks was playing with the GR-55 pedal settings to output poly to the midi out, (all strings sent on separate MIDI channels afaict) and again playing with qjackctl.
System-> Midi/usb
GTR-MIDI :
Switch: ON
Mode: POLY
Chromatic OFF
String CH: 1
Data thing: OFF
CTL PDL CC: 1
EXP: PDL CC: 11
System-> Midi/usb
GTR-MIDI :
Switch: ON
Mode: POLY
Chromatic OFF
String CH: 1
Data thing: OFF
CTL PDL CC: 1
EXP: PDL CC: 11