Giter Site home page Giter Site logo

pie's Introduction

Build Osciliscope Music PIE Team

This contains code for our final PIE project (osciliscope music) at Olin College of Engineering.

Arduino

The arduino folder includes all the code run on an Arduino Uno to handle our custom keyboard and potentiometer inputs which are streamed to serial output.

Visualizer

The visualizer folder is a high-performance c++ program for consuming arduino serial input and driving the osciliscope music output.

Visualizer: Audio Setup [MACOS]

To support both the Etch-A-Sketch rendering and the audio output, you should setup a combined audio device that will split the generated audio output between an external DAC (driving the physical oscilliscope) and a speaker.

The only requirement is that the physical DAC should support a two-channel output of 192kHz. Below are instructions on how to configure a combined audio device on Macos. See the official article https://support.apple.com/guide/audio-midi-setup/play-audio-through-multiple-devices-at-once-ams7c093f372/mac for more details.

In the "Audio MIDI Setting" create a "Multi-Output Device" called "Oscilloscope" that combines your external DAC driving the physical osciliscope with you desired speaker's output. We have found that the built in speakers on the latest Macbook's sound quite pleasant and are more than good enough.

Select the "Oscilloscope" device that you created in the audio output

Visualizer: Running Instructions [ANY]

danielsudz@Daniels-MacBook-Pro-5 visualizer % sudo ./etch-sketch-loop
[INFO]: Located arduino serial port at /dev/tty.usbmodem11401
[INFO SERIAL]: The serial port has opened succesfully
[INFO AUDIO]: started initializing portaudio
[INFO AUDIO]: finished initializing portaudio
[INFO AUDIO]: FOUND THE SCHIIT BOX
[INFO AUDIO]: Sample rate of 192000 is supported!!!
[INFO SERIAL]: Currently holding 1 pot value and playing freq 0 frequency

From the visualizer folder run sudo ./etch-sketch-loop to start the program.

Install

To clone the repo correctly use the following flags

git clone --recurse-submodules https://github.com/daniel-sudz/pie/

The --recurse-submodules flag will include the portaudio and libserial dependencies necessary for building the visualizer project.

Build Instruction

Take a look at the official CI build scripts to setup a similar environment for your operating system here: https://github.com/daniel-sudz/pie/blob/main/.github/workflows/build.yaml.

We currently officially test against the following build targets: [ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-12, macos-13, macos-latest].

pie's People

Contributors

daniel-sudz avatar jcuhnoio avatar vrhinehart avatar

Watchers

 avatar  avatar

pie's Issues

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.