I'll try to find time to write about it, but in the meantime if you just want to try something that works, Xenova published some tools and examples about two months ago which I'm sure will give you a good start.
Speaker diarization is quite difficult as you know, especially in loud or crowded environments, and the model is only part of the story. A lot of tooling needs to be built out for things like natural interruption, speaker memory, context-switching, etc. in order to create a believable experience.
https://github.com/xenova/whisper-web/tree/experimental-webg...
https://huggingface.co/spaces/Xenova/whisper-speaker-diariza...
https://huggingface.co/onnx-community/pyannote-segmentation-...
Speaker diarization is quite difficult as you know, especially in loud or crowded environments, and the model is only part of the story. A lot of tooling needs to be built out for things like natural interruption, speaker memory, context-switching, etc. in order to create a believable experience.