At tyOS, we pride ourselves on making beautiful, easy to use technologies for whatever you may need. While many of our projects are private, we do have some open source projects below for you to peruse. We would love to hear your feedback!


engage physically

engage physically is a 3D physics engine based on talks given by Erin Catto about Box2D. It has a broad-phase collision detection step that is powered by an in house BVH tree implementation, and it has a narrow-phase step that uses the Separating Axis Theorem to find collisions between oriented bounding boxes. The final step in the pipeline is the constraint solver, which was influenced heavily by Erin Catto and Box2D.

Fig. a: Stacked boxes demonstrating the constraint solver.

You can check out the source code here.


real human bean

real human bean is an audio plugin that applies humanized offsets to a stream of samples, making the samples sound as if a person played them. It is ideal for channels that contain one drum part, such as a hi hat channel, snare channel, etc. The algorithm to generate offsets was implemented as described in this paper by Saara Malila.

Fig. a: Album art for the real human bean demo.
Fig. b: The plugin interface showing offset parameters.
Fig. c: Demo of humanized drum offsets in action.

You can check out the source code here.


Fractal Renderer

We wanted to experiment with rendering fractals in various ways. We initially wanted to focus on some sort of 3D representation of a fractal (different from a Mandelbulb) and ended up with some interesting renders. We ultimately settled on just making a traditional fractal renderer. Currently, it only supports the Mandelbrot set. However, this project is ongoing, and we'd love to ultimately support all sorts of fractals and allow users to control the color palette.

Fig. a: Deep zoom into the Mandelbrot boundary.
Fig. b: Spiral formation at high iteration count.
Fig. c: Color palette variation, warm tones.
Fig. d: Color palette variation, cool tones.

You can check out the source code here.


A Drum Machine in Terminal

After building Trundle, we wanted to push the limits of what you can do in a command prompt. We thought recreating the FL Studio drum machine using Trundle would be a fun experiment in user experience with the goal being making a TUI for drum programming that is faster than using FL Studio's with a mouse. The experiment ultimately failed, but building a drum machine was fun for the whole team and a great way to spend January.

Fig. a: The step sequencer grid.
Fig. b: Pattern selection interface.
Fig. c: Sample browser and loading.

You can check out the source code here.


Trundle: A Terminal UI Library

Trundle is a C++ TUI library (will have Python bindings soon hopefully). The library provides a robust set of widgets for users to flexibly build entirely text based UIs.

Fig. a: Tree widget displaying a file hierarchy.
Fig. b: Fuzzy search filtering tree nodes.
Fig. c: Input prompt widget with validation.
Fig. d: Scrollable list widget with selection.

You can check out the source code here.