I usually find myself doing it for not so popular games, and rarely anything I truly have to get my hands dirty for.
There are three and an additional emulator approach for some systems.
1) Replace samples with silence.
If you are on a system that allows audio samples to be used as an instrument library/sound bank/sound font/... then chances are most of those are wave files or other known formats. Replace them with silence and even if the audio code is still running underneath it all the resulting sound will still be silence.
2) Internal volume commands.
Usually for later systems but can go further back. Anyway do check the audio formats in use here -- devs like volume levels as you can drop it for voice overs, fade it into background and on very rare occasion*. If you play at 0 volume then much the same as above.
3) You do it properly. Whatever calls the audio in game is what you aim to stop internally. Can be a more annoying hack but still almost within the realms of beginner assembly hack (you don't usually have as much quite so nice as text and easy to find things in the ROM but you can watch the audio hardware, see what trips what and work back to the original call, or maybe onwards for some more advanced 1) and 2) above.). I normally see this more for people doing complex undubs though where they don't backport the script -- if the nicely fully voice acted Japanese game completely loses the audio calls when it appears outside Japan because that costs money and frankly nobody likes American voice actors/whatever the dev team found in the local dramatic arts club that will work for exposure so leave it out of the code then you might have to do some more involved hacking to restore audio, functionally it is no great difference to disabling it though.
Some of the stuff above with de facto silencing if the game is to use audio and you fake it (I don't know all the NES mappers but if it is one that kicks audio to an external and you find the sister mapper that just has extra storage then hopefully your weird writes to the now ROM area go ignored by both hardware and emulator).
3a) If the game has a loop function and some silence (some might have volume commands internal to the audio format as well as in helper aspects) is available then 9000 loops of 10 second silence... barring the occasional challenge run (see the speed gain in Mario 64 a press challenges) or leaving the console on to go have dinner/do school because it is 1992 again you are probably good. Maybe also a better option in the case of shared samples you might not want to break.
Two main aspects, both far from ideal but very easy to try and if they work then potentially quite effective.
i) Music has a different chip to sound effects/sfx.
On the megadrive/genesis then there is a z80 processor covering a FM chip and PSG ( https://www.golectures.com/index.php?go=search&q=The%20Megadrive%20%28Genesis%29%20Sound%20Challenge%3A%20FM%20vs%20PSG
). Depending upon the game or track it may be one or the other, maybe both if you are unlucky for these purposes. If you are lucky then you might simply be able to trip the audio aspect you don't want and go from there. Most use this more to rip things but play is an option. Different systems may have different things.
ii) Audio channels.
(Marginally) More advanced emulators for systems that roll this way will tend to have a nice audio channels menu so you can see what channels are firing. Sometimes the game will pick whatever is free that moment but other times then there will be dedicated music channels (either hardware or software) and thus you can usually mute channels in the same thing.
Again most use this more to rip audio as it can be done with some selective mouse wizardry (disable here, enable for this drum hit, disable before enemy comes on screen... sort of thing) but sometimes selection like you describe is an option.
*of the hundreds of DS SDAT format games I looked at over the years maybe 10 were not all volume, all the time, and about 8 of those were simple half volume instead.