I needed a mic for screen-recorded tutorials and Discord. Every guide told me something different. Here's the decision process I ended up with, and the small tool I built from it.
I record screen tutorials, and a while back I wanted to start hosting on Discord. Both meant I needed a decent microphone. What I had was a laptop mic that made me sound like I was calling in from inside a wardrobe.
I assumed this would take an evening. It took a few weeks.
Every guide gave me a different answer
I searched the obvious things: "best microphone for tutorials," "best mic for Discord." The results were lists ranked by price or popularity, and they contradicted each other.
One article said buy a large condenser. The next said condensers are a trap for home setups. A forum thread said just get a USB mic, and the top reply said anyone serious uses XLR.
None of them asked me anything. Not where I record, not whether my room is quiet, not what I'd be doing with the audio. [One line about your real room, e.g. "I record in a small spare room with a mechanical keyboard on the desk."]
That last detail turned out to matter more than anything else.
What I eventually worked out
After reading far too much, I realised the guides were all answering different questions. Once I separated them, the confusion went away.
1. Condenser vs dynamic is mostly a question about your room.
A condenser is sensitive. In a quiet, treated space that's great, because you get detail. In an ordinary room it also records the fan, the traffic outside and your keyboard. A dynamic mic is less sensitive and rejects distant sound, so it forgives a bad room. For an untreated room, a dynamic cardioid is usually the safer starting point.
2. USB vs XLR is about convenience vs upgrade path.
A USB mic has the preamp and converter built in, so you plug it in and you're recording. XLR gives you a more modular setup, but you also need an audio interface, and condensers need 48V phantom power. If you're only ever recording one voice on one computer, USB is usually enough.
3. Where the audio ends up matters.
Discord compresses voice and can apply noise suppression, so a super-detailed studio mic gets you less there than it would in a podcast. Close, clean and consistent beats expensive.
4. Placement beats price.
A mic about a fist's width from your mouth, on a boom arm, with a pop filter, made a bigger difference to my recordings than any gear change I tried.
5. Some dynamic mics need a lot of gain.
Popular broadcast dynamics are low output. Pair one with a weak preamp and you turn the gain up until you hear hiss. It's a common trap, and almost no beginner guide mentions it.
The moment I realised it was a decision tree
Once I'd worked this out, I noticed I'd done the same thing every time: pick the purpose, think about the room, set a budget, decide on a connection, then throw out whatever didn't fit.
That's just a filter. And I'd done it by hand across about a dozen tabs.
It also made me realise the problem wasn't mine alone. A streamer, a podcaster, a guitarist and someone recording lavalier audio on a phone are all asking "what mic should I buy?" and they need completely different answers. The advice online treats them all as the same person.
So I built the tool I'd wanted: you tell it what you're recording, where, and your budget, and it narrows the options and explains why.
How it works
It isn't machine learning. It's a rules-based filter, and the one design decision that mattered was separating two kinds of input:
- Hard constraints remove options entirely, like a budget cap or a connection type you can't use.
- Soft preferences rank whatever survives, like how well a mic suits the purpose or how noisy the room is.
// Simplified version of the idea function scoreMic(mic, input) { // Hard constraints: fail one and the mic is out if (mic.price > input.maxBudget) return -Infinity; if (input.connection && mic.connection !== input.connection) return -Infinity; // Soft preferences: these only rank what's left let score = 0; score += mic.purposes.filter(p => input.purposes.includes(p)).length * 3; if (input.environments.includes("noisy") && mic.type === "condenser") score -= 4; return score; } I got this wrong at first. My early version treated "noisy room" as a hard rule, so people in loud rooms got almost no results. Moving it to a soft penalty fixed that, and it's the kind of bug that's easy to miss when you only test with your own inputs.
Other choices I'd stand by:
- Multi-select inputs. Most people do more than one thing. A streamer might also record guitar, so forcing a single purpose gives bad results.
- Explain the result. A list of mic names isn't enough. The tool says why a type fits, plus the polar pattern and accessories that go with it.
- No sign-up. It has no reason to store anything about you, so it doesn't.
It's a normal web page, so it works anywhere. It also installs as a PWA, and I put it on Google Play too, since people often shop for gear on their phones. [One or two sentences on how you built the Android version, e.g. wrapped the PWA, rebuilt natively, etc.]
If you want the short version
For a typical home setup recording a voice:
| Your situation | Start with |
|---|---|
| Untreated or noisy room, one voice | Dynamic cardioid |
| Quiet or treated room, detailed vocals | Large-diaphragm condenser + interface |
| Plug in and go, computer only | USB cardioid |
| Moving around, on camera | Wireless lav (2.4GHz or UHF, not generic Bluetooth) |
| Loud sources like guitar cabs or snare | Dynamic |
If you'd rather answer a few questions than read a table, the Microphone Finder does the same thing with your own inputs. It's free and needs no account.
What I'd tell myself at the start
- Work out your room before you look at a single mic.
- Start with a dynamic cardioid unless your room is genuinely quiet.
- Don't buy an audio interface until you know you need XLR.
- Budget for the boom arm and pop filter at the same time as the mic.
- Check how much gain a mic needs before you pair it with a cheap preamp.
If you've built a recommendation or filtering tool, I'd like to hear how you handled the hard vs soft constraint split.
And if you've got a mic setup that works for tutorials or Discord, tell me what you landed on.


