{"author_link":"\/users\/killedbyapixel","author_name":"KilledByAPixel","author_uid":"killedbyapixel","comments":[],"epoch":1566667620,"event":"LD44","format":"md","ldjam_node_id":159331,"likes":12,"metadata":{"p_key":"133172","p_author":"KilledByAPixel","p_authorkey":"1003657","p_urlkey":"349366","p_title":"Major update to ZzFX - Zuper Zmall Zeeded Zound Zynth","p_cat":"LDJam ","p_event":"LD44","p_time":"1566667620","p_likes":"12","p_comments":"0","p_status":"WAYBACK","us_key":"1003657","us_name":"KilledByAPixel","us_username":"killedbyapixel","event_start":"1556236800","event_key":"75","event_name":"LD 44"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD44","removed_author":false},"_superparent":139254,"_trust":1,"author":3657,"body":"Howdy everyone, I've just finished up a massive rewrite of zzfx. \n\n# http:\/\/zzfx.3d2k.com\n# https:\/\/github.com\/KilledByAPixel\/ZzFX\n\nThis is a JavaScript sound effect generator similar to bfxr but a little simpler. The really cool part if you use this, you don't need to mess with wave files at all. Just a play seeded sounds with a simple function call like, ZZFX.z(6)!\n\nThe browser has had a major upgrade also and is much more user friendly. There options to lock, reset and mutate parameters. You can even save out the sound as a wave file!\n\nZzFX Features\n\n- Tiny synth engine with 9 controllable parameters.\n- Small code footprint for full version and the micro version is under 500 bytes!\n- Can produce a wide variety of sound effect types.\n- Seeded sounds can be played with a tiny function call, ex: ZZFX.z(6)\n- Seeded sound paramerters can be overridden, ex: ZZFX.z(26,{frequency:600})\n- Random number generator ZZFX.R can be used in place of Math.random().\n- Use ZZFX.M to make music notes, ex: ZZFX.m(440, 7) \/\/ 7 semitons above 440hz (A4)\n\nZzFX UI Features\n\n- Generate random sounds from seed.\n- Stores sounds in list with local storage persistence.\n- Parameters can be modified for more control.\n- Lock, reset and mutate buttons for each parameter.\n- Displays image of sound wave when played.\n- Sounds can be download as a wave file.\n- Mark sounds as favorites to keep them from being cleared.\n- List of sounds can be exported and imported.\n\n**Here's the latest version of the ZzFXmicro JavaScript code you can use directly!**\n\n```\n\/\/ ZzFXmicro - Zuper Zmall Zound Zynth - MIT License - Copyright 2019 Frank Force\nzzfx_v=.5;zzfx_x=new AudioContext;zzfx=(e,f,a,b=1,d=.1,g=0,h=0,k=0,l=0)=>{let S=44100,P=Math.PI;a*=2*P\/S;a*=1+f*(2*Math.random()-1);g*=1E3*P\/(S**2);b=0<b?S*(10<b?10:b)|0:1;d*=b|0;k*=2*P\/S;l*=P;f=[];for(var m=0,n=0,c=0;c<b;++c)f[c]=e*zzfx_v*Math.cos(m*a*Math.cos(n*k+l))*(c<d?c\/d:1-(c-d)\/(b-d)),m+=1+h*(2*Math.random()-1),n+=1+h*(2*Math.random()-1),a+=g;e=zzfx_x.createBuffer(1,b,S);a=zzfx_x.createBufferSource();e.getChannelData(0).set(f);a.buffer=e;a.connect(zzfx_x.destination);a.start();return a}\n```\n\n![screen.png](\/\/\/raw\/94e\/z\/2518e.png)","comments":0,"created":"2019-08-24T17:19:54Z","files":[],"files-timestamp":0,"id":159331,"love":12,"love-timestamp":"2019-08-31T16:53:50Z","meta":[],"modified":"2019-08-31T16:53:50Z","name":"Major update to ZzFX - Zuper Zmall Zeeded Zound Zynth","node-timestamp":"2019-08-25T18:13:11Z","parent":145205,"parents":[1,5,9,139254,145205],"path":"\/events\/ludum-dare\/44\/currency-wars\/major-update-to-zzfx-zuper-zmall-zeeded-zound-zynth","published":"2019-08-24T17:27:00Z","scope":"public","slug":"major-update-to-zzfx-zuper-zmall-zeeded-zound-zynth","subsubtype":"","subtype":"","type":"post","version":479320},"node_metadata":{"n_key":"159331","n_urlkey":"349366","n_parent":"145205","n_path":"\/events\/ludum-dare\/44\/currency-wars\/major-update-to-zzfx-zuper-zmall-zeeded-zound-zynth","n_slug":"major-update-to-zzfx-zuper-zmall","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"3657","n_created":"1566667194","n_modified":"1567270430","n_version":"479320","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/44\/currency-wars\/major-update-to-zzfx-zuper-zmall-zeeded-zound-zynth","text":"Howdy everyone, I've just finished up a massive rewrite of zzfx. \n\n# http:\/\/zzfx.3d2k.com\n# https:\/\/github.com\/KilledByAPixel\/ZzFX\n\nThis is a JavaScript sound effect generator similar to bfxr but a little simpler. The really cool part if you use this, you don't need to mess with wave files at all. Just a play seeded sounds with a simple function call like, ZZFX.z(6)!\n\nThe browser has had a major upgrade also and is much more user friendly. There options to lock, reset and mutate parameters. You can even save out the sound as a wave file!\n\nZzFX Features\n\n- Tiny synth engine with 9 controllable parameters.\n- Small code footprint for full version and the micro version is under 500 bytes!\n- Can produce a wide variety of sound effect types.\n- Seeded sounds can be played with a tiny function call, ex: ZZFX.z(6)\n- Seeded sound paramerters can be overridden, ex: ZZFX.z(26,{frequency:600})\n- Random number generator ZZFX.R can be used in place of Math.random().\n- Use ZZFX.M to make music notes, ex: ZZFX.m(440, 7) \/\/ 7 semitons above 440hz (A4)\n\nZzFX UI Features\n\n- Generate random sounds from seed.\n- Stores sounds in list with local storage persistence.\n- Parameters can be modified for more control.\n- Lock, reset and mutate buttons for each parameter.\n- Displays image of sound wave when played.\n- Sounds can be download as a wave file.\n- Mark sounds as favorites to keep them from being cleared.\n- List of sounds can be exported and imported.\n\n**Here's the latest version of the ZzFXmicro JavaScript code you can use directly!**\n\n```\n\/\/ ZzFXmicro - Zuper Zmall Zound Zynth - MIT License - Copyright 2019 Frank Force\nzzfx_v=.5;zzfx_x=new AudioContext;zzfx=(e,f,a,b=1,d=.1,g=0,h=0,k=0,l=0)=>{let S=44100,P=Math.PI;a*=2*P\/S;a*=1+f*(2*Math.random()-1);g*=1E3*P\/(S**2);b=0<b?S*(10<b?10:b)|0:1;d*=b|0;k*=2*P\/S;l*=P;f=[];for(var m=0,n=0,c=0;c<b;++c)f[c]=e*zzfx_v*Math.cos(m*a*Math.cos(n*k+l))*(c<d?c\/d:1-(c-d)\/(b-d)),m+=1+h*(2*Math.random()-1),n+=1+h*(2*Math.random()-1),a+=g;e=zzfx_x.createBuffer(1,b,S);a=zzfx_x.createBufferSource();e.getChannelData(0).set(f);a.buffer=e;a.connect(zzfx_x.destination);a.start();return a}\n```\n\n![screen.png](\/\/\/raw\/94e\/z\/2518e.png)","title":"Major update to ZzFX - Zuper Zmall Zeeded Zound Zynth","wayback_source":[]}