Play audio files separately to left and right channels

Good day geniuses of OpenHAB. I would like some suggestions on which software to use to run a pair of audio players in my kids’ rooms.

Hardware setup:
-pi 3B+ running openhabian/mqtt/nodered
-pi zero available - with PHAT DAC from pimoroni
-onkyo amplifier with zone 2 configured so that “left” is in one of my daughter’s rooms and “right” is in my other daughter’s room.
-one speaker in each room

I’ve been trying to get this to work with Arduino (esp8266) and a pair of DF Player Minis - but the serial connection is unreliable and keeps flaking out on me.

I am using openhab rules to start the music and let it play for an hour at bedtime. I need these features:
-play a song (local file) to the left channel
-play a song (local file) on the right channel
-know when each song is over
The right and left channels need to operate independently of each other.

My linux-fu is failing me. I’m sure if nothing else there should be an exec command to play on one channel without blocking the other. I’ve also looked at music player deamon (mpd binding available!) but am completely confused as to how that program works.

Bonus points if it runs on my pi 3 alongside my other stuff, I’m all for limiting hardware used.

Alright I’ll leave this here while I go continue reading man pages of various audio players!

I haven’t had much time to fiddle today but I made a little progress.

It appears PulseAudio has the ability to split left/right channels into what alsa will see as separate audio hardware devices.

Anyone using PulseAudio? I will be back with updates after the holidays, if anyone has suggestions about a similar setup I’d appreciate it!

I’m interested to hear how you get on here.

I have a house multi zone setup using an Onkyo AVR with 7.2 output which feeds 3 rooms. I’d like to take the digital audio output from my HTPC straight into the amp, and use Pulseaudio to create 3 separate audio streams for the 3 rooms.

eg: Room 1 is the front speakers, Room 2 is the surround rear speakers, Room 3 is the front high speakers.

This should be doable with pulseaudio. I tried for a bit to figure it out but I couldn’t get over the learning curve with pulseaudio and never figured it out.

I ended up putting together a pair of arduinos connected to DFR0299’s (play mp3s off SD cards) and wired them to a GPIO of my pi. High output makes it play, low makes it pause.

If you figure out pulseaudio or find a good tutorial post it here, I’d like to see. Good luck.