For the voice teleop script, it’s likely a combination of both factors. ReSpeaker has a tutorial for isolating voice, and there’s other audio filtering techniques that would likely improve the quality of the audio.
For the low input volume problem, I’d start with easy changes, like tweaking volume settings in the OS Settings Center or within the recording app itself. Also, try other recording programs like Audacity. If the volume remains consistently low, I can suggest some other ideas for debugging the issue.