Hello folks, today I want to give you a tutorial on how to start with AI on your own local machine. This is a very rewarding task, expecially if you can use your self-hosted AI on a daily base on your own machine. Todo that only three points have to be done. I’ll show you for Debian Trixie… Run the ollama script and install a model (the backend / core logic) Install docker (needed for WebUI)…
The oscillator(s) - what it is and how it is working behind the scenes… With exception to noise every synthesizer needs some swinging circuit - better known as an oscillator. There are pleanty of circuits doing that thing but we want to look first into Low-frequency oscillator, better known as LFO… A simple (LF)O Think of this circuit as a high-speed game of electronic tag between two sections…
After this chapter you will know all the basics around the semiconductor component transistor (BJT as well as MOSFETs) and their effects… The transistor belongs an own chapter, thanks to its gamechanging influence to a complete new generation of electronics in the 1970ies to 1980… The transistor is a nonlinear component , a device whose current–voltage relationship is not proportional . In other…
Could not share my screen on Zoom, Google Meet or Discord - and how to solve it If you are running Debian 12 (Bookworm) or a similar modern Linux distribution, you might have encountered a frustrating issue: you try to share your screen in a browser or a communication app, and nothing happens—or you get a cryptic error like Failed to connect PipeWire context . The root cause is usually a…
A GUI is a fantastic idea… But what should it be - SDL, wxWidgets, or Qt? Choosing a GUI framework for a C++ audio project is a "fork in the road" moment. Each of these options pulls the project in a completely different architectural direction. Since your course currently uses SDL, it’s the natural frontrunner, but here is how they stack up for a synth-building context:
Introduction to efficient build tools for C++ projects We now reach a rite of passage by moving from a Make -based build process to a CMake -based workflow. The traditional "rule of three" (found in many classic open-source projects) — ./configure && make && sudo make install — is gradually being replaced by the CMake approach. This modern workflow typically involves creating a separate build…
Introduction to the topics data structures, algorithms and complexity / computability in C++ Caution - this tutorial is a theory-loaded one - we will discuss a bit of the basics about data structures, algorithms and complexity - all that especially in context with C - so let's get started with the data structures in C Lists, Dictionaries and Queues We begin with some basic data structures we…
Beyond the Single Note: Implementing Polyphony In our previous tutorials, our synthesizer was limited to one note at a time. If you pressed a new key, the old sound simply disappeared. Today, we change that by implementing Polyphony —the ability to play chords and manage multiple "Voices" simultaneously. 1. What is a "Voice"? In professional synthesizer design, we use the Voice Architecture . A…
From Stateless to Stateful: Filters & Composition In previous parts, we built an oscillator. It was "stateless"—you give it a phase, it gives you a value. It doesn’t care what happened a microsecond ago. But to make music sound "warm" or "organic," we need objects that have a memory . 1. DSP General: The Concept of State In Digital Signal Processing (DSP), a filter is stateful . To calculate the…
This course introduces C++ programming through the development of a small audio / synthesizer application . The goal is to learn the language step-by-step while building a working audio system . Prerequisites: A Linux system (Debian or Ubuntu recommended) GCC (GNU Compiler Collection) The make build tool Basic familiarity with the command line Some mathematical background (helpful for the audio…
Electronics 101–104 — Overview This page provides a short overview of the electronics introduction series. Electronics 101 electronics 101 Introduction to basic electrical concepts such as current, voltage, resistance, and simple circuits. Electronics 102 electronics 102 Covers time-dependent components like capacitors and coils, also simple passive filters. Electronics 103 electronics 103…
Introduction into C++ (Part 3) C++ OOP Mastery: The Power of Composition (Has-A) In software architecture, there are two primary ways to connect objects: Inheritance (Is-A) and Composition (Has-A). While beginners often try to solve everything through inheritance ("An Oscillator is an Envelope"), professionals prefer composition: "A Synthesizer has an Envelope." 1. Why Composition? Think of our…
Introduction into C++ (Part 2) In this next example / tutorial we will have a look at sound producing program (aka a synth), for which we utilize the SDL library (Simple direct media library). We will go about the program, line for line and explain the different items. Lets begin… First of all we have the includes for the SDL library, we will have a look at the header file later. Also we include…
A simple introduction into C++ Hello folks, this time I want to start with a series about programming with C++. While Python is a general purpose programming language, C++ is often chosen when you need tighter control over performance and latency. We start simple by creating a short program that spits out the limits for the different data types. Install Microsoft code so that have one simple IDE…
What is BusyBox and why is it needed? Hello folks, today I want to explain how the Swiss knife of Linux command line tools works and why it is needed, especially in embedded systems. On a normal Linux desktop system, tools like ls , cp , mount or sh are all separate binaries. Each of those binaries depends on libraries and contains its own startup code. This is usually not a problem on desktops or…
Interrupts - The doorbell analogy Imagine a person sitting quietly at home, deeply focused on reading a book. This person represents the CPU, and the act of reading represents the normal execution of a program. In a world without doorbells, the only way to know whether someone is at the door would be to repeatedly stop reading, walk over, and check the door. Most of the time this effort would be…
The two important pillars - Digital-Analog-Converter and Analog-Digital-Converter What we haven’t checked yet in our journey around (analog) electronics and digital electronics where the converter circuits from analog to digital and vice versa - for this we first want to explain the different terms around. The theory about analog signals, digital signals, sampling and quantisation Analog signals…
Hello Folks, today we want to have a peek look into cascaded combinatorics with the example of priority encoder and decoders…. Second, we will introduce Karnaugh maps to do the optimization part. Cascaded combinatorics and Priority encoder First of all, what is a priority encoder? And for what is it used? This we can explain in a first simple list. As interrupt controller to prioritise As a code…
After this chapter you will know all the basics around semiconductor components like diodes, transistors (BJT as well as MOSFETs) and their effects… A nonlinear component is a device whose current–voltage relationship is not proportional . In other words, the current does not increase linearly with the applied voltage. Examples of nonlinear components include: * diodes (conduct current only in…
After this chapter you will know all the basics around linear components, integrated amplifiers and op-amps… Integrated NF amplifiers Today, much-needed electronic functions such as NF amplifiers are no longer predominantly constructed from “discrete” (from Latin discretum = separate) components, but are replaced by integrated circuits (Latin integrare = to unite); colloquially, they are called…
Storytelling and the order of things Hey reader, today I want to talk with you about the (right) order of things and its importance. When creating my first blog articles about electronics I hit multiple times the same obstacle, which is the order of things. When trying to teach people about one of my favourite things I almost over the same amount of time, I am thinking about the educational…
Hello folks, today I want to continue the series about simulation of synth modules with LTspice. We start with this module from etsy which we disect and reverse engineer, so that we can build it with reverse polarity protection diodes… We want to analyze this module . Lets start with the pcbs: To begin with, we first want to reversse enginnering the two sides of the pcb, to build another pcb,…
Hello folks, today I want to continue the series about simulation of synth modules with LTspice. We want to analyze the sloth module from NLC . Lets start with the schematic: Right below is a copy of the schematic, created in ltspice, however missing the potentiometer(s). Whats important here to note here is that for the fourth op-amp we needed to add some voltage offset of 1 µV to get it working.…
Hello folks, today I want to discuss with you the simple LFO made by David Haillant . It was the very first module I began my dives into the world of diy. Quite simple and not to complicated to begin with… . If you do not shy away from mathematical deep-dive explanations - (I sometimes do), you can view the details here (integrator) and here (schmitt-trigger) A more electronics dive in can be…
Hello folks, today I want to start with a topic that I had already longer in my mind and finally took hands on. We want to simulate a simple LFO (or a normal oscillator, depending on the chosen dimensions) and for that we use the relative well-known tool LTSpice that thankfully also works on Linux machines thanks to using the non-emulator wine . A simple tutorial how to start that is found here .…
Hi there, a few months ago I decided, I would want to go to a form of webspace where I dont have to spend money. Although it’s only a few bucks, I thought it would be time to move on… this is basically a tutorial to move over to github pages… Edit from 20-04-2025: Previously I had a Makefile-based approach, but this was not the ideal way, so now I changed it to utilize github actions instead
Today, I want to show you how you can modify your Odoo frontend, I wont go to deep into owl and instead just show the basic steps for implementing modifications and changes via HTML5, CSS und javascript. Lets dive in and wet the toes. We begin by writing a short cut-through css file to change and modify the view (in my example case here removing carets on the provisioning reports) but feel free to…
Here I wanted to document how to setup a python based backend (here: Odoo, but it could also be for example Django) on a pristine Debian / Ubuntu on After a new installation of Debian / Ubuntu you need to install a couple of packages to start of with a usable system, we add the following packages via apt-get: sudo apt-get install chromium, git, qdirstat, make, build-essential, python3 (Qdirstat is…
This is an updated blog post from the 08-05-2025, to ensure that you can enjoy to compile the latest version of Kicad and its dependencies. With my new hobby, there came the desire to learn to build and design my own PCB. With that in mind, I began to use the open source ecad solution Kicad. Now I became interested in participating in this project, but, to compile the code you have endure a few…
Hi there, finally this week the nandland go board I ordered from the developer Russell Merrick a month ago arrived. It took a detour due to some shipping problems, but this is not about that, so. I had to face quite a few obstacles to get this running on my Debian Bullseye. Serial Connection via USB First of all, to connect to the board via FTDI usb as suggested on Debian Bullseye you have to…
Introduction Hi, today I want to share with you the basic knowledge of DIYing your own synthesizer modules - those do not need of the eurorack standard although in my case they are. If you get started with eurorack format or any other modular like synth standard, but especially the eurorack standard - you will be most likely overwhelmed about the sheer number of manufacturers and available. You…
It is about time, to share another favorite of mine with you, and this is duckburg and the duck universe. I take the LTB (Lustiges Taschenbuch) Nr. 162 as an example from the golden era of the comic series "Lustiges Taschenbuch" Der goldene Totempfahl (The golden totem pole) In the story "Der goldene Totempfahl" english the golden totem pole, uncle scrooge is making a movie about his life, the…
Today I want to show you, how to connect to the DE10-nano board, the successor of the DE0-nano board. It is a bit bigger, costs nearly 300 bucks, but also supports Linux out-of-the-box. There is an Angstrom Linux installed on the SD-card. To connect to the board via the UART interface, power-up the board with the wall-wart,enter the sd-card to start the linux booting, and finally connect the…
So, you decided you want to learn fpga programming and have done the prerequisite from the introduction 0 as well as done the simple logic circuit via quartus’s bdf files. Today we want to show you how to figure out Quartus by doing another hardware equivalent of the hello-World program used in the software world - we do program a binary counter showing of by the LED array we have available on our…
So, you decided you want to learn fpga programming and have done the prerequisite from the last blog post . Today we want to show you how to figure out Quartus by doing a hardware equivalent of the hello-World program used in the software world - we call it AndGate because it is simply that - an and gate feed by to push-buttons as input and a status-LED as output. This way we will make use of the…
Today I want to start a blog post series about hardware programming. We start with an introduction to hardware programming with the FPGA-board DE0 Nano from former Altera now Intel. You see a picture of the small board below. It seems you can still order this board, but I have not tested. We will show how to setup the environment, in the first step we will (show how to) download and install…
Introduction Rare earth elements have long been the backbone of high-tech magnets, with metals like neodymium and dysprosium playing pivotal roles in various industries. However, the scarcity and rising demand for these valuable resources have prompted researchers to seek alternative solutions. In an effort to reduce our reliance on rare earth magnets, scientists are exploring innovative materials…
Introduction Rare earth elements, often shrouded in mystery, play a crucial role in our modern world. From smartphones to electric vehicles, renewable energy technologies, and even defense systems, these elements are the unsung heroes that make our daily lives more sustainable, efficient, and connected. In this article, we’ll delve into the fascinating world of rare earth elements, with a focus on…
OP-Amp Today I want to speak about op-amps. These wonderful, but mysterious components, we have heavely often appearing in circuit schematica of analog or analog / digital hybrid circuits. We want to demistify these components. There are two basic thumb rules when handling ideal op-amp circuit. (Real-world op-amp circuits are a bit more complicated, but we will discuss this later). 1. The first…
Analog Computers Today I want to speak about analog computers. In todays times analog computers are leading a shadowy existence, compared to their digital counterparts. But they are wonderous little machines. And that machines I mean wordly because there exists analog mechanical computers that are models from the world and used to compute and predict tides in certain areas of the world . Also the…
In meinem mobilen Setup, dem NiftyVCase, habe ich meine DIY-Module gesammelt (mit Ausnahme des Doepfer A-124, den ich wegen seines großartigen Klangs einbauen musste). Es verfügt über eine Kick-Drum von Erica Synths, einen even VCO, eine Sampling-Modulator, A*B+C und Rampage von Befaco. Sowie den Divebomb III für etwas Delay. Zu guter Letzt ein Zlon-Skew-LFO und ein…
Dieses Mal haben wir einen verschachtelten Patch, der ein neues Mitglied enthält, den Zufallssequenzer von rat-king, der, wie der Name schon sagt, schöne zufällige Sequenzen liefert. Außerdem haben wir ein neues Mixer-Modul, selbstgebaut. Wir verwenden auch beide VCOs und beide LFO-Module… Jam-Session Audio
So here is another small patch idea for the Doepfer A-100 system, this time featuring the SEM filter from Oberheim, incarnated in the Doepfer modul A-106-5. We also utilize two LFO modules… LFO SEM Patch Audio LFO SEM Patch Audio 2 LFO SEM Patch Audio 3 To this day I did not find the right audio recorder,and I am recording with my smartphone, so the sound quality is rather bad. I am still…
After this chapter you will know all the basics around time-sensitive components like coils and capacitors and simple circuits utilizing those components… Electronics 102 Time-sensitive components After reviewing and extensively describing the most important component, the resistor, in the first part, now we want to have a look at the next important component, the capacitor. Capacitor are also…
Hier ist also eine weitere einfache Patch-Idee für das Doepfer A-100-System, diesmal mit dem SEM-Filter von Oberheim, verkörpert im Doepfer Modul A-106-5. Wir verwenden auch zwei A-110-Oszillatormodule (ein Standard- und ein Basis-Modul) und den LFO. Link:./sem_patch.m4a[SEM Patch Audio] Bis heute habe ich nicht den richtigen Audiorecorder gefunden und nehme mit meinem Smartphone auf, sodass die…
When you fire up your browser to visit a website, you most probably did not noticed a very important mechanism underlying the browser and working in the background. Caching. Caches are used everywhere to optimize and improve access times and such in consequence the overall performance (of a site). Caching in the browser for example means, that ideally only the portions of the website that changed…
Hier ist also eine weitere Patch-Idee für das Doepfer A-100-System. Die Ergebnisse der Doepfer-Oszillatoren sind prägnante „knarzig-kernige“ Klänge. Wir verwenden zwei A-110-Oszillatormodule (ein Standard- und ein Basic-Modul), einen Ringmodulator (A-114) und ein Wespentaille-Filter (A-124) sowie einige Hilfsmodule wie einen Sequenzer und einen LFO. pithily… Audio
Also kaufte ich mir einen günstigen Eurorack-Koffer von Doepfer und ein Set Frontplatten plus Netzteil für den Pocket Operator Modular 400 von Oddvolt, um die besagte Maschine in ein Eurorack-Modulsystem einzubauen. Ich habe mir auch einen kleinen, aber anständigen Sequenzer gekauft, da der von Teenage Engineering nicht nicht sehr handlich ist. Ich habe noch zwei weitere Module auf meiner Liste,…
This is a small, incomplete list of topics I’d like to write about in the mid- to far future. Caches Interrupts Out-of-Order execution RAW, WAR and WAW conflicts Filters (analog and digital) Analog computers neuronal networks the microbiom the transistor and VLSI