Ableton LINK & Axoloti


#1

Dear axolotians,

LINK by Ableton plus wifi card for axoloti!

Would it be possible to implement it?Or the network selection should require a screen (7 or 14 seg display) and some password input solution(push encoder) ? So this could be a small additional board/shield. Or axoloti 2.0


#2

Perhaps someone implements the Link protocol on the ESP8266 (or similar) wifi board, that could connect to Axoloti.


#3

@vargasz , Ive renamed the topic as I thought it would be useful for a broader discussion of LINK and axoloti.

Wifi , so with something like a ESP8266, we would essentially need to interface with that (uses serial/AT commands) and then push the Link protocol over it.

whats interesting is that wifi link could potentially also be used for the 'axo bulk' protocol...
and this is a more general use-case that we see...
wanting to tunnel different protocols over the BULK interface , another example could be OSC.

I raise, this as, I personally think LINK would be useful if it was tunnelled over the USB connection to the PC/Mac... sure Wifi is convenient but it also suffers from jitter, and is a virtual no-go in a performance environment where 'wires are king' :slight_smile: (ok, or radio tech)

I also wonder what possibilities there are for an ethernet adaptor, or is it just easier to use an arduino or similar with ethernet, and then use the usb bulk interface? (which would also be a possibility for wifi)

(Im assuming the advantage of a wifi board is its cheaper, and can be easily powered directly by axoloti, and doesn't use the only usb port)

has anyone had alot of experience using LINK with iOS, how is the timing?
(I probably should just get an app that can use it, and test for myself... but I don't really use iOS for music)


#4

I use LINK a lot on iOS, either only on one device, or between devices (only tried up to 3). It works very well (quite incredible really) and doesn't seem to send that much information, mainly just BPM information and start position. I don't think it works like a midi clock sending information at all times.
I did dream about having it on an axoloti board, and started thinking about using a raspberry pi to do the job... But if you think there could be a easier way to do it, I'd be very happy.


Could OSC protocol be integrated in axoloti?
#5

I believe the ESP8266 can be programmed with custom firmware, no need to talk AT commands between Axoloti and the ESP8266. For configuration, it could probably timeout when it can't find a network and turn itself into a wifi accesspoint with a captive portal page to configure wifi settings. The easiest way to deal with Link is to turn it into a MIDI clock and song position pointer source, in ESP8266 firmware, independent of Axoloti. I guess someone will develop this, I'm not taking this challenge myself.
I think we can also expect commercial Link-to-MIDI clock products to arrive on the market.

I certainly agree wires are the king in live music. Everything may seem to be working fine during rehearsals, but then the audience enters, everyone using their smartphone, scanning for wifi networks, flooding the wireless spectrum...

I expect Link allows to remove timing jitter via timestamping, outlier detection, and averaging.

For Link-to-Axoloti-over-USB, easiest is to use the midi-over-usb port and some software that converts Link to Midi clock.


#6

I don't think converting to midi clock will give you any benefits of Link. (that you wont get from using midi clock instead)

I think the advantages stem from whole join/leave semantics and the ability for any to change tempo...
(theres also some interesting info on the way it uses beat/time/tempo as a triplet to synchronise, but Ive not really got a total understanding of that yet... but i suspect this might not map well onto midi clock... but a suspicion only at this time)


#7

I've got tons of experience with WiFi in live performance. Depending on stage area an ad hoc network can be quite sufficient - during live tests across 2013 I never had a fail go down due to audience interference an an MBP (new that year) ad hoc wifi connection. The Lenovo we were running did experience drop-outs.

Jitter is a problem with timing, but LINK seems to be jitter-free. I'm thinking LINK uses timestamps on the system clock, and playback starts up appropriately depending on message latency from the server to the client. It doesn't seem like SMPTE as much as it is sync-start with the ability to communicate tempo changes.


#8

Someone did this for raspberry pi now:

Still would be nice to have an esp8266 trinket to do the job (protocol seems rather simple indeed).


#9

Bump there.
I did succesfully compiled an unoficial port of LINK for nodejs on a raspberry pi that was itself creating a wifi AP without internet ( quite portable!) . Obviously node js is not the best maybe to run link , could be done with pd link~ objects . After that the conversion is quite up to us , in pd I did synced via link~ and emited 3.3v CV gates throught GPIO using WiringPi library in a blink . But again this could be done at a much lower level and with other conversions . Still new to the axoloti but this came into my mind already and gald that I found the thread about it .
Here is the port I told about https://github.com/2bbb/node-abletonlink


#10

Link running on the esp!!
https://www.esp32.com/viewtopic.php?f=13&t=13142


#11

Did you read this link? it mentions a non-existent repository and a pull request that has been closed.

This PR has been merged though: https://github.com/Ableton/link/pull/72
Although I would rather see one for ESP8266 as well. Have a bunch of those and it's not like this protocol needs so much resources.


#12

There is some funny drifting going on atm