My R&D Projects (Selection)

I have put some of my projects online. In particular, I have made available the following projects on GitHub. Note that this is just a small selection of all of my projects, since I do not yet have made online available all projects.

  • RP2040 PIO Emulator
    Software emulation and development environment for PIO programs for the Raspberry Pi Pico. Implemented in Java.

    Automatically generated signal diagram of a PIO program
    Fig. 1: Automatically generated signal diagram of a PIO program
  • Tipping Points
    An analysis and visualization of the hysteresis effect in tipping points as they appear in climate change. Implemented as Java Swing application. Contribution to the supporting programme of the ZKM exhibition Critical Zones as part of the network initiative “Artists4Future Karlsruhe”.

    Screenshot of Tipping Points App, Version 0.1
    Fig. 2: Screenshot of Tipping Points App, Version 0.1
  • ml Library
    My own flavour of a minimal TensorFlow-like machine language library implemented in the Java language (work in progress; not yet useful) and beyond.

  • VZ200/Z80 Emulator
    A software emulation of the 1980’s VZ200 computer with Z80 CPU, implemented in Java.

    Screenshot of VZ200 Emulator Screen
    Fig. 3: Screenshot of VZ200 Emulator Screen
  • Art Frame
    A small C++ / Qt application running a fake particles simulation. Useful for artful manipulation of arbitrary image content.

    Art Frame @ Poly Galerie
    Fig. 4: Art Frame @ Poly Galerie
  • respektomat
    The Respektomat is an (ELIZA-inspired, but rather simple-minded) implementation of a natural language processor that communicates with a human, always anwering with sentences that somehow refer to the word Respekt, which was the title of the arts exhibition that this application was devised for.

    Respektomat V1.0 Screenshot
    Fig. 5: Respektomat V1.0 Screenshot
  • Discrete Spectral Transform (DST)
    A Java library (and small example applications) that implements my discrete spectral transformation (DST). My DST is intended as DFT replacement particularly for situations when fast changes in spectrum do matter and thus may not be neglected.

    Transient Oscillation of DST
    Fig. 6: Transient Oscillation of DST
  • Maze
    Originally planned as a fully elaborated version of the RaspBerry Pi’s original Maze demo application for the RPI’s sense hat, this project features implicit functions as a convenient and efficient, yet quite unconventional method of specifying the game field’s terrain with complex shapes. Implemented in C++ and Qt.

    Maze Screenshot
    Fig. 7: Maze Screenshot
  • SpheralPropagation
    A cellular automaton that – in contrast to almost all established cellular automaton – features spreading an initial pattern approximating Euclidian norm rather than sum norm. I originally devised this cellular automaton around 1986, while looking how to approximate creation of perfect circles with cellular automatons, but then lost the original code, and re-invented it in 2007. The automaton’s rather simple set of rules somewhat resemble certain aspects of Maxwell’s laws. Implemented as Java Swing application.

    Screenshot of Spheric Propagation Simulation
    Fig. 8: Screenshot of Spheric Propagation Simulation
  • imgsnd
    ImageSound was the (now for long time abandoned) original version of my series of image-to-audio conversion algorithms, devised around 1997, somewhat mimicking graphical notation. It only considered brightness, but ignored hue and saturation. ImageSound was the origin for later projects, among them its immediate successor SoundPaint that featured full color information by using a linear matrix transform for conversion between color space and a three-dimensional space of sound properties, or SoundColumn, which made transition from flat on-screen image scan to cyclic scan of an image projected onto a rotating column.

    Score Graphics of “Verdruss” (“Displeasure”) Item of Work
    Fig. 9: Score Graphics of “Verdruss” (“Displeasure”) Item of Work
  • QuadCopHack
    This project actually resulted from a contest when I was challenged to manually control a 15$-QuadCop, but heavily failed. Instead, I hacked this QuadCop and pimped it with an interface to an Arduino for low-level signal processing and a RaspBerry Pi computer for high-level user control, including fully recording and replaying flight control actions applied to the original flight joystick.

    Hardware Mods of QuadCop Hack
    Fig. 10: Hardware Mods of QuadCop Hack
  • syngraph
    SynGraph is a data aquisition tool for collecting data about graphemic synesthete’s individual mappings of characters (such as letters or digits) to colors. It was devised as a tool for further research into synesthesia. Note that the above mentioned SoundPaint project heavily depends on a useful color to sound mapping, which itself is also an issue in the field of synesthesia.

    Screenshot of SynGraph
    Fig. 11: Screenshot of SynGraph
  • SoundOntology
    The sound ontology, dating back to as early as 2005, was an attempt to properly model a musician’s potentially complex and heterogenous set of synthesizer equipment in a way to efficiently manage access to all available synthesizer resources, such as instruments, sound patches, voices / timbres, sounds, etc. The ontology is specified using the Web Ontology Language (OWL).

    Ontological Description of Specific Instance of Sound
    Fig. 12: Ontological Description of Specific Instance of Sound

For a complete list of my projects currently available on GitHub, see my repositories on GitHub.

Project Contributions (Selection)

I am co-author of / contributor to the following projects:

  • GNU LilyPond
    My contributions: ancient notation (neumes, ligatures, fonts), contemporary notation (clusters, ambits, special font glyphs), and more.
    LilyPond Logo

  • JavaParty
    My contributions: transparent threads, and more.
    JavaParty Logo

  • RFC 3253
    Typical DeltaV Revision Graph