tricks:sacn_unicast
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tricks:sacn_unicast [2022/05/23 15:11] – icke_siegen | tricks:sacn_unicast [2022/05/25 06:02] (current) – [sACN to sACN, multicast to unicast] icke_siegen | ||
---|---|---|---|
Line 15: | Line 15: | ||
//(Please excuse this very simplistic explanation. I greatly encourage you to read more on this, and there are plenty of websites dedicated to introducing you to network computing. But for the purpose of this article this might suffice.)// | //(Please excuse this very simplistic explanation. I greatly encourage you to read more on this, and there are plenty of websites dedicated to introducing you to network computing. But for the purpose of this article this might suffice.)// | ||
- | Avolites Titan at the moment (Titan v15, 2022) sends sACN only as Multicast (automatically falling back to Broadcast if bo IGMP capable switch is present). While it has been requested to implement sACN unicast into Titan a solution is required to circumvent this for the time being. | + | Avolites Titan at the moment (Titan v15, 2022) sends sACN only as Multicast (automatically falling back to Broadcast if no IGMP capable switch is present). While it has been requested to implement sACN unicast into Titan a solution is required to circumvent this for the time being. |
+ | |||
+ | ---- | ||
===== MIDIMonster ===== | ===== MIDIMonster ===== | ||
... and along comes MIDIMonster. Available at https:// | ... and along comes MIDIMonster. Available at https:// | ||
+ | |||
+ | If you download MIDIMonster from the above link, start it, and get this message | ||
+ | |||
+ | '' | ||
+ | |||
+ | then you find [[https:// | ||
+ | |||
+ | In order to run it you simply doubleclick '' | ||
{{: | {{: | ||
Depending on the situation I successfully tested two scenarios: converting multicast sACN to unicast sACN (sending the data out on different universes) which requires a separate computer, and converting broadcast Art-Net to unicast sACN which may as well run directly on a console. I tried both scenarios with a bunch of computers, checking sACN with [[https:// | Depending on the situation I successfully tested two scenarios: converting multicast sACN to unicast sACN (sending the data out on different universes) which requires a separate computer, and converting broadcast Art-Net to unicast sACN which may as well run directly on a console. I tried both scenarios with a bunch of computers, checking sACN with [[https:// | ||
+ | |||
+ | ---- | ||
===== sACN to sACN, multicast to unicast ===== | ===== sACN to sACN, multicast to unicast ===== | ||
+ | |||
+ | Network structure: | ||
{{: | {{: | ||
Line 31: | Line 45: | ||
This was the original intention as everything was already prepared on sACN. All it needs is another computer hooked up to the same network, MIDIMonster, | This was the original intention as everything was already prepared on sACN. All it needs is another computer hooked up to the same network, MIDIMonster, | ||
- | <code monster.cfg> | + | < |
- | ; This configuration maps some sACN universes... | + | ; This configuration maps sACN Multicast universe 1 to sACN Unicast universe 11 |
+ | ; for the receiver (node) IP address 2.0.0.100. | ||
[backend sacn] | [backend sacn] | ||
Line 52: | Line 67: | ||
</ | </ | ||
- | All you need to do is adjust this to your needs (in and out universes, target network addresses, | + | An example file for mapping 4 universes {{ : |
+ | |||
+ | All you need to do is adjust this to your needs (in and out universes, target network addresses, | ||
Hints: | Hints: | ||
* midimonster takes very low processing power (at least in my tests with 4 universes converted) | * midimonster takes very low processing power (at least in my tests with 4 universes converted) | ||
- | * at least in my tests it was not possible to make this work with MIDIMonster directly on the console: it does run but doesn' | + | * at least in my tests it was not possible to make this scenario |
* make sure that all network addresses are correct, and that firewalls are off or have the required rules set. | * make sure that all network addresses are correct, and that firewalls are off or have the required rules set. | ||
+ | ---- | ||
+ | |||
+ | ===== Art-Net broadcast to sACN unicast ===== | ||
+ | |||
+ | Network structure: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The question arose if the additional computer could be spared and if MIDIMonster could be run on the same machine Titan runs on. As explained in the section above this does **not** work with sACN - the external nodes see that MIDIMonster sends something but the values are always 0. I suspect this is due to some fancy network routing problem: two programs attempting to send on the same port and on the same machine, AND one program trying to listen to the other. | ||
+ | |||
+ | The solution to this dilemma is using Art-Net: we route Titan' | ||
+ | |||
+ | MIDIMonster config: | ||
+ | |||
+ | <code ini monster.cfg> | ||
+ | ; This configuration maps Art-Net universe 0 to sACN universe 11, Unicast, to node 2.0.0.100 | ||
+ | ; In order to run on the same computer as Titan Art-Net needs to be sent as broadcast. | ||
+ | |||
+ | [backend sacn] | ||
+ | bind = 0.0.0.0 5568 | ||
+ | detect = verbose | ||
+ | |||
+ | [backend artnet] | ||
+ | bind = 0.0.0.0 | ||
+ | detect = verbose | ||
+ | |||
+ | [artnet in1] | ||
+ | net = 0 | ||
+ | universe = 0 | ||
+ | |||
+ | [sacn out1] | ||
+ | universe = 11 | ||
+ | priority = 100 | ||
+ | destination = 2.0.0.100 | ||
+ | unicast = 1 | ||
+ | |||
+ | [map] | ||
+ | in1.{1..512} > out1.{1..512} | ||
+ | </ | ||
+ | |||
+ | An example file for mapping 4 universes {{ : | ||
+ | |||
+ | All you need to do is adjust this to your needs (in and out universes, target network addresses, maybe more mappings etc.), save this as monster.cfg (or drop this on midimonster.exe, | ||
+ | |||
+ | Hints: | ||
+ | * midimonster takes very low processing power (at least in my tests with 4 universes converted) | ||
+ | * make sure that all network addresses are correct, and that firewalls are off or have the required rules set. | ||
+ | * running anything else on the same computer Titan runs on is greatly discouraged for the Titan PC Suite, let alone for Avolites Titan consoles. | ||
+ | * if you need this on your console frequently then you might consider [[tricks: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Trivia ===== | ||
+ | |||
+ | ==== Picture: my test drive ==== | ||
+ | |||
+ | Yes, I really did try this with some computers (and Wireshark and sACN View - and the network switch is in the middle...) | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Video: another test, on a D9 ==== | ||
+ | |||
+ | And yes, I also tried running this directly on a console (and made one of those shaky videos with my mobile phone): | ||
+ | |||
+ | {{youtube> | ||
+ | |||
+ | ==== Wireshark screenshots ==== | ||
+ | |||
+ | This is an example of how the sACN network traffic looks in wireshark: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Network addresses in this example (port 5568 is sACN): | ||
+ | |||
+ | 2.0.0.1 - Titan PC Suite | ||
+ | 2.0.0.10 - MIDIMonster | ||
+ | 2.0.0.50 - the ' | ||
+ | 2.0.0.100 - the ' | ||
+ | | ||
+ | 239.255.0.1, | ||
+ | Packets from 2.0.0.1 to 239.255.0.1/ | ||
+ | Packets from 2.0.0.10 to 2.0.0.100 or 2.0.0.50 are the unicast sACN from MIDIMonster to the ' | ||
+ | | ||
+ | This is an example of how the mixed Art-Nt/sACN network traffic looks like in wireshark: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Network addresses in this example (port 5568 is sACN, port 4809 is Art-Net): | ||
+ | |||
+ | 2.0.0.1 - Titan PC Suite and MIDIMonster | ||
+ | 2.0.0.10 - the ' | ||
+ | 2.0.0.50 - the ' | ||
+ | 2.0.0.100 - the ' | ||
+ | | ||
+ | Packets from 2.0.0.1 to 255.255.255.255 are the broadcast Art-Net sent from Titan. | ||
+ | Packets from 2.0.0.1 to (3.g.) 2.0.0.10 or 2.0.0.50 are the unicast sACN from MIDIMonster to the ' | ||
+ | |||
+ | Btw. 224.0.0.180 is another special auto-generated address which is used by CITP... | ||
+ | |||
+ | ==== Another idea: Raspberry Pi ==== | ||
- | **To be continued.** | + | And very finally: [[https:// |
tricks/sacn_unicast.1653318701.txt.gz · Last modified: 2022/05/23 15:11 (external edit)