..          ..........                                                                                       .......                
  ...             .:::                                                                                 ...................   .:::::::::::::.   .
     :::+++++.                                                                                          ........::::::::::::++++++:      ..+++++
&&&&&&&+.                                                                                                 .....::::::::::++++++++++++&&:        
&&&.                  .............                                                                ..........             :++++++++&&&&&&&&&+   
&&&&&&&&&++++++++++::::::::::....                                                                  ............                                 
&&&&&&&&&++++++++++::::::::::..                                                                   .............::.                              
&&&&&&&&++++++++++::::::::::                                                                      .............:::::                            
&&&&&&&++++++++++:::::::::                                                                       ..............:::::::                          
&&&&&+++++++++++:::::::.                                                                         ..............:::::::::                        
&&&&+++++++++++::::::.                                                                           ...............:::::::::::                     
                   :::::::..............                                                                                     ++++++++++&&&&&&&&&
                 ::::::::...............                                                                                        ++++++++&&&&&&&&
              ::::::::::...............                                                                                           +++++++&&&&&&&
            :::::::::::................                                                                                             +++++++&&&&&
          ::::::::::::................                                                                                                :+++++&&&&
       .:::::::::::::.................                                                                                                   +++++&&

@arek_durlik

                                                                                               
                         .-.                                                                   
                        .--.                                                                   
                       .-.+                                                                    
                       --+#                                                                    
                      .- +#.                             ..-+-                                 
                      .- +++                           .--.+--+                                
                      .-  .#-                       ..--.   .++                                
                      +-   -+.         .+++++--.. .--.      .#+                                
                      +-   .-+.       .#+     .+--++--...   .++                                
                      ++    .+-.       #+    ..--.   .---++--#-                                
             +.---....++     .+-       -#- .-++.           .+#-+-...                           
            -  .--.   +++--...-+-       +++++.              +#   -----..                       
           ---++++#---+#.-----.+#+--....+#+.                #+       .+-+-..                   
          .-  -####-  -#+++.   +++.  -+###+---..           .#+           .++-..                
          ------------.###++----##+-+#+--##--------.....   .#-              .-+-.              
         -  .-.        +#. ..   +## +#- +###-           ---+#-..               -++-.           
        ---+.  +--------+###+#+.-##-.+#-+####------+-------##+------.....        .+#-.         
       .   ++++#             ##+      #+-+#+    -++#++    +###           ---.....  .+#-        
      .-----+##-----+##+-----+##------+#+---------+++----++###+--------------.--.----+#+.      
      -  ...                 +##+      ##.                +##+     .##.     .+..+    .-#+.----.
     ---+   +--------------------------##+--------------------------++-------####-----++#------
    -   #++##             ...          +#+     .##.      .                    ++     +####.   -
   .-----###+----+##+----+   +------------------++------##+--------------------------+###+----.
   .                     ++-+#     .--.                 +++      .#+.                .-#+.   + 
  +--.--.-------------+---###+-----+..++-------------------------+#++-----+#+--------+##-----  
 .   +  .+    .--.    #-           +###+              ...                 +#+      +###-     - 
.----#####---+    +----...----------+++-----+##+-----+   +-----...-----------------###------+  
-     +##+   -#+##+   +   +     ...                  ##++#-   +   +       ..                -  
+-------------+##++---#++##+---+   +------...----+----###+----+#++#-----++ ++---------------.  
 ++++++--             -###+-   ++--#+    +  ++   #-           -####-    #-..#-    .--.     .   
   .++++++++++-----------------+####+----#. .#--------------------------####+----++. .+----.   
     -++++++++++++++++--                 +####-                          --      #####    .    
      .--++++++++++++++++++++--------------++-------------------------------------+++-----.    
            .---++++++++++++++++++++--                                                    .    
                   .---+++++++++++++++++++++---------------------------------------------+     
                          .---+++++++++++++++++++++--                                    .     
                                  .---+++++++++++++++++++++------------------------------.     
                                         .---+++++++++++++++++++++--                    -      
                                                .---+++++++++++++++++++++---------------.      
                                                       .---++++++++++++++++++++++--    ..      
                                                              .---+++++++++++++++++++++        
                                                                     .---++++++++++++.         
                                                                            .----+++.          

The Web Audio Playground is an interactive tool for exploring the Web Audio API with a node-based interface. Originally created as a side project for the 3D Guitar Pedalboard, it allows users to experiment with sound without writing code.

An audio circuit made within the Web Audio Lab.
An example of a circuit created in the Web Audio Playground.

Users can tweak sound parameters in real time to explore how different effects shape the audio. The intuitive node-based interface allows seamless connection and modification of audio components. Considerable attention was given to achieving a pixel-perfect, retro UI, reminiscent of old circuit-building software. This focus on detail extends to elements like the custom bezier curves for connecting nodes, enhancing the design's cohesion.

Modifying the sound of an uploaded audio file in real-time.

Users can construct audio effects entirely from scratch by connecting and configuring nodes to build custom sound-processing chains. This hands-on approach makes it easy to experiment and understand how different components interact to shape the final sound. Once completed, these designs can then be saved to a file for reuse or sharing.

Creating a tremolo sound effect from scratch.

A key feature of the playground is its ability to capture live audio input, allowing for real-time parameter adjustments and effect experimentation while playing instruments such as a guitar.

Modifying the sound of a live audio input in real-time.

What began as a side project ended up teaching me a lot about the Web Audio API's inner workings and how the different nodes can interact with each other to create more sophisticated effects.