Forums › Forums › Other A&H products › AHM TCP/IP Protocol
Tagged: SndN SndCH AHM16
- This topic has 14 replies, 4 voices, and was last updated 1 year, 3 months ago by Nicola A&H.
-
AuthorPosts
-
2021/05/19 at 2:18 pm #101398Anthony EAIParticipant
Hello,
I would like to know if somebody already implemented the AHM TCP/IP Protocol in custom software.
I found the documentation about the protocol “AHM TCP Protocol V1” but no sample code in any programming language.
Thank you
2021/05/19 at 3:01 pm #101399SteffenRParticipantI found the documentation about the protocol “AHM TCP Protocol V1” but no sample code in any programming language.
What are you talking about? It’s just plain MIDI over TCP…
2021/05/20 at 7:52 am #101407Nicola A&HKeymasterAnthony, what Steffen means is that the TCP protocol gives you a set of commands in the form of hex strings, that can be sent to the AHM-64 TCP port to control or get parameters. This can be used in several ways:
– You can use a packet sender application or write your own. You can probably find open source projects on GitHub or similar.
– You can implement these strings in a Crestron / AMX / Q-Sys / Extron control system or similar. For Crestron and AMX we offer sample modules on our website which can be used as a starting point.
– You can use the A&H MIDI Control driver to interface the TCP protocol with MIDI-enabled software such as Qlab or a DAW.If you are looking for a simple way of controlling AHM-64 from a custom user interface, make sure you check out the Custom Control app as well: https://www.allen-heath.com/custom-control/
2021/05/20 at 8:45 am #101409Anthony EAIParticipantThank you for this clarification
2021/05/25 at 3:45 pm #101532Anthony EAIParticipantNicola,
I manage to send commands with PacketSender but I’m now stuck with assignments.
Is there a way to assign input to zone with the AHM TCP/IP Protocol on port 51325 ?
2021/05/25 at 4:31 pm #101534SteffenRParticipantAs far as I remember it is not intended to do such things remotely…
you should do your assignments with System manager instead…or source selectors can help… but again you have to configure them in System Manager
2021/05/26 at 7:22 am #101536Nicola A&HKeymasterHi Anthony,
No, input to zone assignments are not covered by the protocol. However, input to zone (crosspoint) levels and mutes are. To the end user, there is little difference between an assignment and a crosspoint mute, so the workaround is to assign all required sources to the zone, and use crosspoint mutes to control which sources are active.
2023/08/21 at 12:26 pm #114280OliverParticipantHi
Okay, this is an old post, but the only thing I found. So, I hope someone can help….I’m using a AHM16 and try to mute the cross points (input to zone).
Leveling the Zones and Inputs are no problem. So the network and the source code is working. But I don’t understand, what I have to send to mute a cross pointInput to Zone, and Zone to Zone Send Mutes
SysEx message
Where SndN and SndCH are the MIDI channel and note number for the channel to be sent to.
Mute On Message:
SysEx Header, 0N, 03, CH, SndN, SndCH, 7F, F7
Mute Off Message:
SysEx Header, 0N, 03, CH, SndN, SndCH, 3F, F7Like I understand, I should send the following HEX-Numbers
F0, 00, 00, 1A, 50, 12, 01, 00 (for the SysEx Message)
00, 03, 00, ??, ??, 3F, F7 (This is for channel 1)
The problem is SndN and SndCH. I can’t find any documentaion and don’t know what to send.Please help!
2023/08/21 at 12:37 pm #114281SteffenRParticipanthttps://www.allen-heath.com/media/AH-MIDI-Control-V2.01-Help_Iss2.pdf
It took 1 min to find it.
2023/08/21 at 1:34 pm #114282OliverParticipantOkay, let me thank you for the help. But I don’t get it….
What you send seems more like a manual to configure a software like Cubase, but (maybe I’m wrong) not a manual for the protocol.So, I’m sorry, but I need further help…
I don’t use a software. I’m trying to control the AHM from a Linux script. I also can’t found any MIDI configuration in the AHM.
So, I’m very sorry, but I didn’t get it!
BTW: Things like “It took 1 min to find it.” are not very helpful. Maybe you are more familiar with MIDI and/or Allen&Heath, and maybe it took less than 1 minute for you to found a solution. But not for me 😉
2023/08/21 at 2:15 pm #114283Nicola A&HKeymasterHi @Oliver
If you’re trying to mute a channel, please use the Channel Mute on / off messages from the protocol document, not the crosspoint mutes.
The crosspoint mutes act on a specific send of an Input to a Zone (a ‘crosspoint’). Hence when using the command, you need to specify which Input, but also which Zone. For the SndN and SndCH parameters you can still reference the table in the protocol doc.
So for example, to mute Input 1 crosspoint to Zone 1, you would use (after the SysEx header):
00, 03, 00, 01, 00, 7F, F7If you need more assistance interpreting the protocol document or have specific questions, feel free to reach out to our Support team at support.allen-heath.com
2023/08/21 at 3:56 pm #114286SteffenRParticipantfor reference:
2023/08/22 at 8:33 am #114292OliverParticipantGood Morning 🙂
First, I have to thank you both again for your help! You both are very kindly!https://www.allen-heath.com/media/AHM-TCP-Protocol-V1.4.pdf
I know this documentation, and it’s helpful to level the inputs and zone outputs. Like I said, the leveling works pretty fine!And in this file also is shown how to mute an input/zone cross point.
@NicolaA&H
It’s not I’m trying to mute a complete input. I have to mute an input in a zone. So, I’m thinking, muting the cross point is the right (and only) way.
Thanks for your example, but sadly it doesn’t work.
If I, and I do so, believe in your command “00, 00, 00, 01, 00, 7F, F7” the issue has to be in the SysEx header. The SysEx header is more or less constant. There are only 2 variables that could have only one value:This applies to all SysEx messages described later in this specification.
F0, 00, 00, 1A, 50, 12, MV, mV
AHM TCP/IP Protocol V1.4 2 Issue 2
Where MV = 01 (Major version)
mV = 00 (Minor version)So, the SysEx is always and for every machine “F0, 00, 00, 1A, 50, 12, 01, 00”. Is this correct? Or can the values be different?
If this is correct, what is going wrong with the command?
The communication is not SSL protected. And the whole command string (including SysEx header) I’m using is “F0, 00, 00, 1A, 50, 12, 01, 00, 00, 00, 00, 01, 00, 7F, F7”
Is there a break needed between the header and the command? Who long should it be? Or any termination at the end, like LF or CR or both of them?Maybe the configuration of the machine is the issue? The input 1 is mono, but the zone 1 is stereo (zone 1 and zone 2 are bound together). Maybe this needs different command?
Happy to hear from you!
Thanks!2023/08/22 at 9:16 am #114293OliverParticipant@NicolaA&H
I’m sorry, but I have to say, that your command isn’t right…..
It’s not 00, 00, 00, 01, 00, 7F, F7
it is 00, 03, 00, 01, 00, 7F, F7to mute chanel 1 in Zone 1
00, 03, 00, 01, 01, 7F, F7 -> for chanel 2 in zone 2
00, 03, 00, 01, 02, 7F, F7 -> for chanel 3 in zone 2
and so on…..2023/08/22 at 12:17 pm #114298Nicola A&HKeymasterApologies Oliver, you are right there was a typo in my post.
-
AuthorPosts
- You must be logged in to reply to this topic.