Merely Sounds

What is this about?

Merely Sounds is a one-person minimal music project, you'll find here some strange melodic ambient sounds.


Album - 200226

Published on May 19th 2020. Listen on: Bandcamp

Track - 191030 - Single

Listen on: Bandcamp , also on Soundcloud.

Social Media


About Blog

Goals for recording new tracks

Since September 2019 onwards, I've been recording new music every one or two weeks. I started doing this to (1.) relax and have fun in a creative environment and for now this is still my main motivation to play. I also like to record fragments of my sessions to (2.) remember my favourite sounds and share them. When possible, I'd also like to (3.) improve my music making skills.

I remember that when I started it was unexpectedly difficult for me to keep in mind all these objectives. Also, I can be a competitive perfectionist; this didn't help.

After some time I've learned to rely on a set of constraints and soft rules, they help me stay on track:

It's ok to record something that will never be released
Focusing too much on the end result might leave little room for experimenting and playing with fresh ideas. Sometimes it's more enjoyable to explore new paths. It's ok if the end result isn't interesting enough to be relased.
Quantity over quality
When I focus on making a perfect track I often lose sight of the big picture and spend time and effort on insignificant details. As a result I lose momentum, reach a dead end or create a track that sounds far from perfect. It looks like I should learn and practice more; aiming for an imperfect track lets me do just that. This way I get to work with more tracks and gain experience. In this case focusing on quantity means hoping that it will lead to quality.
Simple workflow for publishing tracks
I keep a set of simple steps that requires very few decisions and allows me to take a raw recording of an improvisation session and turn it into a tangible track. I may decide to improve it, but if I'm unable to do so, I have a fallback.
Avoid postponing tasks
When I want to put off a task until later, be it either a step in my workflow or a musical idea, it often means that I don't actually enjoy it. Usually after pausing the activity I never find the motivation to complete it. To prevent that, instead of postponing a task I try to stop and think whether I can replace it with something that is more appealing to me at that point.

There might be more but the above seem the most important for me at the moment.

Simple audio visualisations with ffmpeg

I like using FFmpeg whenever I want to add a video visualisation to a sound snippet. This article focuses on the 'how'. We'll use a single audio input and generate a glitchy video that reacts to the sound. Here's a screenshot of the end result, links to sample videos at the end. Let's get started!

The command to generate the above effect consists of several filters and we'll go through them in steps.

Generates vectorscope output based on incoming audio signal. This is the filter that takes audio input and generates video. All subsequent filtes in this setup will just mangle video, i.e. receive video stream and output video stream without interacting with audio. ffmpeg -i input.wav \ -filter_complex \ "avectorscope= \ mode=polar: \ zoom=6: \ draw=dot: \ size=800x600" \ -map 0:a output1.mp4 I'm setting the mode to polar instead of lissajous and definig a high zoom level, to fill a larger portion of the screen. I'm also setting other options, for full description see avectorscope documentation.
Frei0r is a collection of plugins for video effects. FFmpeg can use them under certain conditions.

This specific plugin is called "vertigo". I haven't found its official documentation, the closest thing I've seen is the source code. The plugin generates copies of video input, stacks them on multiple layers and applies a different motion effect to each layer.

In our case, with a mostly black image, we can't see much, the video has gotten too dark. We'll address that in the next step. ffmpeg -i input.wav \ -filter_complex \ "avectorscope= \ mode=polar: \ zoom=6: \ draw=dot: \ size=800x600, \ frei0r=vertigo:0.01|1.1" \ -map 0:a output2.mp4
The histeq filter applies color equalization. Since in our previous stage we've ended up with a very dark video and we're using a small number of colors, the result should be strongly noticable and glitchy. In our case this is what we want. ffmpeg -i input.wav \ -filter_complex \ "avectorscope= \ mode=polar: \ zoom=6: \ draw=dot: \ size=800x600, \ frei0r=vertigo:0.01|1.1, \ histeq" \ -map 0:a output3.mp4
This Frei0r filter adds an overlay with a graph. Note that its values are based on the video stream and it doesn't have access to the audio stream. However since the incoming video is itself based on the audio stream, the graph will also respond to changes in audio.

I'm adding this for cosmetic effect only, to provide a distraction if the main pattern becomes too predictable. Because of that I'm not setting any of the filter's options. ffmpeg -i input.wav \ -filter_complex \ "avectorscope= \ mode=polar: \ zoom=6: \ draw=dot: \ size=800x600, \ frei0r=vertigo:0.01|1.1, \ histeq, frei0r=pr0file" \ -map 0:a output4.mp4

That's it! I've applied these effects to one of my favourite tracks from my last album, Track - 200226, and you can take a look at some example uploads:

To stay below the 40MB file upload limit, I've also reduced the number of colors and framerate, by adding: frei0r=posterize,minterpolate=fps=10 Link: .
Here, for fun, I've reduced vertigo and added edge detection, using: frei0r=sobel Link: .


Last website update: 2020-06-12. Some major updates from the past:

Added Blog, Goals for recording new tracks, Timeline.
Added simple styles, announced upcoming album.
Released Track - 191030 single.
Created this website.