GithubHelp home page GithubHelp logo

robomex / reality-synthesizer Goto Github PK

View Code? Open in Web Editor NEW
21.0 2.0 1.0 27.25 MB

iOS 15.4 AVFoundation LiDAR sensor + MIDI notes = depth-based augmented reality music visualization as the music is being played

Swift 72.57% Metal 27.43%
augmented-reality augmented-reality-applications avfoundation demo depth-camera depth-sensing ios midi music-visualization synth

reality-synthesizer's Introduction

Reality Synthesizer: Visualize MIDI Notes in Augmented Reality

iOS 15.4 opened up the LiDAR sensor to AVFoundation. In this demo MIDI notes played on a paired synthesizer are interpreted by Metal shaders to produce augmented reality visualizations. This demo builds on parts of Capturing Depth Using the LiDAR Camera, AudioKit, and Linnstrument Helper.

The demo with sound can be viewed at this tweet.

Reality Synthesizer Demo Gif

reality-synthesizer's People

Contributors

robomex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sam43

reality-synthesizer's Issues

Notes get "stuck"

Sometimes, typically when releasing multiple keys on the connected synthesizer at the same moment, SwiftUI's .onChange(of:) is called on the same frame โ€“ resulting in one of those calls not being executed. This results in a note's visualization to get "stuck on" even though the key is no longer being pressed and the note is no longer being played.

The "I'm going to ignore this" fix in place is the stuck key will be released on a subsequent release of that same key.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.