Pinned toot

I finally made the repository to my Rust software synth public. It's not finished yet, but if anyone wants to have a look already, I'd appreciate any feedback (regarding sound, usability, documentation, whatever).

Also, this is your chance to go down in history: If you come up with any nice sounds, I'll be happy to include them in the default sound set, which currently still is mostly empty.

Ok, here's a fun math problem: If I'm in a team with two other developers, and both of them quit, effective tomorrow, how does my work load change if it's already at 120%?


Tokyo Jihen just released a few live videos from a show they recorded last year. It's a bit sad to see them perform in an empty hall, but at least it didn't stop them from going wild with the outfits again.

And you just gotta love Ringo-san's gesture of flicking her guitar pick into the empty auditorium at the end of the song.

Did some playing around with the REPL in a notebook, and it's as awesome as I had hoped. Great tool for documentation and debugging.

Here's a visualization of a bandlimited saw wave, with the unlimited version in the front, which gradually transforms into a pure sine wave at the back by reducing the number of harmonics.

Currently trying to steal some licks from Mike Stern to increase my vocabulary. His solo on "Outta Town" is like a textbook example of improvisation techniques, learning a lot from it.

It's also a lot of fun to play. Here's me playing along to the first three choruses (Slowed down a little bit, though. Not quite my tempo...)

Sadly I now joined the ranks of people with problems: I see a reply that I sent (from a different machine) in the Sent folder, but the mail I'm replying to is nowhere to be found. Considering that I mainly use the Mail app to read received mail, this is a little discomforting.

And yes, restarting Mail or the Mac might fix that temporarily, but I can only do that if I already know that something is missing. Time for , maybe.

I found time to do some UI polishing on Yazz, and merging some feature branches. Now I just need to tie up a few loose ends on the wavetable import, and the first major release is getting within reach.

I had a nice animated GIF of the UI, but Mastodon doesn't like it, so have some static pic instead.

The plum trees are blossoming in Tokyo, and nature treated us to sunshine and 16 degrees, perfect for some flower watching in the park.

We also came across a cafe with integrated recording studio. Now that's a business idea that I like.

Oh nice, a REPL with integration.

So far I had to port Rust code to Python to play around with it in a notebook, but now I should be able to use it directly. That should make visualizing audio experiments much easier.

"While its primary purpose is to serve as The One True Debugger, printf also happens to be Turing complete. [...]

We abuse this fact to implement the logic of tic-tac-toe entirely within this one printf call."

Fascinating stuff.

Show thread

OMG. Over 20 years of C programming, and I had no idea that printf can change a variable's value. Wow.

%n takes a pointer and writes (!!) the number of bytes printed so far.


For example, the following expression

printf("%1$.*2$d%3$hhn", 5, 10, &x)

will have the same effect as if we had written

x = 10;

Happy New Year, everyone. I wish you all a great 2021 filled with positive vibes and exciting music.

Treated myself to a new Japanese textbook. This one deals with the phonetic reading of Kanji characters.

Only ten pages in, and already had some "Aha" moments. I agree with the cover quotes: Wish I already had this 10 years ago.

Mike Stern about composing: "The main thing is to finish what you started. No need to judge it, plenty of people will do that later, don't get in the way."

Wrote a generic function whose type parameter implements a generic trait for returning a parameterized enum.

fn read_samples<R: Read, T>(source: &mut R, num_bytes: usize, init_val: T) -> Result<WavDataType, ()>
where T: Copy + Clone + WavDataTypeGetter<T> {

This lets me parse all the different representations of sample data in wave files (PCM16, Float32 etc.), returning a distinct value per type wrapping the actual data, in just 15 lines of code. I don't miss “real” OOP at all.

My favorite Vim feature for working from home on a small monitor:
Maximize a window when selecting it, but still show 7 lines of context from the other windows.

function SetWinheight()
set winheight=10
set winminheight=7
set winheight=9999

function UnsetWinheight()
set winheight=10
set winminheight=7
set equalalways
exe "normal \<c-w>="

New King Gnu single. That's some intense production, must have been a blast recording it.

ics boosted


is like , but runs through the year. Record, create, post, short-ish recordings, loops, beats, noises, melodies, sounds from your creative process where you work focused on sound/noise/music. Perhaps write a little description of anything that puts it into context (can be anything).

You can also call for and add some reuse indication, if desired.

If you like this proposal, plz boost.

Got some vacation and am sitting in a park during beautiful warm fall weather. An old man on a bench nearby is practising some kind of Japanese flute, which makes for a really nice atmosphere. Glad I got here at the right time.

(And yes, that's a tiny dog (not mine) in a baby car (actually a tiny dog car). It's a thing here.)

Added some exciting new features to my software synth:
- Stereo panning of individual voices
- Delay time syncing to BPM
- Envelope delay and looping

The voice panning really makes things interesting: Arpeggios running from left to right, or chords that grow from the middle outwards, or randomly jumping notes.

Now I just need some spare time to record a demo.

Show older

SoNoMu (Sound Noise Music) is a mastodon instance for musicians, sound-artists, producers of any kind of aural noise, songwriters, bedroom producers, sonic manglers and algorave livecoders. -> more...