About
Made in Latvia, by hand.
Grafit Pro is a native macOS instrument for real-time visual programming — written in Swift and Metal, one node at a time, for two years.
Publisher
Grafit Pro is developed and published by SIA SPACE, a company registered in Latvia, European Union.
Author
Mārtiņš Dāboliņš — artist, creator and lead developer. work@siaspace.eu
Technology
Grafit Pro is a native macOS application built with Swift 6, Metal, SwiftUI and AppKit. All GPU rendering uses Metal; machine-learning models run on the Neural Engine through Core ML. It is optimised for Apple Silicon and needs no external runtime, no account and no cloud service.
Signal processing
The signal processing in Grafit Pro — FFT spectral analysis, Welch's method for power spectral density, magnitude-squared coherence, hemispheric asymmetry, IIR filtering, phase-locking measures between people — is an original implementation in Swift and Metal compute shaders, based on standard methods from the literature:
- Welch's method — P. D. Welch, “The use of fast Fourier transform for the estimation of power spectra,” IEEE Transactions on Audio and Electroacoustics, 1967.
- EEG band powers — the standard bands (delta 0.5–4 Hz, theta 4–8 Hz, alpha 8–12 Hz, beta 12–30 Hz, gamma 30–100 Hz) used across clinical and research neuroscience.
- Coherence — Cohxy(f) = |Sxy(f)|² / (Sxx(f) · Syy(f)).
- Asymmetry index — AI = (R − L) / (R + L).
- Inter-brain synchrony — phase-locking value (PLV) and the weighted phase-lag index (wPLI), with a chance baseline.
- IIR filters — Butterworth and notch filters from the Audio EQ Cookbook biquad formulas, run through Apple's Accelerate framework (vDSP).
No third-party signal-processing library is used. The GPU path implements a Cooley–Tukey radix-2 FFT in the Metal shading language.
Machine learning
Every machine-learning node runs entirely on your Mac through Core ML — no audio, video or image is ever uploaded.
- Pitch Detection uses Spotify's open-source basic-pitch model (Apache 2.0), converted to Core ML. Bittner et al., “A Lightweight Instrument-Agnostic Model for Polyphonic Note Transcription and Multipitch Estimation,” ICASSP 2022.
- Audio Beat Detection is an original in-house network, trained on synthetic drum data and fine-tuned on the Groove MIDI Dataset (attribution below).
- Depth Estimation offers two generations of the Apache-licensed Depth Anything Small model. Only the Apache-licensed Small variants are bundled; the larger, non-commercial siblings are not included.
- Diffusion (Experimental) runs image models that you supply, from a folder on your own disk. Grafit ships no diffusion model and downloads none; the model's licence is yours to check.
Transcription uses Apple's on-device SpeechAnalyzer; its language models are managed by macOS, and audio never leaves the machine.
Open-source acknowledgments
The same list, with the full licence texts, is inside the app: Settings → About → Open Source Acknowledgments.
VGER
2D GPU rendering library behind the graph editor canvas, the cables and UI primitives. Copyright © 2021 Audulus LLC · MIT License.
stb_rect_pack
Rectangle packer used by vger's glyph atlas. Dual-licensed MIT or public domain; taken under the public-domain alternative. Sean Barrett — public domain (Unlicense).
liblsl — Lab Streaming Layer
The Lab Streaming Layer library (1.17.7) behind the LSL Receiver and LSL Sender nodes. Compiled from source, unmodified, using its C API only. Copyright © 2012 Christian A. Kothe · MIT License. It bundles a subset of Boost and standalone Asio (Boost Software License 1.0), loguru (public domain) and pugixml 1.15 (MIT, © 2006–2025 Arseny Kapoulkine).
ml-stable-diffusion
Apple's Swift pipeline for running diffusion models with Core ML, behind the Diffusion nodes. Only the pipeline code is included, without any download code. Copyright © 2024 Apple Inc. · MIT License, with the third-party acknowledgements Apple ships with the pipeline.
Satin (SatinCore)
C geometry library used for mesh generation, triangulation, path extrusion, Poisson sampling and bounding-volume hierarchies. Only SatinCore is included. Modified: a dead helper function was removed, and the Poisson disk sampler was corrected and given a deterministic seed. Copyright © 2025 Hi-Rez · MIT License.
webgl-noise
Simplex and cellular noise functions used by the particle system, the generators and the shader chunk library Live Shader nodes can include. Copyright © 2011 Ashima Arts — Ian McEwan, Stefan Gustavson · MIT License.
Basic Pitch
Polyphonic pitch detection model used by the Pitch Detection node, converted from Spotify's released model to Core ML. Copyright 2022 Spotify AB · Apache License 2.0.
Depth Anything V2
Monocular depth model (Small) behind the Depth Estimation node's V2 option, in Apple's Core ML conversion. Copyright 2024 the Depth Anything authors · Apache License 2.0. Yang et al., “Depth Anything V2,” NeurIPS 2024.
Depth Anything 3
Monocular depth model (Small) behind the V3 option, a Core ML conversion of ByteDance's released Depth Anything 3 Small. Copyright 2025 ByteDance-Seed — Core ML conversion by Daisuke Majima · Apache License 2.0. Lin et al., “Depth Anything 3: Recovering the Visual Space from Any Views,” 2025.
Groove MIDI Dataset — training data
The drum onset model of the Audio Beat Detection node was trained in part on the Groove MIDI Dataset by Google Magenta (Jon Gillick, Adam Roberts, Jesse Engel, Douglas Eck, David Bamman — “Learning to Groove with Inverse Sequence Transformations,” ICML 2019), magenta.tensorflow.org/datasets/groove, licensed under CC BY 4.0. The dataset was modified: MIDI events were converted to onset labels and the audio was used as training input. This attribution does not imply endorsement by Google. No dataset audio or MIDI is included in the application.
MIT License — full text
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Apache License 2.0 — summary
Licensed under the Apache License, Version 2.0; you may not use the licensed files except in compliance with the License. You may obtain a copy at apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Legal
© 2025–2026 SIA SPACE. All rights reserved.
Grafit Pro and the Grafit logo are trademarks of SIA SPACE. macOS, Metal, Swift, SwiftUI, AppKit, Apple Silicon and App Store are trademarks of Apple Inc.