Git Product home page Git Product logo

zzfx's Introduction

Frank Force, also known as KilledByAPixel, is a game developer and generative artist with over 20 years of experience. He is known for creating digital art with extremely tiny programs and has released over a thousand pieces so far. This study has led to other larger projects like the mind bending “Dual Axis Illusion” which won Optical Illusion of the Year 2019. He also maintains a suite of open source tools for creating art, games, and music such as the LittleJS game engine and ZzFX mini sound synth. When not programming, he enjoys cooking, playing guitar, gardening, learning Italian, and working on his house.

zzfx's People

Contributors

dy avatar killedbyapixel avatar mvasilkov avatar thejustinwalsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zzfx's Issues

Spectrogram

Thanks for the great library.
Very smart approach to sfx, can be used to describe many basic sounds.
Just a suggestion - is there a sense to add spectrogram to the preview?
I was going to replicate some drum sounds in zzfx, spectrogram is missing...

npm package

Hello mate,

What do you think about distributing this awesome tool as a npm package?

Thanks for your help!

Sort parameters by estimated frequency

I noticed that in the sounds I used for my game there were a number of parameters that are generally undefined, like randomness, pitchJumpTime, repeatTime... however the last two, tremolo and decay are always used, so it's not possible shorten the arrays to take advantage of the defaults.

Perhaps it would be useful to tweak the parameter order for some byte size gains?

Use `Math.sign` instead of own implementation

Noticed that both ZzFX and ZzFXMicro implement a sign function. In the context where this is used, it can be replaced with Math.sign, which has fairly good browser support.

Happy to provide a PR.

Multiple effects in a single run

Trying to recreate some real sounds with zzfx I found out it may be helpful to run multiple zzfx simultaneously.
I started thinking would that be something possible/desirable?
I can envision simple API expansion as ZZFX.PlaySamples(ZZFX.BuildSamples(...a), ZZFX.BuildSamples(...b))

(btw: what's the reasoning for naming methods with cap letter? Usually that convention in JS is for classes)

Custom modulation function

Right now half-cosine is used for modulation, eg.

zzfx.play(...[,0,1925,,2.4,0,,,,,,,,,2,,,.5])

produces the following spectrogram:
image

Would be nice to have another modulation types, eg. sin:
image
saw:
image
tri:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.