All Projects → loov → Jsfx

loov / Jsfx

Licence: mit
Javascript Sound Effect Generator

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Jsfx

Godot Mixing Desk
A complete audio solution for Godot 3.2.x, making procedural sound and adaptive/procedural music possible with a few nodes and a couple lines of code.
Stars: ✭ 240 (-56.6%)
Mutual labels:  game-development, sound
Dmitrysengine
[abandoned] C99 cross-platform 3D game engine with absolute minimum of external dependencies
Stars: ✭ 119 (-78.48%)
Mutual labels:  game-development, sound
Soloud
Free, easy, portable audio engine for games
Stars: ✭ 1,048 (+89.51%)
Mutual labels:  game-development, sound
Zzfx
A Tiny Sound FX System / Zuper Zmall Zound Zynth
Stars: ✭ 279 (-49.55%)
Mutual labels:  game-development, sound
Swift Video Generator
Stars: ✭ 517 (-6.51%)
Mutual labels:  sound
Zep
Zep - An embeddable editor, with optional support for using vim keystrokes.
Stars: ✭ 477 (-13.74%)
Mutual labels:  game-development
Etlegacy Deprecated
Archived repository. For current repo, see: https://github.com/etlegacy/etlegacy
Stars: ✭ 470 (-15.01%)
Mutual labels:  game-development
Ultraviolet
The Ultraviolet Framework is a .NET game development framework written in C#.
Stars: ✭ 466 (-15.73%)
Mutual labels:  game-development
Easyai
Python artificial intelligence framework for games
Stars: ✭ 543 (-1.81%)
Mutual labels:  game-development
Texturepanner
This repository hosts a shader for Unity3D whose main goal is to facilitate the creation of neon-like signs, conveyor belts and basically whatever based on scrolling textures
Stars: ✭ 528 (-4.52%)
Mutual labels:  game-development
Lollipopgo
稳定分支2.9.X 版本已更新,由【Golang语言游戏服务器】维护,全球服游戏服务器及区域服框架,目前协议支持websocket、http、KCP、TCP及RPC,采用状态同步(帧同步内测),愿景:打造MMO多人竞技游戏框架! 功能持续更新中... ...
Stars: ✭ 500 (-9.58%)
Mutual labels:  game-development
Legend Wings
iOS Swift Game - Push SpriteKit to the limit
Stars: ✭ 481 (-13.02%)
Mutual labels:  game-development
Handmade Math
A simple math library for games and computer graphics. Compatible with both C and C++.
Stars: ✭ 517 (-6.51%)
Mutual labels:  game-development
Unityvisualizations
Collection of shaders and visual effects created for Unity 3D.
Stars: ✭ 472 (-14.65%)
Mutual labels:  game-development
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (-3.44%)
Mutual labels:  game-development
Fheroes2
Free implementation of Heroes of Might and Magic II game engine
Stars: ✭ 471 (-14.83%)
Mutual labels:  game-development
Tetra
🎮 A simple 2D game framework written in Rust
Stars: ✭ 492 (-11.03%)
Mutual labels:  game-development
Hedera
paint 3D ivy in the Unity Editor, watch procedurally generated meshes simulate growth and clinging in real-time
Stars: ✭ 526 (-4.88%)
Mutual labels:  game-development
Engine Native
Native engine for Cocos Creator
Stars: ✭ 488 (-11.75%)
Mutual labels:  game-development
Godot Steering Ai Framework
A complete framework for Godot to create beautiful and complex AI motion. Works both in 2D and in 3D.
Stars: ✭ 482 (-12.84%)
Mutual labels:  game-development

This is a JavaScript library for sound effect generation and is supported on most current browsers.

Generation speed is approximately 1s audio = 10ms processing. Of course that value can vary a lot, depending on the settings or browser that you use.

How to use it?

Open index.html - this helps to pick out your samples.

Try clicking the presets and tweaking all the options. Once you are satisified with your result click add button at top-right.

Enter a name for the sound e.g. "select", repeat that as many times as you like. Tip: You can save your settings by making a bookmark of the page.

At the bottom of the page there is a Library section. There you can relisten or remove sounds that you do not like.

Once you are satisfied with your selection copy the JSON description (it's inside the input box).

It will look something like:

{"select":{"Volume":{"Sustain":0.1,"Decay":0.15,"Punch":0.55}}}

To use that library, you need to include jsfx.js in your code and use jsfx.Sounds(libarry) to initialize it. For example:

<script src="jsfx.js"></script>
<script>
var library = {
	"select": {"Volume":{"Sustain":0.1,"Decay":0.15,"Punch":0.55}},
	"long": {"Volume":{"Sustain":0.1,"Decay":0.5,"Punch":1}}
};
var sfx = jsfx.Sounds(library);
</script>
<button onclick="sfx.select()">Select</button>
<button onclick="sfx.long()">Long</button>

Note that it will load with a delay to avoid blocking the page load for too long, so calling those function immediately may result in silence.

Using with AudioContext (experimental)

You can use AudioContext to procedurally generate the sounds, for example:

<script src="jsfx.js"></script>
<script>
var library = {
	"static": {"Volume":{"Sustain":0.1,"Decay":0.15,"Punch":0.55}},
	"dynamic": function(){
		return {"Frequency": { "Start": Math.random()*440 + 220 }};
	},
	"coin": jsfx.Preset.Coin
};
var sfx = jsfx.Live(library);
</script>
<button onclick="sfx.static()">Static</button>
<button onclick="sfx.dynamic()">Dynamic</button>
<button onclick="sfx.coin()">Coin</button>

Few notes...

It's recommended to copy the jsfx.js to your own project instead of automatically downloading the latest version. Since every slight adjustment to the audio generation code can affect the resulting audio significantly.

The stable API is what is described in the README, everything else is subject to change.

Thanks to

This project was inspired by sfxr and was used as a reference for some algorithms and modes.

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].