Giter VIP home page Giter VIP logo

21m359-pset1's Introduction

Owl City Synth
================================================

John Bowler, Erin Main

It's called the Owl City Synth because it sounds
a lot like Owl City for some reason.

Performance: http://youtu.be/EVsA-K9yme4

Key mapping explanation:
Left hand (harmony)
- 1: I chord, 2: V chord, 3: vi chord, 4: IV chord
- This chord progression is the (in)famous "Four Chord Harmony"
  used in many pop songs. 
  (http://en.wikipedia.org/wiki/I%E2%80%93V%E2%80%93vi%E2%80%93IV_progression)
- The idea is that the player plays the keys in order: 1, 2, 3, 4, 1
  to generate a decent sounding harmony.
  - One could play the variation of keys in order: 3, 4, 1, 2, 3 to get
    another popular harmony.

Right hand (melody)
- t: scale degree 1, y: deg 2, u: deg 3, i: deg 5, o: deg 6, p: deg 1
- This is the pentatonic scale (an octave up from the harmony), used
  because it sounds pleasing no matter what order you play the notes in
  and what chord you play under it.

Modifier keys
- space bar: changes timbre, cycles between ["sine", "square", "triangle", "sawtooth"]
- left/right keys: decrease/increase pitch by half steps
- up/down keys: increase/lower volume

Who did stuff:
- John created the NoteGenerator class and figured out how to play multiple notes at once. 
  He also did the conversion from pitch to frequency. Erin did the envelope generation, 
  harmonics addition, and made the synthesizer part. (He did the first half and Erin did
  the second half.)

- Special credit to Erin's friend Alwina who was the performer in the video. (There are some
  minor tweaks between the final version and the version she used, but no major differences.)
 

21m359-pset1's People

Contributors

ermain avatar jwbowler avatar

Watchers

James Cloos avatar  avatar  avatar

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.