From 1a5ca3bb94f6a98864d5a93b91d6b249e7b320f6 Mon Sep 17 00:00:00 2001 From: hannahilea Date: Wed, 17 Apr 2024 13:15:16 -0400 Subject: [PATCH 1/2] wip --- projects.html | 67 ++++++++++++++++++++++++++++++-- projects/yellow-scream/sketch.js | 37 ++++++++++++++---- 2 files changed, 93 insertions(+), 11 deletions(-) diff --git a/projects.html b/projects.html index 6c37a0a..7c8ded2 100644 --- a/projects.html +++ b/projects.html @@ -29,7 +29,23 @@

@hannahilea's projects

- (SITE IS UNDER ACTIVE DEVELOPMENT; ADDITIONAL PROJECTS COMING SOON) +

+ A lightly-sorted list of things I've built, both solo and on a team. + There are probably nicer ways to point you at the ones I'm especially proud of, but that's for future Hannah to + deal with! :) +

+

Disclaimer: This site is under active development, and many of the projects on this page haven't been documented yet. If + there's something you want documentation for sooner rather than later, reach out and I'll prioritize it + accordingly! +

+

Jump to: Virtual gallery, Physical gallery, Academic, Professional + +

+
+
+ + + One-off creative coding projects, often small and interactive. - + + + Projects that have some physical component. + +

Professional

+ Public-facing artifacts created... + +

Academic

+ Public-facing artifacts created as a student. +
+
+ + diff --git a/projects/yellow-scream/sketch.js b/projects/yellow-scream/sketch.js index 477eea8..a1d9d1a 100644 --- a/projects/yellow-scream/sketch.js +++ b/projects/yellow-scream/sketch.js @@ -7,6 +7,9 @@ let mic; let x; let y; let yellowColor; +let yellowColor2; +let bristleColors; +let bristleSeed; let isPainting = false; let currentbrushWidth; @@ -15,6 +18,7 @@ const params = { screamThreshold: 10, brushWidth: 80, maxBrushYJitter: 0.2, + numBristles: 5, }; const gui = new GUI(); @@ -22,6 +26,7 @@ gui.add(params, 'screamThreshold', 0, 300, 5); gui.add(params, 'brushSpeed', 0.1, 5, 1); gui.add(params, 'brushWidth', 1, 100, 5); gui.add(params, 'maxBrushYJitter', 0, .6, .1); +gui.add(params, 'numBristles', 1, 100, 1); function setup() { createCanvas(windowWidth, windowHeight); @@ -40,26 +45,34 @@ function setup() { // start the Audio Input. // By default, it does not .connect() (to the computer speakers) mic.start(); - console.log(windowHeight / 10) + // console.log(windowHeight / 10) } function draw() { // https://stackoverflow.com/questions/55026293/google-chrome-javascript-issue-in-getting-user-audio-the-audiocontext-was-not getAudioContext().resume(); + noStroke(); // Get the overall volume (between 0 and 1.0) let vol = mic.getLevel() * 1000; - console.log(vol); + // console.log(vol); if (vol > params.screamThreshold && !isPainting) { // Start a stroke x = random(width); y = random(height); - yellowColor = color(255, 204 + random(-10, 100), 0); + + bristleColors = []; + let baseGreen = 204 + random(-10, 100); + for (let i=0; i < params.numBristles; i++) { + bristleColors.push(color(255, baseGreen + random(-5, 5), 0)); + // yellowColor = color(255, 204 + random(-10, 100), 0); + // yellowColor2 = color(255, 204 + random(-10, 100), 0); + } + console.log(bristleColors); isPainting = true; - currentbrushWidth = params.brushWidth + random(-1.0, 1.0); + currentbrushWidth = params.brushWidth + random(-1.0, 1.0); // TODO-future: tweak random amount } else if (vol > params.screamThreshold && isPainting) { // Continuing a stroke - x -= params.brushSpeed; y += random(-params.maxBrushYJitter, params.maxBrushYJitter); } else if (isPainting) { @@ -68,8 +81,16 @@ function draw() { } if (isPainting) { - fill(yellowColor); - noStroke(); - square(x, y, currentbrushWidth, 0); + drawBrushIncrement(); + } +} + +function drawBrushIncrement() { + let bristleWidth = currentbrushWidth / bristleColors.length; + for (let i=0; i < bristleColors.length; i++) { + fill(bristleColors[i]); + square(x, y + i * bristleWidth, bristleWidth, 0); } } + +// Adjust individual bristle speed and/or starting point From a3974e3f484e7a674adae1b47784cf6ec1f3a069 Mon Sep 17 00:00:00 2001 From: hannahilea Date: Fri, 11 Oct 2024 11:25:57 -0400 Subject: [PATCH 2/2] fix merge --- projects.html | 133 -------------------------------------------------- 1 file changed, 133 deletions(-) delete mode 100644 projects.html diff --git a/projects.html b/projects.html deleted file mode 100644 index 7c8ded2..0000000 --- a/projects.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - @hannahilea: projects - - - -
-
-
-
-

@hannahilea's projects

-
-
- -
- -
-

- A lightly-sorted list of things I've built, both solo and on a team. - There are probably nicer ways to point you at the ones I'm especially proud of, but that's for future Hannah to - deal with! :) -

-

Disclaimer: This site is under active development, and many of the projects on this page haven't been documented yet. If - there's something you want documentation for sooner rather than later, reach out and I'll prioritize it - accordingly! -

-

Jump to: Virtual gallery, Physical gallery, Academic, Professional - -

-
-
- - - One-off creative coding projects, often small and interactive. - - - - Projects that have some physical component. -
    - -
  • Musidex
  • -
  • Flipdots
  • -
  • MotM club
  • -
  • Recipe book
  • -
  • HPGL.jl
  • -
  • Mini books script
  • -
  • Cuttle bookends
  • -
  • Assorted cuttle projects
  • - -
-

Professional

- Public-facing artifacts created... -
    -
  • ...as a DSP/Algorithms Engineer at Beacon Biosignals: -
      -
    • Link to 510k publication
    • -
    • Link to AES poster
    • -
    • Link to WiDS poster
    • -
    • Link to TransformSpecifications
    • -
    -
  • -
  • ...as a DSP Engineer at iZotope: -
      -
    • Link to technical Emmy
    • -
    • Link to blog post on source separation
    • -
    • Link to product releases
    • -
    • Link to patent
    • -
    • Link to AES papers
    • - -
    -
-

Academic

- Public-facing artifacts created as a student. -
    -
      -
    • Link to technical Emmy
    • -
    • Link to blog post
    • -
    • Link to product releases
    • -
    -
- - -
- -
-
- - - - -