Rust Audio

Welcome & Introductions

It’s crazy to think that we’ve been working on this project for nearly two full years now.

Our chat just passed 100 members, and I’m happy to see so many new faces.

As our community grows, I’d like to use this thread to introduce ourselves. If you’re a new member, or someone who has been here since the start, this is a great place to share a little on why you’re here. Share as much or as little as you’re comfortable with - or just sit back and read if thats more of your style.

I’ll get us started to break the ice.


My handle online doomy, but my real name is Alexander (we have quite a few Alex’s in the chat, so doomy is much easier to keep track of :laughing:). I currently live in the DFW/Texas area in the US and I’m 22.

I actually come from a design background. I studied New Media Design at uni, and I’m currently a product designer at an e-learning company. In college, I picked up Rails and eventually moved on to Rust.

I’ve taken piano lessons when I was younger (that sounds fancy but I haven’t taken lessons for years, so much was forgotten…), and I’ve been producing music since I was around 10. I started out using the FL Studio Demo for a few years. It had the save feature disabled, so I was forced to create everything in one session then export to MP3. I finally bought it when I was older, and I recently picked up Bitwig (which I really love!). The latest thing I made was for the Github Game jam, though I have an archive of things I’ve uploaded to Tumblr over the years here too.

I got really interested in plugin development after playing around with Kontakt and Reaktor. I made my own instruments and published them, but I found that those tools were hard to use and very bloated. I ended up trying (and giving up) multiple times to create plugins with WDL-OL and JUCE, with some limited success.

I don’t remember how I found this whole audio ecosystem within Rust, but I’m happy I did. I am still a beginner when it comes to most audio development concepts, but I’m hopeful that some day I can create unique audio programs of my own!

I’m currently also helping out the Amethyst engine and I’m hoping we can bring the two communities together for audio-engine related stuff some time in the future.

5 Likes

Hey all! I’ve been here since Novermber 2017. Crazy to think it’s been so long!

I’m a software engineer in Pittsburgh who’s been interested in music and sound for a long time, but only recently decided I wanted to try to make music myself. So far I’m finding it extremely difficult to break into actually making music itself (due to both time constraints and ability constraints), so I don’t really have anything to show off. I procrastinate by programming sound-related stuff instead, like helping out with rust-vst. :slight_smile: I’m taking piano lessons now, so hopefully that will help out in the music theory department, at least.

I’m familiar with a bunch of different programming languages (currently it’s mostly C++ for work), but Rust is by far my favorite language right now. Second would probably be Python, but I’m finding that I’m starting to replace stuff I’d usually do in Python with Rust anyway.

As far as the rust audio ecosystem goes, I’m mostly not working on audio stuff at the moment; I’m helping to develop the “editor” (GUI) side of VSTs.

I use Linux pretty much exclusively, which is another motivator for me to help out with the rust-vst project: the Linux plugin scene is terrible. My goal is to make all the plugins I’ll ever need myself. :wink: Lots of learning ahead of me.

4 Likes

I’m a UX specialist/product designer with a background in software development (Java, C/C++). I fell in love with Rust and the community around 2 years ago, and since then have wanted to use it for audio/creative programming type stuff.

I’ve been using SuperCollider for over 10 years. Also do a fair bit of sound design with soft synths. I play piano reasonably, and have been taking composition lessons for a few years from a local PhD student. The little free time I have (three kids, yada, yada) tends to go towards music, not audio development. But I do want to get more into DSP/audio stuff to overcome my frustrations with the limitations of SuperCollider. Currently I’m focusing on strengthening my maths.

My dream is to make a “SuperCollider v 2.0” in Rust. SuperCollider is great, but has a number of limitations*. It’s good to have dreams…

Anyway, if anyone is also struggling through Julius O Smith’s DSP books and wants to discuss things, I’m open to it.

Cian

  • Limitations include: no oversampling, no single sample audio graphs, control signals aren’t sample accurate, UGens acn’t be hotloaded and have to be written in rather primitive C/C++. Plus the language itself is showing it’s age.
3 Likes

I’d be interested in starting a book club! I haven’t read any of his stuff yet though.

2 Likes

Howdy y’all. My name is Nick, and I’m a Dev currently residing in Arkansas. I got a BA in music, with an emphasis on digital music and composition. I took a looong time to graduate because of a few reasons, but one of them was that I was having so much fun making music in the school’s studio that I kept dropping courses :joy:. Here’s a few tunes:

  • Mad Ship for a friends video game final project.

  • Nice Guy I did the sound-design and music for this piece (it was after I graduated, probably my most elaborate piece). Warning, the video’s content is a little disturbing (its just text though, no disturbing imagery).

Both of these pieces are composed using Just intonation (except for the piano in Nice Guy). At the end of school I became very fascinated by pure harmonies that follow the overtone series, and spent a lol of time tuning synths via automation in Reason trying to get MIDI pitch bend to do what I wanted. It worked, but was very painful. This lead me to learn Max/MSP and PureData to make some [experiments](soundcloud . com/nickgideo/crystal-growth) using ratio-based tuning and rhythms.

Its been a really long time since I’ve made music. The last 5-6 years I’ve been completely dedicated to becoming a software developer, so I’ve spent all my time obsessing over learning that stuff. I think part of our industry really encourages everyone to have their own personal software project that they can show off on github or turn into a product, so for the longest time I’ve been trying to figure out what mine would be. Last summer I realized that it should be a music app that makes it easier to write ratio-based music. Eventually that lead me to JUCE, C++, hating C++, finding the Rust community, and now I’m here.

I hope to help the Rust Audio scene mature a bit, but I feel like I need to keep one foot in the C++ community too, since all of their tools are battle tested and very feature complete. I may end up making a hybrid product, but who knows?

2 Likes

Hello everyone!

I am Janonard, an informatics (aka “computer sciences”) student, programmer and Bass player.

My programming “career” began with Java when I was about 12: I heard that you could control computers, those marvelous machines of wonder, using programming and thought that this might be interesting. I borrowed a programming book in the local library and began coding. And never stopped! :smile: Soon, I also discovered Linux and C++ and got into “deep” programming. Then, I heard about Rust, tried it and stuck with it!

Meanwhile, I was starting to get into music too: My instrument of choice is the electric bass, 'cause I like it when the ground vibrates! About two years ago, those two hobbies started to meet and I got into audio processing. My current project is an adaptation of LV2 for Rust called lv2rs.

That’s a rough overview about me, let’s have some discourse!

6 Likes

Great to have you here @Janonard!

We currently have a #ecosystem:vst category for our vst crate. Would you be opposed if I made an #ecosystem:lv2rs crate as well? You could host conversations about its development and questions here (unless you would prefer to go with another route).

