Audio feature extraction with meyda.js

:wave: Hi everyone!

I’ve made a notebook to make it easy to use a real time audio feature extractor (meyda.js) in Observable: meyda-analyzer / Alex Ciminian / Observable

Here’s a simple demo showing a colouring of chroma bands: Hello, meyda.js! Audio feature extraction / Alex Ciminian / Observable

I’d appreciate some feedback on how I manage state in the notebook. To me, this seems to work well and it’s easy to embed in other notebooks - but I’m not experienced with Observable and I don’t know if there’s a more idiomatic way to do it.

Thank you! :smiley:

2 Likes

Here’s the number spiral from the d3.lineRadial documentation animated by sound: Audio Spiral / Alex Ciminian / Observable

Looks very cool and I played with it a little.

It’s fast and updates really well for the continuous cases.

There may be a use case for recording a set time length from the microphone (default 5 seconds) and saving the analysis as a time series. Then you can do graphs with time on the x-axis and other stuff (energy, chroma) in that time series.

I couldn’t quickly figure out how to do that.

I tried, but got an error:

I couldn’t figure out how to grab a snapshot of the view. What’s happening (I think!) is that every time the chroma is updated, it reruns the input rendering.