Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Read this book https://ccrma.stanford.edu/~jos/pasp/. It's a hefty tome but kind of the bible of the various approaches to audio signal processing and synthesis.

There's no one method to rule them all, they all have tradeoffs. So there is no "ray tracing" of audio (well actually, it's ray tracing, but for a lot of reasons it's prohibitive to actually do that in a way that sounds good).

> What is this field called?

Audio synthesis. Popular journals with papers covering the topic are DAFX (digital audio effects) and jAES (journal of the audio engineering society). To a lesser extent, the IEEE transactions on audio signal processing.

> I am assuming it has something to do with the physics field of acoustics?

You can find plenty of sources in acoustics journals/text books - but this is like comparing the needs of mechanical and electrical engineers to game engine designers. At a surface level there is crossover, and cross pollination of techniques/tools, but the needs are fundamentally different.



PASP is awesome but it just scratches the surface. You will need to dive into papers to make any headway - there is a ton of research but there is no "toolkit" for doing it because it's comparatively a niche thing to do. You will probably also want to reference the author's other books on digital filters and computer audio. There is also no consensus on the "best" techniques, so you read papers until you find a technique you can adapt to the modeling framework you've built, implement, repeat.

Physical modeling can be done on a modern computer in realtime (for example, my VST instrument models a 6-string guitar, with a litany of modeling features, at about 3-4x realtime at 96kHz, and I have plans to expand that to a whole piano at roughly the same computational cost). But you will have to be quite good at DSP engineering to be able to meet the realtime requirements - this is similarly high-performance as graphics programming or any other kind of modeling code. You can also build toy models in Python or MATLAB and run them offline, but this is not nearly as much fun.


There is STK Toolkit by Julius O. Smith - which has a stunning violin model. But because I havent learnt C++ i dont know how stunted it is - as the IP is owned by Yamaha - but the code is still available, i dont know how that works.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: