Quote:could I still use the Rasp if I wanted?
Of Course, but code would be different.
Is there a reason for that? Are you ultimately going to end up on PC?
Or is all processing going to be done on Pi?
If this is the case, still would want to hook up with I2C (both ends, pi ⇔ Neotrellis.
Code would be different.
Quote:Is there a reason for that? Are you ultimately going to end up on PC?
Or is all processing going to be done on Pi?
I already have all set up to communicate between Ableton (PC) and Raspberry via Serial.
I like the idea of doing all the processing on Pc, but then I should find a way to communicate between Ableton and Python. Ableton can run some python programs for midi control already (under the hood) . I read it can be done via java OSC
Quote:If this is the case, still would want to hook up with I2C (both ends, pi ⇔ Neotrellis.
Thats ready
I don't have a pi setup.
I will continue with what I have here, perhaps it will be of some use.
I haven't been keeping up with the thread, but I'm interested in what you're trying to accomplish.
You're trying to use your pc to send messages to a... device (arduino, raspberry pi, etc), which then interprets those messages to interact with a synth engine?
What else is in your pipeline so far? Is the raspberry pi running SuperCollider? Or is it communicating with external instruments via midi?
I think music generation is fascinating, so although I don't have much to contribute to the issue (whatever that is currently, like I said, I haven't been following the thread), I'm very interested in your setup and end goals.
I hope I understand the goal at this point, not good if I am wrong:
- See this post first: https://python-forum.io/Thread-Stop-cont...#pid134234
- There are 32 neotrellis Boards (see: https://learn.adafruit.com/neotrellis-fe...y/overview )
and ( https://learn.adafruit.com/adafruit-neotrellis ) connected together to form an array of 512 buttons.
each is tiled as in: https://learn.adafruit.com/adafruit-neotrellis/tiling
- Current process (software) is polling each board to determine where a button was pressed.
This is very slow so it's possible to miss button presses.
- Morris 256 has tried to compensate for this by adding the Pi which has very fast MCU, I have attempted to
explain that the pi will not help, as there is a limit on how fast a finger can push a button. (In software
that I wrote (in 'C' 2008), I hound this to be somewhere around 125 - 200 ms, so resamples button down
button to compensate as for this delay, and also to reduce bounce).
- Moris526 is able to get I2C (from neotrellis) explained in post: https://python-forum.io/Thread-Stop-cont...#pid135407 but not getting data from all boards.
- Note that pin 5 of zero must be connected to interrupt pin of (tiled) neotrellis array in order to process with
without polling.
- On pi, determine which button on neotrellis array has been pressed, and connect I2C I/O of neotrellis to pi
see: https://learn.adafruit.com/adafruit-neot...ep-3002728 to Ableton Live
and https://www.ableton.com/, which Moris526 has already communicating with pi.
- What I am attempting to do:
- Bypass pi entirely (this is not where the bottleneck is occurring) by connection I2C from tiled neotrellis array
directly to an Adafruit board containing a Microchip MCP2221A I2c to USB converter directly to a PC ( Interrupt
driven ), deciphering content to pc (board and button, for unique button push on neotrellis 512 button array ).
- Create an event (on PC) that has corresponding function addresses for each of the 512 buttons
- Each function will contain additional code, provided by user, that will ultimately be sent to Ableton Live
(running on same PC).
- See this post for more info on parts that I have acquired: https://python-forum.io/Thread-Stop-cont...#pid134513
- MCP2221A pages on AdaFruit site:
https://www.adafruit.com/product/4471
https://learn.adafruit.com/circuitpython...th-mcp2221
Let's hope I've got it all correct, I'm sure Moris526 will correct anything that is incorrect
EDit - added bit on tiling
This is the only thing to correct.
Quote:Current process (software) is polling each board to determine where a button was pressed.
This is very slow so it's possible to miss button presses.
Morris 256 has tried to compensate for this by adding the Pi which has very fast MCU
At first I used Arduino Mega, I had no problem with the button press response speed, since I had the interrupt wire working. But Arduino was too slow to parse data coming from PC. So I change to Pi, solved the data parsing problem but couldnt make the interrupt work.
Quote:You're trying to use your pc to send messages to a... device (arduino, raspberry pi, etc), which then interprets those messages to interact with a synth engine?
Im trying to do something like this. (I sure have to ignore the aesthetic part)
https://www.youtube.com/watch?v=gIsbBF33...el=stretta
A sequencer for Ableton.
Touch base ...
Just so you know, I haven't given up on this, but work on it only in spare time.
I find that the documentation for devices is not well organized on AdaFruit, and difficult to find.
Also code that I can't get to work on Linux mint, works for others when they try it out.
I have figured out partially why this is the case, but not there yet.
Eventually, I will get (my setup) working.
Hey man....
Any progress?
some, but still playing with strange lockup (I2C) on Linux mint.
I've posted some questions on Adafruit, under subject MCP2221, need to check for response after dinner.
I am having fun, but that's not helping you ... yet.