From 16df69493f48626756aec700bf91f1956b30f69d Mon Sep 17 00:00:00 2001 From: Steven Cobb Date: Sat, 2 Nov 2019 21:05:20 -0400 Subject: [PATCH 1/3] hide spinner --- src/js/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/app.js b/src/js/app.js index 2613325..be3d50c 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -180,7 +180,7 @@ objCenter.position.set(0, 0, globals.posBehindZ); // globals.scene.add(skyboxCubeMesh); //add nightsky skybox -physics.addSpinner(); +// physics.addSpinner(); //-----MUSIC STAFF------// function addStaffLines(color = 0x000000, offset, posXstart, posXend, posY, posZ, innerLinePadding, dashedLines = false, middleC = false) { From 65e4b3623aafd64ca1efd1b5f2f33d30f7abcf91 Mon Sep 17 00:00:00 2001 From: Steven Cobb Date: Fri, 29 Nov 2019 23:08:29 -0500 Subject: [PATCH 2/3] upd readme after v0.3 drum spinner video --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 67112d7..f7c01e7 100644 --- a/README.md +++ b/README.md @@ -6,20 +6,25 @@ This project is in active development and is not live yet. Until release v1.0.0, ## Release Notes +### 0.3 + +drum machine spinner: https://www.youtube.com/watch?v=2uCANP7zd4s + ### 0.2 -https://www.youtube.com/watch?v=uT5s3Svk7Fo +melody autocompletion: https://www.youtube.com/watch?v=uT5s3Svk7Fo ### 0.1 -https://www.youtube.com/watch?v=8QR59RP-Z_8 +first 3D prototype: https://www.youtube.com/watch?v=8QR59RP-Z_8 ## Project Inspiration - Original A.I. Duet: https://github.com/googlecreativelab/aiexperiments-ai-duet +- [ANIMUSIC videos](https://www.animusic.com/dvds) - [Pipe Dream](https://www.youtube.com/watch?v=hyCIpKAIFyo) - All of the amazing work by [teropa](https://github.com/teropa): - Neural Arpeggiator: https://codepen.io/teropa/pen/ddqEwj - Neural Drum Machine: https://codepen.io/teropa/pen/JLjXGK - Neural Melody Autocompletion: https://codepen.io/teropa/pen/gvwwZL - Performance RNN: https://magenta.tensorflow.org/performance-rnn -- Magenta demo: https://magenta.tensorflow.org/demos +- Magenta demos: https://magenta.tensorflow.org/demos \ No newline at end of file From 2711d558c5300e6938cc43c300ad8311302b652e Mon Sep 17 00:00:00 2001 From: Steven Cobb Date: Fri, 29 Nov 2019 23:15:52 -0500 Subject: [PATCH 3/3] upd TODO roadmap --- TODO.md | 47 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/TODO.md b/TODO.md index 62cbf20..5bf5404 100644 --- a/TODO.md +++ b/TODO.md @@ -1,17 +1,50 @@ -## TODO +## Roadmap -- [ ] AI duet - figure out machineKeyDown timing (use Tone.Transport.scheduleRepeat?) -- [ ] note length as addBody -> sphereRestitution or initContactMaterial restitutionValue param? -- [ ] new drum machine wheel / metronome paradigm - use rotating clock hand to hit drums: https://codepen.io/danlong/pen/LJQYYN +### 0.4 +- [ ] map note length (triggerRelease) to bounce height, see addBody -> sphereRestitution or initContactMaterial restitutionValue param +- [ ] update instrumentMappings to use key of B major instead of C +- [ ] display key signature in UI + +### 0.5 +- [ ] rename state variables to store, separate property for UI related variables +- [ ] different iframes / canvas for each instrument type, separate routes with different globals can be used +- [ ] balls drop and hit key of 3D piano + +### 0.6 - [ ] instrument animations mapped to note sequences, ex: flamePhysics.create triggered on FD - FD -- A3F - A3F added to note sequence (use humanKeyAdds array? or buildNoteSequence function) -- [ ] Fix audio quality in recordings -- [ ] Keep camera in line with ballX position -- [ ] + +### 0.7 +- [ ] robot drops balls from top of mountain, spinner knocks off balls that do not need to hit 3D piano + +### 0.8 +- [ ] different worlds: space, ice mountain, cartoon forest + +### 1.0 +- [ ] full UI implementation +- [ ] support for computer keyboard in addition to MIDI controller - [ ] UI for editable 'instrument - shape - note - keyboard' mapping object +- [ ] record and playback audio, import and convert MIDI notes to Tone.js friendly JSON using https://github.com/Tonejs/Midi + +## Backlog +- [ ] Circular camera animation, movement between scenes (from drum stage back to piano stage) +- [ ] frequency visualizer UI dashboard, see: https://threejs.org/examples/webaudio_visualizer.html +- [ ] +- [ ] look into using approach from webaudio_timing demo https://threejs.org/examples/#webaudio_timing https://threejs.org/docs/#api/en/loaders/AudioLoader https://github.com/mrdoob/three.js/blob/master/examples/webaudio_timing.html#L225 +- [ ] positional audio spheres (similar to lost-woods): https://threejs.org/docs/#api/en/audio/PositionalAudio +- [ ] +- [ ] pipe dream assets - https://threejs.org/docs/#api/en/geometries/TubeGeometry +- [ ] create asset in Blender for Lil A.I. +- [ ] +- [ ] 3d pipe research: https://github.com/mrdoob/three.js/issues/905 https://blog.selfshadow.com/2011/10/17/perp-vectors/ http://pandaqi.com/Games/4-phaser-shapes-and-geometries +- [ ] Fix audio quality in recordings, normalize instrument types (drums louder than keyboard), adjust high vs low frequencies +- [ ] Keep camera in line with ballX position automatically +- [ ] - [ ] Other shapes besides spheres - each shape has different sound / wave type - [ ] Contact surfaces light up based on note color - [ ] Clean up instrumentMapping template and getters - [ ] Different contact surfaces with different restitution +- [x] new drum machine wheel / metronome paradigm - use rotating clock hand to hit drums: https://codepen.io/danlong/pen/LJQYYN +- [x] AI duet - figure out machineKeyDown timing (use Tone.Transport.scheduleRepeat?) - [x] Web MIDI API support to connect to keyboard - [x] Dynamically set zPos based on note position in staff (position.z in instrumentMapping getter) - [x] Fix Fire class and shader import