One of the easiest ways to keep small birds or rodents out of your garden, and especially off of you harvest, is to get a cat and not feed him during the spring, summer, and fall. It’s as simple as that. It may seem cruel to get a cat to not provide store-bought food, but cats are natural born hunters and they’re actually very good at taking care of themselves. In comparison to dogs, cats are not social animals. They’re very independent and do just fine on their own. We’ve had cats that would get fat every summer, just off of the rodents they can catch.
I never knew that people actually researched this kind of stuff until I went to college, but apparently an unfed cat is very strongly correlated with reduction in rodent/bird infestations in gardens. In other words, cats readily find their own food if you don’t feed them and their food source will likely be the birds or rodents in your garden. If you’d rather not use potent chemicals and you don’t mind having a pet then this may be a viable option for you.
If you want to preserve the song bird population in your garden, then you can still get a cat, put a bell around its neck so it chases off the birds but doesn’t kill them, and provide cat food for the cat to eat instead.