Skip to content

Synthesia can't light up LEDs when second input #582

Description

@gabeluci

I have Sythesia running on an Android tablet that I have also plugged into the Raspberry Pi. On the tablet, enabled Developer settings, and in the dev settings, under "Networking" set the USB configuration to MIDI. It shows up as another MIDI device in the Visualizer app, where I set it as the second input.

Here's what my setup looks like. "USB func for MIDI" is my piano, and "B3-A40" is my tablet with Synthesia.

Image

When Synthesia plays a song, the piano will play, but the LEDs will not light up.

aconnect -l looks like this:

client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
        Connecting To: 128:1
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 16: 'B3-A40' [type=kernel,card=0]
    0 'B3-A40 MIDI 1   '
        Connecting To: 20:0
        Connected From: 20:0
client 20: 'USB func for MIDI' [type=kernel,card=1]
    0 'USB func for MIDI MIDI OUT 1'
        Connecting To: 131:0, 16:0, 128:0
        Connected From: 129:0[real:0], 16:0, 128:0
client 128: 'rtpmidid' [type=user,pid=580]
    0 'Network Export  '
        Connecting To: 20:0
        Connected From: 20:0
client 129: 'RtMidiOut Client' [type=user,pid=1180]
    0 'RtMidi output   '
        Connecting To: 20:0[real:0]
client 131: 'RtMidiIn Client' [type=user,pid=1180]
    0 'RtMidi input    '
        Connected From: 20:0

The issue seems to be that the tablet ("client 16: 'B3-A40'") is not connected to "RtMidiIn Client". If I run:

aconnect 16:0 131:0

then it works. The output of aconnect -l now looks like this:

client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
        Connecting To: 128:1
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 16: 'B3-A40' [type=kernel,card=0]
    0 'B3-A40 MIDI 1   '
        Connecting To: 20:0, 131:0
        Connected From: 20:0
client 20: 'USB func for MIDI' [type=kernel,card=1]
    0 'USB func for MIDI MIDI OUT 1'
        Connecting To: 131:0, 16:0, 128:0
        Connected From: 129:0[real:0], 16:0, 128:0
client 128: 'rtpmidid' [type=user,pid=580]
    0 'Network Export  '
        Connecting To: 20:0
        Connected From: 20:0
client 129: 'RtMidiOut Client' [type=user,pid=1180]
    0 'RtMidi output   '
        Connecting To: 20:0[real:0]
client 131: 'RtMidiIn Client' [type=user,pid=1180]
    0 'RtMidi input    '
        Connected From: 20:0, 16:0

Your code automatically connects the primary input to "RtMidiIn Client", so maybe you need to also connect the secondary to it as well? But maybe there's a reason you haven't, since I'm not entirely sure the purpose of having a primary and secondary. If you end up connecting both as I suggest, then it's not really a primary and secondary but just two equal inputs.

Or maybe you have a different idea about how Synthesia is supposed to be connected?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions