Next Meetup in Cologne on March 12, 2018 – Audio Analysis and CPU Caches

Dear Rustaceans,

our next Meetup will be on Monday 2018-03-12, 19:15 CET at the C4. Yes, a Monday!

We'll have two short talks for you, followed by the usual open discussion and mingling.

Agenda:

  • Rust Audio analysis - A lightning talk about a personal project for analyzing audio files

    Rust can be used in many ways. One area is for working with audio data.
    I always wanted a real-time tool to analyze the sound spectrum in front of my apartment door.
    In particular, I'm interested in the number of car honks throughout the day and its distribution.
    So I read an audio stream, split it into small chunks, and run a Fourier analysis on it.
    My assumption is, that you can see a higher amplitude in a certain band of frequencies when a car honk occurs.
    Let's see how it turns out.

  • Caches and You

    One of the great things about Rust is that it gives you a lot of control if you need it.
    Amongst other things it gives you control over memory. How big is your data structure really, and where should it be allocated.
    This talk will look at caching in modern CPUs in conjunction with Rust data types and data structures.
    We will see how efficient code can be written to best utilize the cache.

You can register here and you can find more information on rust.cologne.

We are looking forward to seeing you. :slight_smile:

Yours,
Pascal and Florian


The meetup will likely be held in German, we will however reevaluate this at the beginning of the evening and may switch to English if needed.

Nice topics! Makes me wish I lived closer to KΓΆln and were not so bad at German...

That first project sounds like it could use some back and forth between Audacity and the Rust analyzer. Audacity can be used to do the first exploratory audio recordings and it has a great spectrogram implementation, which can be used both at the design stage (figuring out what a "honk" looks like in Fourier space, and what the parameters of the short-term Fourier transform should be), and at the validation stage (checking audio files by hand to see if the Rust analyzer gets all the honks and nothing more).

(If someone's not comfortable speaking German, we switch to English. I think most of our meetups were in English, actually.)

Maybe @mre can say a bit about his talk here for those who can't make it? If he doesn't want to spoil it, you might need to wait a few weeks, though :slight_smile:

Yeah, the thing I do is pretty similar to what you describe.
Instead of Audacity, I take matplotlib + python for the exploratory part. To be honest, I haven't even thought about a formal verification step yet, but it's a good idea. What I try to do is play some files and log whenever the program thinks it detected a honk. Hooray for manual testing. :wink:

2 Likes