{"id":425,"date":"2025-07-09T16:17:02","date_gmt":"2025-07-09T06:17:02","guid":{"rendered":"https:\/\/nonlinearexperience.com\/?p=425"},"modified":"2025-11-06T15:42:04","modified_gmt":"2025-11-06T05:42:04","slug":"audio","status":"publish","type":"post","link":"https:\/\/nonlinearexperience.com\/index.php\/2025\/07\/09\/audio\/","title":{"rendered":"Audio"},"content":{"rendered":"<h1 class=\"wp-block-post-title\">Audio<\/h1>\n\n\n<p class=\"wp-block-paragraph\">See also:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">System:<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>I cannot stress this enough. When dealing with your audio signal&nbsp;<strong>ALWAYS<\/strong>&nbsp;use gain nodes and never set them above 1.0.&nbsp;<strong>ALWAYS<\/strong>.&nbsp;<em>Forever<\/em>.&nbsp;<\/p><cite><a href=\"https:\/\/sonoport.github.io\/audio-params.html\">https:\/\/sonoport.github.io\/audio-params.html<\/a><\/cite><\/blockquote><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Want to use it for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>beat maker\/sharer<\/li>\n\n\n\n<li>music player<\/li>\n\n\n\n<li>sfx<\/li>\n\n\n\n<li>atmosphere, environmental and bg sounds etc.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">MOD player &#8211; play tracks &#8211; create own playlist &#8211; create own tracks &#8211; isers can add way points in map to trigger track\/add to play list<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/atornblad.se\/javascript-mod-player\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Background info<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/sonoport.github.io\/audio-params.html\">https:\/\/sonoport.github.io\/audio-params.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.soundonsound.com\/series\/synth-secrets-sound-sound\">https:\/\/www.soundonsound.com\/series\/synth-secrets-sound-sound<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-pro-audio-files wp-block-embed-pro-audio-files\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"F1ngbJljue\"><a href=\"https:\/\/theproaudiofiles.com\/sound-synthesis-basics\/\">The Basics of Sound Synthesis<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;The Basics of Sound Synthesis&#8221; &#8212; Pro Audio Files\" src=\"https:\/\/theproaudiofiles.com\/sound-synthesis-basics\/embed\/#?secret=KohEMF4f8h#?secret=F1ngbJljue\" data-secret=\"F1ngbJljue\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Synthesised webAudio Drums<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kick\/Bass Drum<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are some clues here:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Designing a simple analog kick drum from scratch\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/yz37Yz315eU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">think of it as a flowchart of nodes&#8230;<\/p>\n\n\n\n<div class=\"wp-block-merpress-mermaidjs diagram-source-mermaid\"><pre class=\"mermaid\">flowchart LR\n    id1(\"VCO \u238d \u223f\") --> id2(\" \u2764 \")<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Roland used a Bridge-T Oscillator &#8211; makes a sine wave&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.soundonsound.com\/techniques\/synthesizing-drums-bass-drum\">https:\/\/www.soundonsound.com\/techniques\/synthesizing-drums-bass-drum<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.soundonsound.com\/techniques\/practical-bass-drum-synthesis\">https:\/\/www.soundonsound.com\/techniques\/practical-bass-drum-synthesis<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Web Audio API Tutorial - Build a Synthesizer and Frequency Analyser using Javascript&#039;s Web Audio API\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/p0Fv9CX1FGc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">limitations of &lt;audio&gt; tag<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>latency<\/li>\n\n\n\n<li>limited # of sounds at once<\/li>\n\n\n\n<li>no real time effect<\/li>\n\n\n\n<li>no synthesis<\/li>\n\n\n\n<li>no analysis<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Web Audio API does all that and more&#8230; and its NATIVE:) Just make an audio context&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">think of it as a flowchart of nodes&#8230;<\/p>\n\n\n\n<div class=\"wp-block-merpress-mermaidjs diagram-source-mermaid\"><pre class=\"mermaid\">flowchart LR\n    id1(Source - OscillatorNode) --> id2(Destination - Speakers)<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"wp-block-merpress-mermaidjs diagram-source-mermaid\"><pre class=\"mermaid\">flowchart LR\n    id1(Source - OscillatorNode) --> id2(Destination - Speakers)<\/pre><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Chris Lowis: A Brief History of Synthesis with the Web Audio API\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/d8TCq0xLnV4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"With the Web Audio API, build a drum machine &amp; synth\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/NcU8OkhXbz4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bassoontracker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Probably WAY overkill for what I am envisaging &#8211; but proves the point of what can be done. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.stef.be\/bassoontracker\">https:\/\/www.stef.be\/bassoontracker<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"BassoonTracker v0.5 is out!\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/HXjLleDDY-g?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">modArchive<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resources<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reiss, J. (2022). <em>Working with the Web Audio API<\/em> (1st ed.). Focal Press. <a href=\"https:\/\/doi.org\/10.4324\/9781003221937\">https:\/\/doi.org\/10.4324\/9781003221937<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Turner, W., &amp; Leonard, S. (2017). <em>JavaScript for Sound Artists<\/em> (0 ed.). Routledge. <a href=\"https:\/\/doi.org\/10.1201\/9781315659732\">https:\/\/doi.org\/10.1201\/9781315659732<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webdesign.tutsplus.com\/build-a-custom-html-music-player-using-javascript-and-the-web-audio-api--cms-93300t\">https:\/\/webdesign.tutsplus.com\/build-a-custom-html-music-player-using-javascript-and-the-web-audio-api&#8211;cms-93300t<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.slingacademy.com\/article\/build-interactive-music-tools-via-the-web-audio-api-in-javascript\">https:\/\/www.slingacademy.com\/article\/build-interactive-music-tools-via-the-web-audio-api-in-javascript<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/gabrielyshay.medium.com\/creating-a-web-drum-machine-e24843e4392a\">https:\/\/gabrielyshay.medium.com\/creating-a-web-drum-machine-e24843e4392a<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br \/><a href=\"https:\/\/webaudioapi.com\/book\/Web_Audio_API_Boris_Smus_html\/ch01.html\">https:\/\/webaudioapi.com\/book\/Web_Audio_API_Boris_Smus_html\/ch01.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/medium.com\/samsung-internet-dev\/web-audio-api-cool-stuff-that-you-didnt-know-that-you-can-do-with-the-web-2-b4815c575df0\">https:\/\/medium.com\/samsung-internet-dev\/web-audio-api-cool-stuff-that-you-didnt-know-that-you-can-do-with-the-web-2-b4815c575df0<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.toptal.com\/web\/web-audio-api-tutorial\">https:\/\/www.toptal.com\/web\/web-audio-api-tutorial<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Web_Audio_API\">https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Web_Audio_API<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/web.dev\/webaudio-intro\">https:\/\/web.dev\/webaudio-intro<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/tonejs.github.io\">https:\/\/tonejs.github.io<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>See also: System: I cannot stress this enough. When dealing with your audio signal&nbsp;ALWAYS&nbsp;use gain nodes and never set them above 1.0.&nbsp;ALWAYS.&nbsp;Forever.&nbsp; https:\/\/sonoport.github.io\/audio-params.html Want to use it for: MOD player &#8211; play tracks &#8211; create own playlist &#8211; create own tracks &#8211; isers can add way points in map to trigger track\/add to play list [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"wp-custom-template-nlx-the-knowledge-page","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-425","post","type-post","status-publish","format-standard","hentry","category-the-knowledge"],"_links":{"self":[{"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/posts\/425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/comments?post=425"}],"version-history":[{"count":10,"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/posts\/425\/revisions"}],"predecessor-version":[{"id":1005,"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/posts\/425\/revisions\/1005"}],"wp:attachment":[{"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/media?parent=425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/categories?post=425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nonlinearexperience.com\/index.php\/wp-json\/wp\/v2\/tags?post=425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}