Mapping Roland Dj-808 controller, output problem

Fixxx your Mixxx

Moderator: garth

Mapping Roland Dj-808 controller, output problem

Postby lego » Thu Feb 15, 2018 2:10 pm

Hi,

I have decided that I want to try to create a mapping for the Roland DJ-808 controller.

However, I am stuck just at the very beginning:

Mixxx can detect the controller and the MIDI learning wizard works (not perfectly in some sliders/knobs, but at least works quite good for some buttons).
However, when I try to select the output sound to the controller (Master and headphones, I don't need anything else), mixxx won't load any tracks to the decks.

- If I select the output ("Master" and "headphones") as "none", it loads tracks, and everything fine, except that I obviously have no sound.
- If I select the output ("Master" and "headphones") as "the-soundcard-ofmy-laptop", it loads tracks, and everything fine, but I hear the sound in my laptop, but I need to hear it through the controller to attach the speakers!
- If I select "Master" or "headphones" to any value of the controller's drop down list (e.g. "Master" to "channels 1-2" of the controller, or any other possible channels), mixxx won't load any songs.

It seems that I cannot set the outputs of the sound card properly. Any ideas how con I solve it?

I use (stereo) ALSA, at 48 KHz (none of the 44.1 KHz not 96 KHz worked, mixxx says "invalid sample rate"). With OSS I can't select any outputs.

I can attach log files in case you need them (but which ones?)

Cheers,
Fran
lego
 
Posts: 31
Joined: Tue Feb 25, 2014 6:12 pm

Re: Mapping Roland Dj-808 controller, output problem

Postby Be. » Thu Feb 15, 2018 2:14 pm

That is strange. Please attach ~/.mixxx/mixxx.log after you configure your controller for sound output. Also, try running Mixxx with the PA_ALSA_PLUGHW environment variable set to 1. If that doesn't work, try using JACK instead of ALSA.
I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2437
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: Mapping Roland Dj-808 controller, output problem

Postby lego » Thu Feb 15, 2018 3:57 pm

I did an "export PA_ALSA_PLUGHW=1" before running mixxx. With the PA_ALSA_PLUGHW variable set to 1, now I can set 44.1 kHz, 48 kHz or 96 kHz without errors (the Roland DJ-808 supports these three frequencies). Before doing that, setting 44.1 kHz or 96 kHz throwed an "Invalid sample rate error". Now all the three frequencies are accepted.

Attached herein you will find a mixxx.log file corresponding to: opening mixxx with the "Master" output set to "channels 1-2", and trying to load a track to the deck 1 (without success).

As can be seen in the log file, I am using Mixxx 2.2.0-alpha-pre (build master r6462) in a 64-bit linux.
Attachments
mixxx.log
(26.14 KiB) Downloaded 50 times
lego
 
Posts: 31
Joined: Tue Feb 25, 2014 6:12 pm

Re: Mapping Roland Dj-808 controller, output problem

Postby Be. » Thu Feb 15, 2018 4:15 pm

Hmm, I don't see anything suspicious in the log. Try changing the Engine Clock option in the Sound Hardware Preferences to Network Clock.
I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2437
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: Mapping Roland Dj-808 controller, output problem

Postby lego » Thu Feb 15, 2018 5:56 pm

Be. wrote:Try changing the Engine Clock option in the Sound Hardware Preferences to Network Clock.


Done, with the network clock I can load tracks correctly, but there is no sound output anywhere (Even if I specify "Master" output at "channels 1-2" of the controller, but I get no sound).
I also tried to assign different channels (of the controller) to the Master and Headphone outputs, but no sound.
Furthermore, with the network clock, now when I set the "Master" or "Headphone" outputs, in a drop-down list it appears as if the soundcard had 128 channels..
Of course I can't test all of them to check if some is correct.. but it seems so weird to me..

I can't see anything clear from the mixxx.log file (attached herein), it seems all correct (except some skin-related warnings..)

Any ideas?
I would love to start with the mapping!
Attachments
mixxx.log
(46.82 KiB) Downloaded 38 times
lego
 
Posts: 31
Joined: Tue Feb 25, 2014 6:12 pm

Re: Mapping Roland Dj-808 controller, output problem

Postby Be. » Thu Feb 15, 2018 7:36 pm

Well this is really weird. Have you tried using JACK? Can you get sound out of the controller from any other programs? How about aplay?
I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2437
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: Mapping Roland Dj-808 controller, output problem

Postby lego » Thu Feb 15, 2018 11:43 pm

The sound card is properly detected
Code: Select all
$ cat /proc/asound/cards
 0 [MID            ]: HDA-Intel - HDA Intel MID
                      HDA Intel MID at 0xfb400000 irq 33
 1 [DJ808          ]: USB-Audio - DJ-808
                      Roland DJ-808 at usb-0000:00:1d.0-1.1, high speed


The following command tells me that the output should be at hw:1,0
Code: Select all
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: MID [HDA Intel MID], device 0: 92HD81B1X5 Analog [92HD81B1X5 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: DJ808 [DJ-808], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


So, I create a WAV file to test with aplay
Code: Select all
$ sox -b 16 -n test.wav rate 44100 channels 2 synth 1 sine 440 gain -1


I try to obtain the sound in the controller by
Code: Select all
$ aplay -D hw:1,0 test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
aplay: set_params:1299: Sample format non available
Available formats:
- S32_LE


But I get no sound. To avoid the previous format error, I tried
Code: Select all
$ aplay -D hw:1,0 -f S32_LE test.wav
Warning: format is changed to S16_LE
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
aplay: set_params:1299: Sample format non available
Available formats:
- S32_LE


But as one can note, the same error persists and still no sound. If I try to play random noise instead of the WAV file, the error changes:
Code: Select all
$ cat /dev/urandom | aplay -D hw:1,0 -f S32_LE
Playing raw data 'stdin' : Signed 32 bit Little Endian, Rate 8000 Hz, Mono
aplay: set_params:1305: Channels count non available


So I force to use two channels (stereo):
Code: Select all
$ cat /dev/urandom | aplay -D hw:1,0 -f S32_LE -c 2
Playing raw data 'stdin' : Signed 32 bit Little Endian, Rate 8000 Hz, Stereo
Warning: rate is not accurate (requested = 8000Hz, got = 48000Hz)
         please, try the plug plugin


Then I forced the rate to 48000 Hz:
Code: Select all
$ cat /dev/urandom | aplay -D hw:1,0 -f S32_LE -c 2 -r 48000
Playing raw data 'stdin' : Signed 32 bit Little Endian, Rate 48000 Hz, Stereo
aplay: pcm_write:2011: write error: Input/output error


And also tried to use the plugin
Code: Select all
$ cat /dev/urandom | aplay -D plughw:1,0 -f S32_LE -c 2 -r 48000
Playing raw data 'stdin' : Signed 32 bit Little Endian, Rate 48000 Hz, Stereo
aplay: pcm_write:2011: write error: Input/output error


And unfortunately still no sound. I also installed jack (apt-get install jackd2), but trying to enable jack fails too:
Code: Select all
$ jackd -d alsa --device hw:1 --rate 44100 --period 512
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
Cannot create RT messagebuffer thread: Operation not permitted (1)
Retrying messagebuffer thread without RT scheduling
Messagebuffer not realtime; consider enabling RT scheduling for user
no message buffer overruns
Cannot create RT messagebuffer thread: Operation not permitted (1)
Retrying messagebuffer thread without RT scheduling
Messagebuffer not realtime; consider enabling RT scheduling for user
no message buffer overruns
Cannot create RT messagebuffer thread: Operation not permitted (1)
Retrying messagebuffer thread without RT scheduling
Messagebuffer not realtime; consider enabling RT scheduling for user
no message buffer overruns
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Cannot lock down 82274202 byte memory area (Cannot allocate memory)
audio_reservation_init
Acquire audio card Audio1
creating alsa driver ... hw:1|hw:1|1024|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
Cannot use real-time scheduling (RR/10)(1: Operation not permitted)
AcquireSelfRealTime error
ALSA: poll time out, polled for 16015067 usecs
JackAudioDriver::ProcessAsync: read error, stopping...


I don't know how to continue, maybe someone experienced in these topics can help me?
lego
 
Posts: 31
Joined: Tue Feb 25, 2014 6:12 pm

Re: Mapping Roland Dj-808 controller, output problem

Postby Be. » Fri Feb 16, 2018 1:12 am

My guess is that the audio interface isn't actually compliant with the USB Audio Class standard. Roland provides a driver for macOS, which is often a sign that it is not class compliant. Can you post the end of the output of "dmesg" after plugging it in and the output of "lsusb -vvv"? Also try playing a WAV file with aplay using the plughw device.
I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2437
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: Mapping Roland Dj-808 controller, output problem

Postby kazakore » Fri Feb 16, 2018 10:10 am

According to the Specs on Roland's website the input is 24bits while the output is 32bits (float). I don't know if ALSA or JACK can be configured to cope with this.... And as Be says usually having a Mac OSX driver is a fair (but not fully trustworthy) sign of audio devices not being class compliant these days.

https://www.roland.com/uk/products/dj-8 ... fications/
kazakore
 
Posts: 468
Joined: Sat Feb 20, 2016 1:38 pm

Re: Mapping Roland Dj-808 controller, output problem

Postby lego » Fri Feb 16, 2018 1:41 pm

Be. wrote:Can you post the end of the output of "dmesg" after plugging it in and the output of "lsusb -vvv"?


Thank you very much Be for your patience! I think you are right. Do I have any chance even if the sound card is not class compliant and there are no drivers for linux?
It's kind of strange, since I am aware that one user (Lykos153) is using the Roland Dj-202 in linux witohut problems (https://www.mixxx.org/forums/viewtopic. ... 568#p37126). But well, it'a anorther sound card..

Code: Select all
$ demsg
[   56.044854] usb 2-1.1: new high-speed USB device number 5 using ehci-pci
[   56.155189] usb 2-1.1: New USB device found, idVendor=0582, idProduct=01c9
[   56.155192] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   56.155195] usb 2-1.1: Product: DJ-808
[   56.155197] usb 2-1.1: Manufacturer: Roland


Code: Select all
$ lsusb -vvv
Bus 002 Device 005: ID 0582:01c9 Roland Corp.
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          0x01c9
  bcdDevice            1.00
  iManufacturer           1
  iProduct                2
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          270
    bNumInterfaces          4
    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    255 Vendor Specific Subclass
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      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        1
      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 0c 04 18 01 80 bb 00
      ** UNRECOGNIZED:  06 24 f1 04 04 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0d  EP 13 OUT
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0180  1x 384 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      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 80 bb 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0d  EP 13 OUT
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2
      bInterfaceProtocol      1
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      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 0e 04 18 01 80 bb 00
      ** UNRECOGNIZED:  06 24 f1 04 04 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8e  EP 14 IN
        bmAttributes           37
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Implicit feedback Data
        wMaxPacketSize     0x01c0  1x 448 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       2
      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 80 bb 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8e  EP 14 IN
        bmAttributes           37
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Implicit feedback Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      3
      bInterfaceProtocol      0
      iInterface              0
      ** UNRECOGNIZED:  06 24 f1 02 01 01
      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               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 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        3
      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            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               4
lego
 
Posts: 31
Joined: Tue Feb 25, 2014 6:12 pm

Next

Return to Troubleshooting & FAQ

Who is online

Users browsing this forum: No registered users and 6 guests