Tiberiu Chibici

Blog

Chord Notepad: I'll just build it myself

July 3, 2026 · Programming

Recently, I’ve been trying my hand at songwriting. I had the lyrics down and a vague sense of the chords, and I wanted to hear how a few different progressions sounded without stopping to pick up a guitar every thirty seconds. I remembered there used to be one of those “chord transposing” websites which had exactly this feature I was looking for: being able to type a chord, then clicking it to hear it back. Because I couldn’t find it anymore, I just decided to write it myself… “It would only take like a weekend or 2”.

6 months later, here we are: the first official public release of Chord Notepad.

What is it?

Chord Notepad is a text editor in which you write your lyrics with chord symbols on the line above them, the way you typically find chords written online:

C        C/E      F      C
Twinkle, twinkle, little star,
Dm    Am     G        C
How I wonder what you are!

As you type, it recognises the chords and turns them into links. Click any chord and you will hear it.

But wait, there’s more! you can press play and it runs through the whole song at a tempo and time signature of your choice, lighting up each chord as it goes.

There are a ton of features which make the application far more useful:

  • You can set chord durations using Am*2 syntax (to play for 2 beats)
  • Directives allow you to change tempo {bpm: 90}, time signature {time: 3/4} and key {key: F#} dynamically
  • Loops so you can repeat sections using {label: chorus} and {loop: chorus}.
  • European/solfège notation support (using Do Re Mi instead of C D E)
  • Relative notation support which plays chords relative to the currently set key (e.g. I viio vi V).
  • Customizable voicing system which can play chords realistically on fret-based instruments, piano and ensembles
  • Visualizing the chords in one of several modes

Demo

Read more

Building an OS - part 1 - Hello world

January 26, 2019 · Programming

This is the first entry in a series where I build a small operating system from scratch and try to explain each step along the way. The idea is to start from almost nothing, a bare machine that only knows how to load a few bytes off a disk, and slowly grow it into something that boots, prints to the screen, and eventually does something useful.

In this first part we keep it simple: writing a "hello world" straight in x86 assembly, assembling it into a 512-byte boot sector, and booting it inside an emulator so we can watch our own code run before any operating system is loaded. The full walkthrough is in the video below.

Read more

Street network orientation of Romanian cities

December 27, 2018 · Data Visualization

I kept running into these polar "street orientation" charts on data-visualization subreddits and wanted to make one for the cities closer to home. Each little rose diagram plots the compass bearings of every road in a city, so a place built on a strict grid shows up as a tidy cross, while an older town that grew more organically scatters its streets in every direction.

Here is the result for every Romanian city with a population above 75,000:

Read more

Up and running

January 31, 2018 · Meta

Well, it's finally happening. After a good many "I should really put up a personal website" moments spread over the years, the site is up and running.

I've wanted a small corner of the web that's entirely my own for a long time: somewhere to keep my projects, write the occasional article, and point people to when they ask what I've been up to. This is that place.

I'm planning to write mostly about programming and the side projects I tinker with in my spare time, along with whatever else I happen to find interesting. Thanks for stopping by.