Giter Site home page Giter Site logo

knoblin's Introduction

Knoblin

The Knoblin (KNOB controller and LINkages) is a library of code, instructions, and model specifications for MIDI control of the knobs on musical devices, especially those found on guitar amplifiers and effects pedals.

While originally developed as a way of performing large-scale data gathering from musical devices (for this paper, there are probably lots of other fun uses for it! Some ideas that spring to mind are preset changes on analog equipment, changing device parameters based on what is being played, changing them over the duration of the envelope of the notes being played, etc.)

Knoblin is roughly partitioned into three sections:

  • Material requirements and instructions, the basic components you'll need to buy to setup the interface
  • 3D models, the adapters and mounts for connecting the controls to the music devices
  • Code, for issuing the control commands to the device (a mix of Python and C++/Arduino)

drawing

Watch/Listen to Knoblin in action in the YouTube Demo

Overall Design

Reference

If using Knoblin code in academic work, please cite the paper it was developed for:

@article{narad2021ampspace,
  title = {Amp-Space: A Large-scale Dataset for Fine-grained Timbre Transformation},
  author = {Naradowsky, Jason},
  journal = {Proceedings of the 24th International Conference on Digital Audio Effects (DAFx-21), Vienna, Austria},
  year = {2021}
}

Acknowledgements

Michael Karsay's Terrorbot project was a great inspiration and proof-of-concept that led me down the Arduino path, as was Thomas Töngi's geckotool project. I learned a lot in a little time thanks to help from the 3D printing community. Many thanks to Josef Prusa and The 3D Printing Professor -- who knew printing effective and accurate LEGO-compatible blocks was such a complicated topic! Thanks to @Raspencil for The Knoblin graphic, and Mike Wirth, Victor Bolivar, Don Patino, Guilhem, and Vectors Point for artwork used in diagrams.

Disclaimer

While I've worked to implement reasonable safeguards, there are always risks when using code and automation to interact with objects in the real world. This is especially true when the code has been tested in a very particular environment, on a very particular set of devices. The servos used in this project are more than capable of generating enough torque to damage things, so use the code with caution, and exercise care when calibrating the connections between servos and knobs. I cannot be held liable for damages that arise from using this code, correctly or otherwise. Use at your own risk.

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.