Took me a few hours, but I managed to get audio from my monitor connected via HDMI (to nvidia geforce card).
Firstly, installed proprietary nvidia drivers (and fixed the settings, by default the config was a bit messed up – couldn’t move programs between screens but could move mouse etc). You may need to restart several times to get your display working properly again.
Secondly, find out what ALSA device number your monitor is and add the following line to /etc/pulse/default.pa
load-module module-alsa-sink device=hw:1,9
(My device number was hw:1,9; I just tried one and it worked, not sure how to actually find this out)
Thirdly, restart, then make sure Sound Preferences is showing the HDMI for Hardware (output device), and test to see which Profile it wants; in my case, “Digital Stereo (HDMI) nr 4 Output” worked. Then check that Output is using this device.
It should be working after this. I had to restart numerous times as no sound input was detected for a while, and Output refused to stick with my chosen device etc.
One thing that was very useful for checking hardware was functioning correctly: ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html