I’ve done stuff like that for a client of mine, Grasshopper is definitely the way to go here. You’re probably gonna need some control over the diameters of those holes for visual iteration, sound testing and manufacturing requirements.
As an alternative, you might be able to use image to dot pattern converters like on this website http://jasondorie.com/page_cnc.html. I didn’t test this one but it says it converts to dxf which you can import into Rhino. I’m pretty sure though that this might get cumbersome if you want to test different design and often need to go back and forward between creating a gradient image, converting it and importing it to Rhino.
Edit: I just realized those converters will probably be limited to a 45 degree pattern so not really like your example following the curve of those objects. Tldr: Grasshopper.