In either case, we are talking about creating a more high-level library for plugin development and it would be super cool to have lv2 support.`

1 Like

Hello everyone !

I’m Karolis, while not studying or working I like to play with sounds :slight_smile:
I’ve been playing around with real-time audio synthesis using Python, but quite soon realized that it’s not the right tool for the job. Rust seems like correct tool for the job. I’m quite novice in both DSP and Rust, but so far enjoy it a lot !

I’m glad I found this community, hopefully I will be able to contribute :slight_smile:

3 Likes

Hello there!

I just found about this little community from @Janonard’s post on /r/rust presenting his WIP LV2 framework!

I decided to join in the discussions because I was also working on a prototype for an LV2 framework (sorry in advance, it’s completely undocumented!), and I believe we can join forces and share designs and ideas in here! :slight_smile:
I won’t say much about it since it would be off-topic here, but I would gladly talk about it at length in a dedicated topic!

As for my development background, I originally started with a C/C++ background (I loved learning all about them low-level details!), then built a variety of both OSS and proprietary projects using BASIC, PHP, Java, C#, Javascript, and probably some others I forgot.
Right now I am professionally working with Ruby, TypeScript and Elixir, and now I’m looking forward to adding Rust to that rather wild list! :wink:

Development-wise, what interests me the most is software and general API design and architecture, and with that Rust is a natural appeal thanks to its very rich type system, both allowing to create neat and clear-looking APIs, and express and enforce things other languages can only tell in documentation and run-time assertions.

It’s only been a bit since I seriously dabbled in music and audio though, in fact my first (working and somewhat complete) Rust program is a small real-time spectrum/FFT visualizer, which listens on a PulseAudio monitor stream to generate its visualization, which I made only because it’s fun to look at!

Coding aside, I am also trying out music production a bit, and being a Linux user for many years this naturally led me to use LV2-using tools (which despite being platform-agnostic, seems to be only popular in Linux-lands), mainly Ardour (DAW), Zyn-Fusion (Synthesizer), and the Calf suite (various utility plugins). With all that I believe I have a pretty decent grasp of the Linux audio ecosystem, their main issues and what Rust could do to fix some of them! :slight_smile:

Anyways, I think that’s enough of an introduction for now. ^^ I’m looking forward to discuss all those subjects at length, and also to share design ideas to make a great audio libraries for Rust!

3 Likes

Welcome!

Oh hey, I did something like that too a while back :slight_smile: I’m getting close to the point where I can put it into a VST, maybe that’ll be my first project with a GUI.

2 Likes

Oh, that’s neat! Mine isn’t really meant to be included in a plugin though, I made it only for the eye-candy. :stuck_out_tongue:

Also, as @doomy suggested, I would love to have an #ecosystem:lv2 category to further discuss how we could develop an LV2 crate!

2 Likes

A big Hello @Prokopyl from my side too!

1 Like

Please, go ahead! However, I don’t think that I’ll have the time to do moderation work!

Went ahead and made #ecosystem:lv2-rs (kept it the crate name). Don’t worry about moderation, this edition of discourse won’t let me name more mods :laughing:

Hi, my name is Christian, and I am an audio programming amateur and enthusiast.
I’ve been playing with audio programming since long ago, when I programmed kind of a tracker in GW-BASIC using the PC speaker. Along the time I’ve also played with all kind of software for music composition (Fast Tracker, Cubase, Cakewalk, Ableton Live, …), although I’m far from being a musician (even when I also took some piano lessons :-P).
I started to work on a synthesiser as an excuse to learn Rust for the first time several years ago, but never finished (although I plan to revive it at some point). I am the maintainer of the coremidi crate which is being used by the midir one, and recently started to work on a DAW engine with the aim of getting more familiarised with all the hard core details of audio programming (lock-free, no-allocations, synchronisation, …).
Right now, with Rust, I am in the phase where I don’t need to fight against the compiler and the borrow checker all the time, so I can focus a bit more on the business logic rather than the language. But I barely have free time to advance in my projects as much as I’d like.
Happy to join this community, and learn from all of you :wink:

4 Likes

Glad to have you - your work on the hero-* stuff looks really cool!

Hi, I’m Ken. Been hanging out on the Telegram chat since I tweeted at Raph Levien “Hey, what do I do about learning Rust for music?” and he sent a link over. I’m just on the tail end of a Data Science bootcamp in Python, at the beginning of a career change toward programming. I live in Toronto, so if anyone sees this and wants to meet up for a coffee, shoot me a message or a Tweet.

Musically I’ve been playing instruments since I was ~9 and have played a bunch (current strongest first): piano/synth, guitar, voice, trumpet, tenor sax, flute. Got into electronic music with FL Studio when I was about 12-13? Used Ableton and Renoise through my teens, Maschine/Logic in my early 20s. Now 27 and running Linux only, and I’d like to keep it that way if it doesn’t become too unreasonable. The Linux is probably the reason I’m here.

I’ve scored some films for people, directed some short films, edited a bunch of video, recorded location sound for film/video. Also very interested in VR, and would love to see some sort of crosspollination with VR and professional music creation/publishing.

3 Likes

Hi, I’m Nik!

I’ve been doing audio software for a while now in C++. Now I’m discovering Rust. The straightforward support for WASM seems interesting, amongst other features.

I recently made my first little apprentice piece that runs in the browser: https://github.com/the-drunk-coder/wasm-loop-player

When I’m not programming DSP stuff, I’m working on my own domain-specific language for live-coding music.

3 Likes

Awesome stuff! Glad to have you here