D3.js is in used in a variety of production environments worldwide. According to Interactive Data Visualization for the Web, however, D3 is intended primarily for explanatory visualization work, as opposed to exploratory visualizations, which help you discover significant, meaningful patterns in data.
Our layered approach to instrument and theory tool modeling is designed to bridge these two worlds. A highly structured, generic-to-specific in-browser configuration process allows the creation of thousands of individual configurations from relatively few generic instrument model and theory tool families. In this sense, it merges 'explanatory' with those 'explorational' traits otherwise missing from D3.js.
Moreover, it allows settings to be shared, meaning should one on-screen animation's configuration be changed, all others shown can/will change in lockstep. We also have the option of isolating individual configurations from this process, allowing direct visual comparison between related but distinct instrument and/or other models.
Big, brave, open-source, non-profit, community-provisioned, cross-cultural and ninja crazy. → Like, share, back-link, pin, tweet and mail. Hashtags? For the crowdfunding: #VisualFutureOfMusic. For the future live platform: #WorldMusicInstrumentsAndTheory. Or simply register as a potential crowdfunder..
Generic to Specific Modelling: A Closer Look
|
This is an ongoing work, and will be updated according to availability of illustrative material.
World Music instruments and theory models can be thought of as nodes a continuum. Alter a basic instrument configuration parameter, and it's effect is mirrored in associated theory tools. To this end, all instrument families represented in the aggregator platform will share (through their generic base) the same basic interface governing core musical qualities.
How they respond to these changes is another matter. Where an instrument does not support a given configuration setting, it can be expected -by default- to respond with a popup message to this effect.
Tools: Circle of 5ths
The chromatic circle was chosen as a theory tool implementation test case due to it's suitability as a base for modelling a whole range of tonal circle variants: notably the circle of 5ths, circle of 4ths and circle of 3rds, but also every conceivable number of notes per octave, temperament or intonation.An early but promising realisation was that musical properties underlying the modelling of instruments could be (re-)used in a theory tools context.
![]() |
Some Chromatic Circle Examples
|
Positioning of notes on the various tonal circles can be done simply, using internal radial angles or their multiples, or, for just intonations, the same proportions as are used to position frets. It ain't rocket science.
Instruments: Wind
Wind instruments are among the trickier to model.![]() |
Wind Instrument Standing Wave. |
The vast majority of world music wind instruments are relatively simple in construction. Nevertheless, the range of temperaments, intonations, bore shapes and fingering mechanisms represent a challenge in their own right.
![]() |
A Flute Fingering Diagram with Lever Mechanism |
Such instruments (more below) represent intense experiment by generations of master craftsmen. These imply more mappings and a more complex approach to reuse than with other instrument families.
Nevertheless, the same principle applies as in walking, where each step forward in itself brings further goals within reach.
Similarly, our modelling should work from simple to complex, always building on earlier achievement.
![]() |
Some Wind Instrument Examples |
Instruments: Stringed
Stringed instruments were (perhaps stupidly, as some are already hopelessly over-represented on the internet) chosen as a testbed for the generic-to-specific instrument modelling approach.Currently, more or less any lute-like instrument can be configured in the browser from a generic base, the results vindicating the approach in every sense.
Moreover, what has been learned is likely to prove invaluable in modelling other instruments.
![]() |
Some Stringed Instrument Examples
|
Instruments: Accordion Keyboards
Modelling of accordion keyboards may (on account of their variety) seem to represent a serious challenge, yet on breaking the problem down into it's several component layers, anticipated difficulties tend to evaporate.Starting from a generic base (which can take the form of, for example, a heatmap or hexbin layout with base dimensions, default button sizes and layout), we:
o adjust the number of button rows and columns o adjust the overall keyboard dimensions to fit o where necessary (eg B- or C-System layouts), move the buttons into their offset (staggered) positions o name the buttons on class and id levels. The former allows all buttons to be addressed, the latter specific buttons. o assign mappings between the buttons names and their various musical and visual qualities o apply any visual patterns associated with specific kinds of chromatic accordion keyboard.
![]() |
Accordion Keyboard Variants
|
The only notable complication with accordion keyboards is on moving from their chromatic to diatonic forms. With the latter, each button is associated with two notes which often (but not always) differ depending on whether the note is being played on the press or draw (bellows being squeezed or expanded).
At a simple, physical level the answer is a double mapping for each keyboard. With each note (depending on whether on the press or draw) available at possibly several different positions on the keyboard, the real challenge is to find sensible playing paths through this maze.
This is where the genre virtuoso comes in, both in the sense of direct content provider and as P2P teacher. This touches immediately on elements of style and the mechanisms by which they can be integrated into the whole (link coming..), which are discussed elsewhere.
Instruments: Hybrids
Hybrid instruments and tools combine elements of two or more different instrument or tool families. On the instrument side, a good example is the so-called flared- or fanned-fret guitar.![]() |
Eight String Acoustic Guitar by Patrick Hawley |
This impose a special modelling case, yet one that may in practice be relatively easy to overcome, possibly even allowing multiple approaches.
In this case we might simply combine low-level aspects of both instruments. Either we view this instrument as multiple, one-stringed guitars with different scale lengths, or set up a variable scale length frame model as for harp, but equip the frame with frets.
![]() |
True Intoned |
![]() |
Well Intoned |
All, however, can be modelled by simple means in the browser.
Keywords
online music learning, online music lessons |
distance music learning, distance music lessons |
remote music lessons, remote music learning |
p2p music lessons, p2p music learning |
music visualisation music visualization |
musical instrument models interactive music instrument models |
music theory tools musical theory |
p2p music interworking p2p musical interworking |
comparative musicology ethnomusicology |
world music international music |
folk music traditional music |
P2P musical interworking, Peer-to-peer musical interworking |
WebGL, Web3D, WebVR, WebAR |
Virtual Reality, Augmented or Mixed Reality |
Artificial Intelligence, Machine Learning |
Scalar Vector Graphics, SVG |
3D Cascading Style Sheets, CSS3D |
X3Dom, XML3D |
Comments, questions and (especially) critique welcome.