Skip to content
A framework for making digital instruments with sensors, driven by a need to improve access.
Branch: master
Clone or download
Latest commit 69c9588 Jul 2, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
documentation added symbols Jul 2, 2019
examples updates examples for ImPArt demo Apr 15, 2019
examples_mobile tidying up folder structure Mar 18, 2019
examples_old updates examples for ImPArt demo Apr 15, 2019
im-help updating reference pages Apr 18, 2019
im-reference updating reference pages Apr 18, 2019
im.effects updates examples for ImPArt demo Apr 15, 2019
im.instruments updates examples for ImPArt demo Apr 15, 2019
im.midi some readme updates, demos Feb 27, 2019
im.mobile demo updates Mar 26, 2019
im.modulation messy upload before tidying Mar 18, 2019
im.serialinput updates examples for ImPArt demo Apr 15, 2019
im.utils updates examples for ImPArt demo Apr 15, 2019
instrument-maker-symbols @ 368ec4b updating submodule Apr 18, 2019
json-testing Broke JSON read, write works Feb 20, 2019
mmp testing messy upload before tidying Mar 18, 2019
mobile Update index.html Mar 27, 2019
old-trash tidying up folder structure Mar 18, 2019
quick tests updates examples for ImPArt demo Apr 15, 2019
.DS_Store tidying up folder structure Mar 18, 2019
.gitignore Create .gitignore Mar 22, 2019
.gitmodules im-symbols submodule Mar 22, 2019
CNAME Create CNAME Mar 26, 2019
LICENSE Create LICENSE Feb 22, 2019
README.md Update README.md Jul 2, 2019
_config.yml Set theme jekyll-theme-tactile Mar 2, 2019
_main.pd messy upload before tidying Mar 18, 2019
examples.zip updates examples for ImPArt demo Apr 15, 2019
im-bela.zip updates examples for ImPArt demo Apr 15, 2019
im-index.json updating reference pages Apr 18, 2019
im.choose.pd tidying up folder structure Mar 18, 2019
im.clock.pd tidying up for demonstrations Mar 19, 2019
im.ctlin.pd updates examples for ImPArt demo Apr 15, 2019
im.filter.pd updates examples for ImPArt demo Apr 15, 2019
im.generatescale.pd rampsmooth and sketches Feb 22, 2019
im.grainunit.pd tidying up for demonstrations Mar 19, 2019
im.input-help.pd mostly cosmetic changes Feb 24, 2019
im.input.pd updates examples for ImPArt demo Apr 15, 2019
im.key.pd Dumping code online Feb 20, 2019
im.linein.pd messy upload before tidying Mar 18, 2019
im.loop.pd misc updates for demos Mar 21, 2019
im.map.pd some readme updates, demos Feb 27, 2019
im.output.pd demo updates Mar 26, 2019
im.player.pd misc updates for demos Mar 21, 2019
im.pulsewave.pd updates examples for ImPArt demo Apr 15, 2019
im.ramp.pd rampsmooth and sketches Feb 22, 2019
im.scala.pd Dumping code online Feb 20, 2019
im.scala2.pd Dumping code online Feb 20, 2019
im.scale.pd demo updates Mar 26, 2019
im.sequence.pd misc updates for demos Mar 21, 2019
im.sequence4.onoff.pd updates examples for ImPArt demo Apr 15, 2019
im.sequence4.pd updates examples for ImPArt demo Apr 15, 2019
im.set.pd updates examples for ImPArt demo Apr 15, 2019
im.sinewave.pd updates examples for ImPArt demo Apr 15, 2019
im.sync.pd tidying up for demonstrations Mar 19, 2019
im.tb.pd updates examples for ImPArt demo Apr 15, 2019
im.triads.pd
im.tuning.pd Dumping code online Feb 20, 2019
im.volume.pd updates examples for ImPArt demo Apr 15, 2019
im.whitenoise.pd updates examples for ImPArt demo Apr 15, 2019
render-backup.cpp
string.aif tidying up for demonstrations Mar 19, 2019

README.md

Instrument Maker

This is an open source framework for digital instrument building with sensors, with improving access in mind. For Pure Data running on Bela / Raspberry Pi + Arduino. Code developed by Charles Matthews, with workshops currently in development in collaboration with Gift Tshuma and more in the pipeline. Get in touch if you would like to contribute!

An accompanying set of communication symbols can be found here.

This document in itself is a work in progress, and an invitation to conversation. Please access the wiki for more information and development notes.

Distributed under the terms of the GNU Public license version 3 (for now / not sure how appropriate to this project / need to read up on this).

A diagram illustrating different aspects of the instrument maker framework: sensors, scales, effects, and code.

Disclaimer

Instrument Maker is one of my first public repos, and will definitely be messy for a little while. I'm relatively new to Open Source culture - please call me out and/or help me understand if you disagree with anything on here. Same goes for Disability and accessibility issues.

About the code: the current version is not ready for public consumption (see the technical notes below); please feel free to explore the code, and download and try out the abstractions if you are familiar with Pure Data..but I recommend waiting a little while until everything's more coherent.

How does it work?

To program: within Pure Data (pictured below), create objects with the im. prefix to access building blocks: e.h. inputs, outputs, tuning systems, and synthesisers. Upload to Bela, or Raspberry Pi with an Arduino-type device connected.

Using Bela, choosing a setup should be a case of dragging and dropping into a browser; the Pure Data files can exist as templates or presets, no need to edit or look at the code unless desired.

This is a screenshot of the Instrument Maker objects in Pure Data. It shows a white screen, featuring minimal outlined boxes with black connecting lines. The boxes are labelled: input, scale, sinewave, volume, and they are connected to further boxes labelled echo and output. The lines are drawn from the top, through each of the boxes in various inlets and outlets, into a box labelled output.

Video demo (code): https://youtu.be/8AJMJq2P8Ko

Video demo (mobile): https://www.youtube.com/watch?v=jl020N0MZxk

Video demo (play): https://www.youtube.com/watch?v=ywEX0N6TpEA

An accompanying hardware component is in development, which adds crocodile clip access to the Bela platform.

A Bela mini device with shield attached: these feature white connectors to accomodate plug-in sensors, and metallic circles with crocodile clips

You can’t perform that action at this time.