JavaScriptClub/04

From XPUB & Lens-Based wiki

Step1: Introduce

Tone.js

Tone.js is a very basic tool for creating an oscillator sound or synths sound like FM synth, AM synth and Noise synth. You can modify most of their values, such as Attack, Decay, Sustain, and Release. For pitches, you can easily define them by inputting the specific scales you want, like C4, E4, or any other notes.


https://tonejs.github.io/
https://tonejs.github.io/examples/


By using the Gamepad API, you can also control the helicopter with a gamepad.

Pizzicato.js

https://alemangui.github.io/pizzicato/
For Making a Sequencer, or writing a specific rhythm, the Tone.js is a great choice.

But if you want to make more crazy experimental sound effects, Tone.js may have a lot limitations, but there is another Javascript library called Pizzicato.js, which offers more effects like Ping pong delay, Fuzz, Flanger, tremolo, and Ring Modulation.

When I first used it I was so excited so I made a html and added all the effects in it, which has a lot sliders inside. https://hub.xpub.nl/chopchop/~wang/__lab__/files/public_html/pizz.html?_xsrf=2%7Cdbb6309c%7C075a8a7528ffa95fedfb16f18b50c349%7C1728479915

Step2: Sliders

You can simply by using CSS to modify the slider to experiment.

 #slider1{
   position: fixed;
   top:30%;
   left: 45%;
   width: 100px;
   height: 100px;
   transform: rotate(90deg);
   transform-origin: left bottom;
   background: rgba(0, 0, 0, 0);
   border: 1px solid black; 
   -webkit-appearance: none;
   appearance: none;   
   outline: none;
   }
 #slider1::-webkit-slider-thumb {
   width: 10px; 
   height: 100px; 
   background: rgb(0, 0, 0); 
   border: 1px solid black; 
   border-radius: 0; 
   cursor: pointer;
   -webkit-appearance: none;
   appearance: none;
 }

https://hub.xpub.nl/chopchop/~wang/__lab__/files/public_html/sliderExample.html?_xsrf=2%7Cdbb6309c%7C075a8a7528ffa95fedfb16f18b50c349%7C1728479915

You could experiment more with the slider by adding an image on it.

 background: url('xxx.png/gif/jpg') no-repeat center;
 background-size: contain;


Sound Quilt

Test1

 As a deconstructionism slider map:https://hub.xpub.nl/chopchop/~wang/__lab__/files/public_html/SliderRe5%20add%20sound.html?_xsrf=2%7Cdbb6309c%7C075a8a7528ffa95fedfb16f18b50c349%7C1728479915


Test2

Re1.png
 As a 16 square puzzle : https://hub.xpub.nl/chopchop/~wang/__lab__/files/public_html/SliderRe1add%20sound.html?_xsrf=2%7Cdbb6309c%7C075a8a7528ffa95fedfb16f18b50c349%7C1728479915


Test3

 A version that incorporates guidelines using the grid system, allows user to hide or show the effect names by dragging movements. It also maps to the slider to control the effect values:https://hub.xpub.nl/chopchop/~wang/__lab__/files/public_html/SliderRe2.html?_xsrf=2%7Cdbb6309c%7C075a8a7528ffa95fedfb16f18b50c349%7C1728479915


Test4

 With the multiple pitches and frequencies, this 4 square version allows user to create overlapping sounds by different combinations:https://hub.xpub.nl/chopchop/~wang/__lab__/files/public_html/SliderRe3Demo.html?_xsrf=2%7Cdbb6309c%7C075a8a7528ffa95fedfb16f18b50c349%7C1728479915

Test5

When I was trying to combine the minimalism and the block game as a way to interact, this remind me of the block puzzle game-The Huarong Path(a Klotski puzzle game/sliding block puzzle game), in the game the blocks can only be moved horizontally or vertically, Players must use spatial thinking to slide the blocks around the board, often having to move other blocks out of the way to clear a path for the larger block to exit.

 Based on the slider block game and combine with the 4 square with multiple pitches and frequencies:https://hub.xpub.nl/chopchop/~wang/__lab__/files/public_html/SliderRe3.html?_xsrf=2%7Cdbb6309c%7C075a8a7528ffa95fedfb16f18b50c349%7C1728479915

Brick

Step3: Midi control

Combining MIDI and HTML for Live Performance

Expansion

https://sites.antoningallon.xyz/almanach/Almanach.html#debut
https://sites.antoningallon.xyz/testBaskerccampagne/

Step4: Examination