Code Monkey home page Code Monkey logo

Comments (4)

ffont avatar ffont commented on May 30, 2024

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!

from push2-python.

SteveElbows avatar SteveElbows commented on May 30, 2024

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.

from push2-python.

SteveElbows avatar SteveElbows commented on May 30, 2024

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!

from push2-python.

ffont avatar ffont commented on May 30, 2024

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.

from push2-python.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.