Code Monkey home page Code Monkey logo

gh_midi_controller's Introduction

Guitar Hero Midi Controller

This package turns an xbox 360 guitar hero controller into a full-blown midi controller complete with chords, pitch-bending, and all sorts of groovy things!

Controls

WARNING: I am not a music theory expert. Please forgive any theory errors.

Getting started

  • pip install pygame==2.0.0.dev6 (or newer)
  • Connect your guitar hero controller to your pc via a wireless adapter
  • install loopMidi and create a virtual port.
  • python main.py

The software looks for a controller on port 0, and a midi connection on port 3, but both of these can be set in main.py.

Playing Notes:

By default, the face buttons correspond to the notes in the Pentatonic scale with the minor root being on the 2nd note (Red), and the major root being on the third note(yellow). The strum bar can be used to shift +/- 1 octave. The large wide star power button can be used to shift any given note up to the next "inbetween" note in the scale. For example, it would shift the minor 1 to a minor 2. In cases where there are no actual scale notes between two notes, such as between blue, the minor 4th, and orange, the minor 5th, it just plays the note halfway between, which in this example would be the "blues note".

Playing Chords:

pressing on pad will play a chord, where the root note cooresponds with the button you pressed. Whether the given chord is major/minor/other is preprogrammed and can be changed easily in midi_notes.py. Pressing the small circular pause button will convert a chord to its respective 7 chord. It turns minor chords to min7, major chords to maj7, and the major 5th note (green) to a dom7, because it is mixolydian. Wow, look at that attention to detail!

Pitch bending:

The whammy bar bends notes up by 1 full note, though every midi software actually has a different amount that it bends. Again, your mileage may vary. This can be set at the top of midi_notes.py.

with a little bit of luck and practice, it is possible to play all 12 notes in the ocave with this setup. You may, however, need to press the star power button and hold the whammy bar down at the time time to get the flat minor 2nd and the sharp minor 6th.

Good luck!

gh_midi_controller's People

Contributors

cowratt 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.