I think you can do this with those solutions you already linked, but with a little more configuration in the task scheduler. It isn't a perfect solution, but you might not get a perfect solution without writing your own script. If you wanted to try that, you might have luck with VBscript or AutoHotKey.
With NirCmd application, this seems like the right utility to do the system mute, without needing to learn anything else.
The solution below will allow you to keep working on the PC, without it being muted, beyond your preconfigured start time. Once the computer goes idle, it will mute. Then you just need one more task to unmute in the morning.
For example, you want the computer to mute after 5 minutes of inactivity, but only between the hours of 8 PM and 7 AM.
When you setup your Mute task in Task Scheduler:
- Begin task: On a Schedule
- Setting: Daily
- Start: Today at 8 PM
- Recur: 1 day
- Repeat task: 5 minutes
- For duration of: 11 hours (you can type anything into these fields)
- Stop all running tasks at end of repetition duration: Checked
- Start the task only if computer is idle for: 5 minutes
- Wait for idle: Do not wait
- Stop if the computer ceases idle: Checked
- Restart if the idle state resumes: Checked
If you start working on your PC at anytime between 8 PM and 7 AM, and unmute it, once you go idle again, it will automatically mute after 5 minutes.
Then you just need a task at 7 AM that says to unmute the PC. This task doesn't need any special configuration except for the start trigger.
This is untested, so I might test this on my own, and if I see any issues or anything else to add, I'll come back and update this answer. I think this should work as described though.