All Projects → Korilakkuma → Xsound

Korilakkuma / Xsound

Licence: mit
Web Audio API Library for Synthesizer, Effects, Visualization, Multi-Track Recording, Audio Streaming, Visual Audio Sprite ...

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Xsound

Taro
A lightweight 3D game engine for the web.
Stars: ✭ 345 (+180.49%)
Mutual labels:  svg, webaudio, canvas
Three.js
JavaScript 3D Library.
Stars: ✭ 78,237 (+63507.32%)
Mutual labels:  svg, webaudio, canvas
Instacam
Instant canvas video
Stars: ✭ 106 (-13.82%)
Mutual labels:  audio, webrtc, canvas
Beet.js
Polyrhythmic Sequencer library for Web Audio API.
Stars: ✭ 87 (-29.27%)
Mutual labels:  audio, music, webaudio
Waveform Playlist
Multitrack Web Audio editor and player with canvas waveform preview. Set cues, fades and shift multiple tracks in time. Record audio tracks or provide audio annotations. Export your mix to AudioBuffer or WAV! Project inspired by Audacity.
Stars: ✭ 919 (+647.15%)
Mutual labels:  audio, music, webaudio
Audio Visualizer Android
🎵 [Android Library] A light-weight and easy-to-use Audio Visualizer for Android.
Stars: ✭ 581 (+372.36%)
Mutual labels:  audio, music, canvas
Alien.js
Future web pattern
Stars: ✭ 141 (+14.63%)
Mutual labels:  svg, webaudio, canvas
Daw
GridSound (0.33.0) wants to be an open source online digital audio workstation following the new WebAudio API 🎛🎹🎵✨
Stars: ✭ 804 (+553.66%)
Mutual labels:  audio, music, webaudio
Jssynth
Make music in your browser with this synthesizer and sequencer
Stars: ✭ 25 (-79.67%)
Mutual labels:  audio, music, webaudio
React Cassette Player
Simple ReactJS HTML5 audio player component built with SVG icons from The Noun Project.
Stars: ✭ 93 (-24.39%)
Mutual labels:  audio, music, svg
Rabbit Lyrics
JavaScript audio and timed lyrics synchronizer.
Stars: ✭ 107 (-13.01%)
Mutual labels:  audio, music
Anime
JavaScript animation engine
Stars: ✭ 41,064 (+33285.37%)
Mutual labels:  svg, canvas
Spotspot
A Spotify mini-player for macOS
Stars: ✭ 110 (-10.57%)
Mutual labels:  audio, music
Smusic
html5音乐列表播放器
Stars: ✭ 106 (-13.82%)
Mutual labels:  audio, music
Echarts
Apache ECharts is a powerful, interactive charting and data visualization library for browser
Stars: ✭ 49,119 (+39834.15%)
Mutual labels:  svg, canvas
Reimg
reimg - A javascript library for converting image formats
Stars: ✭ 106 (-13.82%)
Mutual labels:  svg, canvas
Simple Sdl2 Audio
A simple SDL2 audio library without SDL_Mixer for playing music and multiple sounds natively in SDL2
Stars: ✭ 111 (-9.76%)
Mutual labels:  audio, music
Skqw
JavaScript Audio Visualizer
Stars: ✭ 112 (-8.94%)
Mutual labels:  audio, canvas
D3 Audio Spectrum
Spectrum analysis demo using D3 and HTML5 audio
Stars: ✭ 101 (-17.89%)
Mutual labels:  audio, music
Sbplayerclient
支持全格式的mac版视频播放器
Stars: ✭ 110 (-10.57%)
Mutual labels:  audio, music

XSound

Node.js CI node-current License: MIT npm David Dev jsDelivr

Web Audio API Library for Synthesizer, Effects, Visualization, Multi-Track Recording, Audio Streaming, Visual Audio Sprite ... etc

Overview

XSound is Multifunctional Library for Web Audio API.
In concrete, XSound may be useful to implement the following features.

  • Create Sound
  • Play the One-Shot Audio
  • Play the Audio
  • Play the Media
  • Streaming (by WebRTC)
  • MIDI (by Web MIDI API)
  • MML (Music Macro Language)
  • Effectors (Compressor / Wah / Equalizer / Tremolo / Phaser / Chorus / Delay / Reverb ... etc)
  • Visualization (Overview in Time Domain / Time Domain / Spectrum)
  • Multi-Track Recording (Create WAVE file)
  • Session (by WebSocket)
  • Audio Streaming
  • Visual Audio Sprite

XSound don't depend on other libraries or frameworks (For example, jQuery, React).

Supported Browsers

Supported Browsers

Getting Started

In the case of using as full stack (For example, use oscillator) ...

X('oscillator').setup(true).ready().start(440);

or, in the case of using as module base (For example, use chorus effector) ...

// The instance of `AudioContext`
const context = X.get();

// Create the instance of `Chorus` that is defined by XSound
// (The 2nd argument is buffer size for `ScriptProcessorNode`)
const chorus = new X.Chorus(context, 0);

const oscillator = context.createOscillator();

// The instance that is defined by XSound has connectors for input and output
oscillator.connect(chorus.INPUT);
chorus.OUTPUT.connect(context.destination);

// Set parameters for chorus
chorus.param({
  time : 0.025,
  depth: 0.5,
  rate : 2.5,
  mix  : 0.5
});

// Activate
chorus.state(true);

oscillator.start(0);

XSound enable to using the following classes (Refer to API Documentation for details).

type BufferSize = 0 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384;

// Effectors
X.Autopanner(context: AudioContext, size: BufferSize);
X.Chorus(context: AudioContext, size: BufferSize);
X.Compressor(context: AudioContext, size: BufferSize);
X.Delay(context: AudioContext, size: BufferSize);
X.Distortion(context: AudioContext, size: BufferSize);
X.Equalizer(context: AudioContext, size: BufferSize);
X.Filter(context: AudioContext, size: BufferSize);
X.Flanger(context: AudioContext, size: BufferSize);
X.Listener(context: AudioContext, size: BufferSize);
X.Panner(context: AudioContext, size: BufferSize);
X.Phaser(context: AudioContext, size: BufferSize);
X.PitchShifter(context: AudioContext, size: BufferSize);
X.Reverb(context: AudioContext, size: BufferSize);
X.Ringmodulator(context: AudioContext, size: BufferSize);
X.Stereo(context: AudioContext, size, size: BufferSize);
X.Tremolo(context: AudioContext, size: BufferSize);
X.Wah(context: AudioContext, size: BufferSize);

X.Analyser(context: AudioContext);

X.Recorder(context: AudioContext, size: BufferSize, numberOfInputs: number, numberOfOutputs: number);

X.Session(context: AudioContext, size: BufferSize, numberOfInputs: number, numberOfOutputs, analyser: X.Analyser);

Demo

The application that uses XSound is in the following URLs.

Now, I'm creating website for Web Audio API. Please refer to the following site for understanding API Documentation.

Playground

You can view overview on YouTube.

Playground

Installation

$ npm install --save xsound

Usage

In the case of using CDN,

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/build/xsound.min.js"></script>

In the case of using ESModules for SSR ... etc,

import { XSound, X } from 'xsound';

Setup

Use Webpack Dev Server

$ git clone [email protected]:Korilakkuma/XSound.git
$ cd XSound
$ npm install
$ npm run dev
$ open http://localhost:8080/playground/

Use Docker

$ git clone [email protected]:Korilakkuma/XSound.git
$ cd XSound
$ npm install
$ npm run watch
$ docker-compose up -d --build
$ open http://localhost:8080/playground/

API Documentation

Pickups

License

Released under the MIT license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].