Thanks to visit codestin.com
Credit goes to github.com

Skip to content

flaukowski/ChessAI

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

95 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AudioNoise Web


πŸŽ›οΈ AudioNoise Web
Real-time audio DSP in your browser

Professional-grade audio effects ported from torvalds/AudioNoise C algorithms

Features β€’ Quick Start β€’ DSP Engine β€’ Architecture β€’ Contributing β€’ Support

TypeScript React Web Audio API Tailwind CSS License


✨ The Vision

AudioNoise Web brings professional guitar pedal DSP effects to your browser. Process audio in real-time with sub-millisecond latency using algorithms ported from Linus Torvalds' AudioNoise C library.

"The main design goal has been to learn about digital audio processing basics. Just IIR filters and basic delay loops. Everything is single sample in, single sample out with no latency." β€” Linus Torvalds


πŸš€ Features

πŸŽ›οΈ AudioNoise DSP Engine

Real-time audio processing ported from C-based guitar pedal algorithms:

Effect Description
Echo Delay with feedback and LFO modulation
Flanger Classic modulated delay sweeping
Phaser 4-stage allpass cascade with LFO
Low Pass Warm tone shaping biquad filter
High Pass Clean up muddy frequencies
Band Pass Isolate frequency ranges
Notch Surgical frequency removal
All Pass Phase shifting without amplitude change

πŸ“Š Real-Time Visualization

  • Waveform β€” Time-domain audio visualization
  • Spectrum Analyzer β€” Frequency distribution bars
  • Spectrogram β€” Scrolling frequency/time heatmap

🎀 Multiple Input Sources

  • File Upload β€” Process any audio file (MP3, WAV, OGG)
  • Microphone β€” Live real-time processing
  • Bluetooth β€” Multi-channel instrument routing

πŸ€– Optional AI Effect Suggestions

  • Bring your own API key (OpenAI, Anthropic, Ollama, or custom)
  • Analyzes your audio in real-time
  • Recommends effects based on frequency profile
  • One-click effect application with optimized parameters

πŸƒ Quick Start

# Clone the repository
git clone https://github.com/yourusername/audionoise-web.git
cd audionoise-web

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:5000 in your browser.


πŸ”§ DSP Engine

The AudioNoise DSP Engine is a complete audio processing toolkit ported from C to TypeScript/Web Audio API.

Architecture

client/src/lib/dsp/
β”œβ”€β”€ audio-engine.ts      # Web Audio context management
β”œβ”€β”€ lfo.ts               # Low Frequency Oscillator
β”œβ”€β”€ biquad.ts            # IIR filter implementations
β”œβ”€β”€ delay-line.ts        # Circular buffer with interpolation
β”œβ”€β”€ effects/
β”‚   β”œβ”€β”€ echo.ts          # Delay-based echo
β”‚   β”œβ”€β”€ flanger.ts       # Modulated delay flanger
β”‚   └── phaser.ts        # Allpass cascade phaser
└── index.ts             # Module exports

Design Philosophy

Inspired by the original AudioNoise C library:

  • Zero Latency β€” Single sample in, single sample out
  • IIR Filters β€” Efficient recursive filtering
  • Real-Time Safe β€” No allocations in audio path
  • Analog Emulation β€” Digital recreation of classic circuits

Usage

import { audioEngine, createEchoNode, createPhaserNode } from '@/lib/dsp';

// Initialize engine
await audioEngine.initialize();

// Connect audio source
await audioEngine.connectMicrophone();

// Add effects
const echo = createEchoNode(audioEngine.audioContext, 300, 0.5, 0.5);
audioEngine.addEffect(echo.input);

// Get visualization data
const freqData = audioEngine.getFrequencyData();

πŸ—οΈ Architecture

audionoise-web/
β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ effects-rack.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ audio-visualizer.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ai-effect-suggester.tsx
β”‚   β”‚   β”‚   └── audio-input.tsx
β”‚   β”‚   β”œβ”€β”€ hooks/          # React hooks
β”‚   β”‚   β”‚   └── use-audio-dsp.ts
β”‚   β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”‚   └── dsp/        # AudioNoise DSP library
β”‚   β”‚   └── pages/
β”‚   β”‚       └── studio.tsx  # Main application
β”‚   └── index.html
β”œβ”€β”€ server/                 # Express backend
β”œβ”€β”€ reference/              # Original C algorithms
β”‚   └── audionoise-c/
└── shared/                 # Shared types

πŸ› οΈ Tech Stack

Layer Technology
Frontend React 18, TypeScript, Tailwind CSS
UI Components shadcn/ui, Radix Primitives
Audio Web Audio API, AudioWorklet
State React Query, Zustand
Backend Express, Node.js
Build Vite, ESBuild

🀝 Contributing

We love contributions! See our Contributing Guide for details.

Quick contribution ideas:

  • 🎸 Port more effects from AudioNoise (FM synthesis, AM synthesis, distortion)
  • πŸ“Š Add FFT frequency-domain analysis (see issue #37)
  • πŸŽ›οΈ Add granular synthesis controls (see issue #40)
  • πŸ§ͺ Add unit tests for DSP algorithms
  • πŸ“± Improve mobile responsiveness

πŸ’– Support the Project

If AudioNoise Web helps you process audio, consider supporting development:

Ethereum / EVM Chains

0x618d855C2F32f1C9343624111b8bEd20eEccdf53

Donate ETH

Your support helps us:

  • πŸš€ Port more effects from AudioNoise
  • πŸ”Š Add FFT visualization and analysis
  • πŸ“± Improve mobile experience
  • πŸ“š Create tutorials and documentation

πŸ“œ License

This project is licensed under the GNU General Public License v2 β€” see the LICENSE file for details.

This is free and open source software. You are free to use, modify, and distribute this software under the terms of the GPL v2.


πŸ™ Acknowledgments

  • AudioNoise β€” Original C DSP algorithms for guitar pedals
  • DaisySP β€” Inspiration for flanger implementation
  • Web Audio API β€” Making browser audio processing possible
  • shadcn/ui β€” Beautiful component primitives

Built with πŸ’œ for audio enthusiasts

AudioNoise Web β€” Real-time DSP in your browser

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 90.4%
  • JavaScript 4.3%
  • C 2.8%
  • Python 1.3%
  • CSS 0.6%
  • HTML 0.4%
  • Dockerfile 0.2%