Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Good news about the Push 3 #9

Open
SteveElbows opened this issue Jun 2, 2023 · 4 comments
Open

Good news about the Push 3 #9

SteveElbows opened this issue Jun 2, 2023 · 4 comments

Comments

@SteveElbows
Copy link

Hi,

I have a Push 3 (standalone but can obviously still use it in controller mode).

I wanted to establish whether the display etc implementations are simillar to the Push 2. I used your code to do so. I changed the MIDI port names in your constants file to look for 3 in the names instead of 2, and changed the USB device ID to 0x1969 and your display example code worked on my Push 3!

@ffont
Copy link
Owner

ffont commented Jun 5, 2023

Hi @SteveElbows,

This is amazing news!
I have not had the possibility to get a Push3 although I'd like to get one in the future, but good to see that at least the basics of its interface have not changed. Would be nice to see for example how the pad's MPE stuff works. Also it would be great to see if in the future we can "hack" the included computer to run our own apps so Push becomes a fully programmable device. I guess this is science fiction at this point, but being able to interface with Push3 in a similar way as Push2 is already good news.

Thanks!

@SteveElbows
Copy link
Author

SteveElbows commented Jun 5, 2023

Glad the news made you happy!

In regards MPE, it looks like the pads can be put in that mode using sysex similar to selecting channel or polyphonic aftertouch on the Push 2. There is also sysex for setting the expressive parameters of the pads when they are in MPE mode.

I havent actually tested the following sysex to make sure it works, so far I just got as far as sniffing it by monitoring communication between Live and Push 3:

Set pads to MPE mode: F0 00 21 1D 01 01 1E 02 F7 (same format as channel and poly pressure sysex in previous pushes, just a new value of 02 for MPE mode)

Enable per-pad pitch bend: F0 00 21 1D 01 01 26 07 08 02 00 F7
Disable per-pad pitch bend: F0 00 21 1D 01 01 26 07 08 00 00 F7

Set 'In tune' location to Finger: F0 00 21 1D 01 01 26 07 0E 01 00 F7
Set 'In tune' location to Pad: F0 00 21 1D 01 01 26 07 0E 00 00 F7

Set 'In Tune width':

F0 00 21 1D 01 01 26 07 14 vv 00 F7

Where vv is one of the following values:

0mm: 00
1mm: 04
2mm: 08
2.5mm: 0C
3mm: 10
4mm: 14
5mm: 18
6mm: 1C
7mm: 20
10mm: 30
13mm: 40
20mm: 60

Set 'Slide Height':

F0 00 21 1D 01 01 26 07 24 vv 00 F7

Where vv is one of the following values:

16mm: 13
15mm: 19
14mm: 20
13mm: 27
12mm: 2D
11mm: 34
10mm: 3B

Other values might do something too, in the above I just listed the values for the various mm options that are currently presented to users on that page of settings in the Push.

In terms of what MIDI is sent from the pads, it looks like standard MPE as per the MPE spec. I didnt check to see whether standard MPE config messages can be used to change the default piutch bend range (its probably defaulting to 48 which is a pretty standard value for MPE). Biggest complication will be if we want the playing surface to behave how it does in Live in terms of pads only showing the notes that are present in particular musical scales. Probably need to write all the code for that ourselves, with an additional complication compared to the previous Pushes: we'd also need to write our own code to process the pitch bend messages in a way that makes them actually bend to the next note in the chosen scale when the centre of the next pad is reached by a finger.

@SteveElbows
Copy link
Author

SteveElbows commented Jun 5, 2023

As for the internal computer, fairly standard Linux by the looks of things. wifi connection helps too, eg might well be possible to ftp or ssh into it via wifi if someone figures out the security. Failing that, might be possible to do something by removing internal SSD and connecting it to another computer. None of this is stuff I will be trying!

@ffont
Copy link
Owner

ffont commented Jun 6, 2023

Thanks for this information, I'll be looking into it if I manage to get a Push 3.

Biggest complication will be if we want the playing surface to behave how it does in Live in terms of pads only showing the notes that are present in particular musical scales.

I have built apps on top of push2-python that do these things (and many more!) with an effort to have a "standalone" Push midi controller (with Push+raspberry pi), but now with Push 3 standalone this will all be "solved". Nonetheless hacking devices is fun so let's see what we can do in the future with Push 3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants