FLOE-437: Chart sonification component work

Metadata

Source
FLOE-437
Type
New Feature
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Alan Harnum
Reporter
Alan Harnum
Created
2015-11-10T15:12:14.822-0500
Updated
2016-02-10T16:05:12.895-0500
Versions
N/A
Fixed Versions
N/A
Component
  1. Chart Authoring Tool

Description

@@Colin Clark is working on a prototype basic data sonification component.

Once that is complete, we should be able to wire it into the larger chartAuthoring component in the usual IoC style.

Comments

  • Colin Clark commented 2015-11-11T15:28:39.704-0500

    @@Dana's sound designs use a Fender Rhodes-style electric piano synth. As a first sketch, I have implemented a very rudimentary model of an electric piano based on this article:

    http://www.keithwhor.com/music/

    This approach isn't particularly realistic; a model that resonates a noise impulse (representing the hammer) with a comb filter (to create the string/tine resonance) will probably sound a lot better:

    http://composerprogrammer.com/teaching/supercollider/sctutorial/11.1 Physical Modelling.html

    My sketch is currently in this Gist:

    https://gist.github.com/colinbdclark/b9a50fdabd04ba0f888e

    It can be heard by pasting it into the Flocking Playground here:

    http://flockingjs.org/staging/demos/playground/

  • Colin Clark commented 2015-11-13T00:07:27.566-0500

    @@Alan Harnum, I've fixed up the issues with the sonification synths and Flocking that caused it not to work correctly with a model relay in place. You'll need to use the latest version of the Flocking core-refactoring branch, commit 55e7778ea4944644d48690bc1969cba8078a018c or later:

    https://github.com/colinbdclark/Flocking/tree/core-refactoring

    And here is the latest version of the synths:

    https://gist.github.com/colinbdclark/b9a50fdabd04ba0f888e

    You'll notice that the durations of the sequences have changed, as have the MIDI note values. I made several mistakes there, so went back to Dana's sketch and was able to determine the correct timing and pitches. You'll need to, I'm sorry to say, update your model transformation accordingly.

  • Alan Harnum commented 2015-11-13T06:50:22.777-0500

    Thanks @@Colin Clark - updating the model transformations shouldn't be any problem - I just refactored out the messy initial implementation of the model relays from chartAuthoring into a standalone data sonification component, so it's a good opportunity to further refactor the durations and values to be configurable as part of the component.

  • Alan Harnum commented 2015-11-13T07:41:33.914-0500

    Not great code at the moment, but http://rawgit.com/waharnum/chartAuthoring/FLOE-437/tests/html/sonifier-Tests.html plays the sonification of the first piece of data passed to the sonifier on the back end. 🙂

    Not updated to @@Colin Clark's new synth definitions yet but will do that shortly.

  • Alan Harnum commented 2015-11-23T11:16:11.576-0500

    https://github.com/waharnum/chartAuthoring/tree/FLOE-437 has basic sonification, as most of us have seen.

    Remaining work before I'd like to PR this for merge to master:

    • better test coverage
    • better voice label scheduling
    • some refactoring
    • stop functionality

    Further enhancements will be made as separate JIRA tasks.

  • Alan Harnum commented 2016-01-26T12:16:39.404-0500

    Subject of this PR: https://github.com/fluid-project/chartAuthoring/pull/11

  • Alan Harnum commented 2016-02-10T16:05:12.893-0500

    PR merged.