for a project where I needed ~8m for Serial communication and did not want to use RS485 I had trouble with a Cat 6 ethernet cable (probably due to the capacitance) and I switched for a quality cable (https://www.amazon.fr/gp/product/B0C14KCSW5) and the issue went away.
remember you need both the Signal and the GND, so not just one wire
Are all the Arduinos 5V in your rig? For long runs, just try your best to keep the wires away from everything else, like if you have a drop panel ceiling it's easy to run through there from one side of a room to another.
I use 18/2 CL2 rated (inwall) pure copper speaker wire for long runs, soldered to the pins. Then I just poll the pins on the receiving Arduino with boolean rxTriggerState = digitalRead(rxTriggerPin); to look for a digitalWrite(txTriggerPin, HIGH); sent from the other Arduino. Split the distance between Arduinos and their respective devices if you need to.
Say you have [input1]--[Ard1]--------------------------------[Ard2]--[output1]
Why not do: [input1]------------[Ard1]--------------[Ard2]-----------[output2]
I find the key is to have the receiving Arduinos only do one thing. Just wait for one simple signal, trigger one simple device. Arduinos involving audio of any kind are also always standalone in my applications, same deal. Poll a signal pin if you can get away with just cycling audio tracks in a playlist. Of course if you need specific triggers to play specific tracks, then Serial connection to Serial (at least that's how I do it) and sending and receiving chars. I have never done that at a 30 foot distance though.