マイク音量と3D描写

					
            let angleX = 0;
            let angleY = 0;
            let rotationSpeed = 0.01; // 回転速度
            let scaleValue = 1; // 初期のスケール
            let mic; // マイク入力を受けるための変数

            function setup() {
              // キャンバスをWEBGLモードで作成
              createCanvas(windowWidth, windowHeight, WEBGL);
              // マイク入力
              mic = new p5.AudioIn();
              mic.start();
            }

            function draw() {
              background(0);
              //線だけ描写したいので背景色は無し
              noFill();
              // マウスの位置に基づいて色を設定
              let r = map(mouseX, 0, width, 0, 255);
              let g = map(mouseY, 0, height, 0, 255);
              stroke(r, g, 255);

              // 欲しい情報はマイクボリュームだけ
              let volume = mic.getLevel();

              // スケールを音量に応じて変更
              // マイクボリュームを0〜1の範囲から、1〜20の範囲に変換
              scaleValue = map(volume, 0, 1, 1, 20);
              scale(scaleValue);

              // X軸、Y軸の回転
              rotateX(angleX);
              rotateY(angleY);

              // 角度に回転速度を足し算
              angleX += rotationSpeed;
              angleY += rotationSpeed;

              // 立方体を生成
              box(200);
            }