[Friday, 12th July 2024]

"Eta Cassopeia" was the first song I made after I bought my first synthesizers (a Roland JP-8080 and an Ensoniq ASR-X Pro) in 1998/1999. Listen to and download it on my Songs page: Eta Cassiopeia .

[Thursday, 21th December 2023]

Here's my C++ implementation of a general-purpose neural network along with an example program which uses the MNIST dataset to detect handwritten digits (0-9). The README.md contains a writeup of the mathematical fundamentals I've learned.

Project page: Neural Network .

Github repository: https://github.com/chn-dev/NeuralNetwork

[Tuesday, 11th July 2023]

The first part of the new series of short articles about Digital Signal Processing is online:

Digital Signal Processing - Basic Concepts .

As an exercise, I have written a very simple Bit Crusher plugin, chnCrusher using JUCE . You can download it in VST2 and LV2 formats for Linux and Windows:

[Wednesday, 28th June 2023]

MODPlay now has its own GitHub Repository . The example player is migrated to SDL2 , and the whole package now uses cmake as the build system.

In order to clone modplay and build the example player along with the core modplay library, do the following steps:

  • git clone ssh://github.com/chn-dev/modplay/
  • cd modplay
  • cmake . -B build
  • cmake --build build

[Monday, 19th June 2023]

This is the final version of my submission to this year's Fedivision contest. Compared to the Fedivision version, I increased the tempo by a notch and improved the mix a bit.. well, in my ears, but you know I don't know what I'm doing

Fedivision is an annual music contest where people from all over the Fediverse submit a previously unreleased song they made, and then everyone is asked to vote for their favourite. Hop over to the Fedivision website and listen to the other submissions. I'm impressed by the quality, diversity and creativity!

Here's my submission, "Integer":

chn - Integer.flac (lossless 24bit/96kHz) (67.5MB)
chn - Integer.mp3 (5.33MB)

License: CC BY-NC 4.0

Thanks fly to @cosmicmarley17@deadinsi.de for letting me use her drone sample "Singing Glass" to be heard at the beginning and the end of the song.

Other samples, mainly percussive ones, were created by tapping, hitting and stroking various things (but no living things!) around the house. The time signature is 7/8 and a blues scale is used -- but without the "blue" note.

I'm pretty unimaginative when it comes to picking names for songs, so please don't assume there's any special meaning behind "Integer" except the meaning you personally give it. It just so happens that my previous songs were called "Void" and "Structure", which happen to be keywords in many C-like programming languages, so I thought why not "Integer" this time?

[Friday, 03th March 2023]

I've released the EP "Yi Shi", consisting of a new piece "Structure" and the previously released pieces "Nuance" and "Void". All of them have been remastered to fit together nicely.

Download page: Yi Shi


[Friday, 30th December 2022]

The Odroid-Go Ultra is a handheld game system released by Hardkernel , a Korean maker of single-board computers. It is basically a very powerful ARMv8 computer with Ubuntu 20.04.4 Linux (Aarch64) as the OS and EmulationStation as the frontend plus many different emulators.

Many people might be inclined to regard the OGU purely as a portable game emulation device. I see it in a slightly different way because it reminds me of the GP32 made by Gamepark (also a Korean company) in the early-mid 2000s. I have very fond memories of the GP32 because there was a nice little homebrew programming scene which I was part of. I'd love to see a similar scene to emerge for the Odroid-Go Ultra.

SDL2 as an SDK would be an obvious and accessible choice. Luckily, it has been ported by the Odroid forum member JonnyonFlame . I picked up his port and created an easy-to-use SDL2 SDK package for the OGU. It can be used to compile SDL2 applications on the device itself as well as to cross-compile them on an Ubuntu Linux PC.

You can find the SDL2-ogu project repository on GitHub:


Or just download the pre-compiled package:

SDL2-ogu_2.0.22_20221230.tar.gz (3.03MB)

Here's the project website: SDL2-ogu

(But wait! There's more..)

[Thursday, 15th December 2022]

I've just finished (or finally abandoned) a new song called "Void". Which means it's less than my previous song "Nuance".. or so.. it seems I can never think of good song names. If you have better suggestions, let me know

Otherwise, just enjoy the music!

Download: chn - Void.mp3 (9.8MB)

If you want to give me some feedback, you can contact me via Mastodon or Email. Thank you!

[Sunday, 01th May 2022]

Hi folks!

After some time without an Internet presence, here's my new webpage. There's mainly old/legacy stuff here, but also a few new things:

  • Some Music. For now, there's only the song "Nuance" , but I've been making music all the time, collecting dust on my harddisk. Hopefully I can upload some of it in the time to come.
  • RadarVolumeExplorer , a 3D visualization software of radar data. Made for educational purposes
  • While I didn't update libmodplay (my MOD/XM/S3M playing library), I used it to create a plugin for foobar2000 , my favourite music player.

Thanks to the wayback machine, you can still see my old webpage , dated back to 2004. Those were the times...