Search a title or topic

Over 20 million podcasts, powered by 

Player FM logo
Artwork

Content provided by Kris Jenkins. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kris Jenkins or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Faust: A Programming Language For Sound (with Romain Michon)

1:18:01
 
Share
 

Manage episode 441769447 series 3476072
Content provided by Kris Jenkins. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kris Jenkins or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.

I’m always interested in what factors shape the design of a programming language. This week we’re taking a look at a language that’s wholly shaped by its need to support a very specific kind of program - audio processing. Anything from creating a simple echo sound effect, to building an entire digital instrument based on a 17th-century harpsichord.

The language in question is Faust, and this week we’re joined by Romain Michon, who works on and teaches Faust, as we look at how it’s designed, what kind of programmers it's for, and how it does the job of turning audio-pipeline definitions into executable code.

And one of the surprising parts of that compilation strategy is the decision to have it compile to multiple targets, from the expected ones like C and Rust, to the exotic destination of FPGAs (Field Programmable Gate Arrays). FPGAs are like reprogrammable circuit boards, and Romain dives into Faust’s attempts to go from a high-level description of an audio program, all the way down to instructions that tell a chip exactly how it should wire itself.

So rather aptly for a technology podcast, we start this week with what your ear can hear and go all the way down to logic gates and circuit boards…

Try Faust in the Browser: https://faustide.grame.fr/

Faust Online Course: https://www.kadenze.com/courses/real-time-audio-signal-processing-in-faust/info

FPGAs: https://en.wikipedia.org/wiki/Field-programmable_gate_array

VHDL: https://en.wikipedia.org/wiki/VHDL

Verilog: https://en.wikipedia.org/wiki/Verilog

Grame: https://www.grame.fr/

The (Strawberry Jam) Gramophone: https://www.grame.fr/articles/gramophone

Gramophone Workshops: https://www.grame.fr/evenements/atelier-gramophones-65ca16b19fec4

Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@developervoices/join

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

  continue reading

87 episodes

Artwork
iconShare
 
Manage episode 441769447 series 3476072
Content provided by Kris Jenkins. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kris Jenkins or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.

I’m always interested in what factors shape the design of a programming language. This week we’re taking a look at a language that’s wholly shaped by its need to support a very specific kind of program - audio processing. Anything from creating a simple echo sound effect, to building an entire digital instrument based on a 17th-century harpsichord.

The language in question is Faust, and this week we’re joined by Romain Michon, who works on and teaches Faust, as we look at how it’s designed, what kind of programmers it's for, and how it does the job of turning audio-pipeline definitions into executable code.

And one of the surprising parts of that compilation strategy is the decision to have it compile to multiple targets, from the expected ones like C and Rust, to the exotic destination of FPGAs (Field Programmable Gate Arrays). FPGAs are like reprogrammable circuit boards, and Romain dives into Faust’s attempts to go from a high-level description of an audio program, all the way down to instructions that tell a chip exactly how it should wire itself.

So rather aptly for a technology podcast, we start this week with what your ear can hear and go all the way down to logic gates and circuit boards…

Try Faust in the Browser: https://faustide.grame.fr/

Faust Online Course: https://www.kadenze.com/courses/real-time-audio-signal-processing-in-faust/info

FPGAs: https://en.wikipedia.org/wiki/Field-programmable_gate_array

VHDL: https://en.wikipedia.org/wiki/VHDL

Verilog: https://en.wikipedia.org/wiki/Verilog

Grame: https://www.grame.fr/

The (Strawberry Jam) Gramophone: https://www.grame.fr/articles/gramophone

Gramophone Workshops: https://www.grame.fr/evenements/atelier-gramophones-65ca16b19fec4

Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@developervoices/join

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

  continue reading

87 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Listen to this show while you explore
Play