{"id":642,"date":"2021-08-09T10:22:00","date_gmt":"2021-08-09T01:22:00","guid":{"rendered":"https:\/\/osora.work\/blog\/?p=642"},"modified":"2021-08-16T02:31:19","modified_gmt":"2021-08-15T17:31:19","slug":"web-audio-api%e3%80%80%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6chrome%e6%8b%a1%e5%bc%b5%e6%a9%9f%e8%83%bd%e3%82%92%e3%81%a4%e3%81%8f%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f","status":"publish","type":"post","link":"https:\/\/osora.ne0n.xyz\/blog\/642","title":{"rendered":"Web audio API\u3000\u3092\u4f7f\u3063\u3066Chrome\u62e1\u5f35\u6a5f\u80fd\u3092\u3064\u304f\u3063\u3066\u307f\u305f"},"content":{"rendered":"\n<p>\u7a81\u7136\u3067\u3059\u304c\u3001\u3042\u306a\u305f\u306f\u306b\u3058\u3055\u3093\u3058\u306e\u65b0\u4eba(2021\u590f\u6642\u70b9)\u30e9\u30a4\u30d0\u30fc\u306e\u300c\u30ec\u30aa\u30b9\u30fb\u30f4\u30a3\u30f3\u30bb\u30f3\u30c8\u300d\u3092\u3054\u5b58\u3058\u3067\u3057\u3087\u3046\u304b\uff1f<br>\u5f7c\u306e\u914d\u4fe1\u304c\u30af\u30c3\u30bd\u9762\u767d\u3044\u306e\u3067\u3001\u3082\u3063\u3068\u9762\u767d\u304f\u3057\u3088\u3046\u3068\u601d\u3063\u3066Chrome\u62e1\u5f35\u6a5f\u80fd\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u305d\u306e\u540d\u3082\u300cLEOS_meter(\u30ec\u30aa\u30b9\u30e1\u30fc\u30bf\u30fc)\u300d\u3002<\/p>\n\n\n\n<p>\u203b\u540d\u3065\u3051\u306e\u30bb\u30f3\u30b9\u304c\u7121\u3044<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u52d5\u753b\u306e\u6700\u5927\u97f3\u91cf\u3068\u3044\u3046\u304b\u3001\u4eca\u4f55dB\u306e\u97f3\u304c\u51fa\u3066\u3044\u308b\u304b\u308f\u304b\u3063\u305f\u3089\u307e\u3042\u307e\u3042\u30cd\u30bf\u306b\u3067\u304d\u305d\u3046\u3058\u3083\u306a\u3044\u3067\u3059\u304b\u3002\u58f0\u304c\u30c7\u30ab\u3044\u4eba\u3068\u304b\u3002<\/p>\u2014 \u306f\u306b\u3043 (@37_HoneyBee_73) <a href=\"https:\/\/twitter.com\/37_HoneyBee_73\/status\/1422588809967849472?ref_src=twsrc%5Etfw\">August 3, 2021<\/a><\/blockquote> <script async=\"\" src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\">\u6982\u8981<\/h2>\n\n\n\n<p>\u300cLEOS_meter\u300d\u306fYouTube\u3067\u52d5\u753b\u3092\u958b\u3044\u305f\u3068\u304d\u306b\u3001\u52d5\u753b\u306e\u4e0a\u90e8\u306b\u300cWeb audio API\u300d\u3067\u53d6\u5f97\u3057\u305f\u97f3\u91cf(\u6b63\u3057\u304f\u306f\u97f3\u57df\u6bce\u306egain\u3092\u8db3\u3057\u305f\u6570\u5024)\u3092\u8868\u793a\u3059\u308b\u62e1\u5f35\u6a5f\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u753b\u9762\u306f\u3053\u3093\u306a\u611f\u3058\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/LEOS_1.png\" alt=\"\" class=\"wp-image-645\" width=\"588\" height=\"297\" srcset=\"https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/LEOS_1.png 1176w, https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/LEOS_1-800x403.png 800w, https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/LEOS_1-768x387.png 768w\" sizes=\"(max-width: 588px) 100vw, 588px\" \/><figcaption>kawaii<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/LEOS_2.png\" alt=\"\" class=\"wp-image-647\" width=\"583\" height=\"228\" srcset=\"https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/LEOS_2.png 1166w, https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/LEOS_2-800x313.png 800w, https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/LEOS_2-768x300.png 768w\" sizes=\"(max-width: 583px) 100vw, 583px\" \/><figcaption>\u6f84\u307e\u3057\u305f\u9854\u30671000Gain\u8d85\u3048\u308b\u30ec\u30aa\u30b9<\/figcaption><\/figure><\/div>\n\n\n\n<p>\u5de6\u5074\u306b\u30de\u30c3\u30c9\u30b5\u30a4\u30a8\u30f3\u30c6\u30a3\u30b9\u306e\u30ec\u30aa\u30b9\u306e\u7814\u7a76\u5bfe\u8c61\u3067\u3042\u308b\u300c\u307e\u3081\u306d\u3053\u300d\u3092\u8868\u793a\u3001\u53f3\u5074\u306b\u97f3\u91cf\u3092\u8868\u793a\u3057\u3066\u3044\u307e\u3059\u3002<br>(\u672c\u5f53\u306f\u3044\u3044\u611f\u3058\u306b\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3057\u3066dB\u3067\u8868\u793a\u3057\u305f\u304b\u3063\u305f)\u3002<\/p>\n\n\n\n<p>\u97f3\u304c\u6b62\u307e\u3063\u3066\u3044\u308b\u3068\u304d\u307e\u3081\u306d\u3053\u306f\u5bdd\u3066\u3044\u307e\u3059\u304c\u3001\u97f3\u304c\u51fa\u3066\u3044\u308b\u3068\u304d\u306f\u307e\u3081\u306d\u3053\u306e\u300c\u307e\u3081\u300d\u306e\u90e8\u5206(\uff1f)\u304c\u52d5\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u30ec\u30aa\u30b9\u304c\u5927\u304d\u3044\u58f0\u3092\u51fa\u3059\u3068\u53cc\u8449\u304c\u30d6\u30f3\u30d6\u30f3\u3057\u307e\u3059<\/strong>\u3002\uff08\u3053\u308c\u304c\u3084\u308a\u305f\u304b\u3063\u305f\uff09<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4f7f\u3044\u65b9<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/h4>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/drive\/folders\/1Aw2rtqMLzo4aGhcSyTGxgcFXKfP03sXg?usp=sharing\" target=\"_blank\">\u30b3\u30fc\u30c9\u914d\u5e03\u7528<\/a> &#8211; Google\u30c9\u30e9\u30a4\u30d6<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/akahoshi-rs\/LEOS_meter\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/github.com\/akahoshi-rs\/LEOS_meter\">LEOS_meter<\/a> &#8211; GitHub<\/p>\n\n\n\n<p>\u304a\u597d\u304d\u306a\u65b9\u3092\u3069\u3046\u305e\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u62e1\u5f35\u6a5f\u80fd\u306e\u8aad\u307f\u8fbc\u307f<\/h4>\n\n\n\n<p>\u300cchrome:\/\/extensions\/\u300d\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3001\u53f3\u4e0a\u306e\u30c7\u30d9\u30ed\u30c3\u30d1\u30fc\u30e2\u30fc\u30c9\u3092\u30aa\u30f3\u3002 <\/p>\n\n\n\n<p>\u300c\u30d1\u30c3\u30b1\u30fc\u30b8\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u62e1\u5f35\u6a5f\u80fd\u3092\u8aad\u307f\u8fbc\u3080\u300d\u304b\u3089\u3001\u89e3\u51cd\u3057\u305fzip\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u3067\u4f7f\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u672c\u5f53\u306f\u30b9\u30c8\u30a2\u3067\u516c\u958b\u3057\u305f\u304b\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u4e8c\u6b21\u5275\u4f5c\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u7684\u306b\u3069\u3046\u306a\u3093\u3060\u308d\u3046\u3068\u304b\u3001\u30b9\u30c8\u30a2\u306e\u958b\u8a2d\u306b\u304a\u91d1\u304c\u304b\u304b\u308b\u3068\u304b\u3067\u8ae6\u3081\u307e\u3057\u305f\u3002<br>\u6c17\u306b\u5165\u3063\u305f\u3089\u62e1\u6563\u3057\u3066\u3044\u305f\u3060\u3051\u308b\u3068\u5b09\u3057\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5b9f\u88c5\u306b\u3064\u3044\u3066<\/h2>\n\n\n\n<p>\u305d\u3093\u306a\u5927\u5c64\u306a\u30b3\u30fc\u30c9\u3067\u3082\u306a\u3044\u306e\u3067\u5168\u6587\u516c\u958b\u3057\u307e\u3059\u3002<br>Web audio API \u306b\u6163\u308c\u308b\u306e\u306b3\u65e5\u304b\u304b\u308a\u307e\u3057\u305f\u3002\u5168\u7136\u7406\u89e3\u3067\u304d\u3093\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">manifest.json<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-json\" data-file=\"manifest.json\" data-lang=\"JSON\"><code>{\n  &quot;name&quot;: &quot;LEOS_meter&quot;,\n  &quot;version&quot;: &quot;1.0&quot;,\n  &quot;description&quot;: &quot;YouTube\u30aa\u30fc\u30c7\u30a3\u30aa\u306e\u518d\u751f\u4e2d\u306b\u97f3\u306e\u5927\u304d\u3055\u3092\u8868\u793a\u3057\u307e\u3059\u3002\/ Shows the loudness while playing YouTube audio.&quot;,\n  &quot;manifest_version&quot;: 2,\n  &quot;permissions&quot;: [\n    &quot;activeTab&quot;,\n    &quot;tabs&quot;\n  ],\n  &quot;content_scripts&quot;: [\n    {\n      &quot;matches&quot;: [\n        &quot;https:\/\/www.youtube.com\/*&quot;\n      ],\n      &quot;js&quot;: [\n        &quot;function.js&quot;\n      ]\n    }\n  ],\n  &quot;web_accessible_resources&quot;: [\n    &quot;images\/*.GIF&quot;\n  ]\n}<\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">function.js<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-file=\"function.js\" data-lang=\"JavaScript\"><code>&#39;use strict&#39;;\n\nfunction add_container() {\/\/youtube.com\u306eHTML\u306b\u8868\u793a\u9818\u57df\u3092\u8ffd\u52a0\n\tconst wrapper = document.getElementById(&#39;primary-inner&#39;);\n\tlet meter = document.createElement(&#39;div&#39;);\n\tmeter.id = &#39;LEOS_meter&#39;;\n\tmeter.style.boxSizing = &#39;border-box&#39;;\n\tmeter.style.width = &#39;100%&#39;;\n\tmeter.style.height = &#39;48px&#39;;\n\tmeter.style.padding = &#39;0 20px&#39;;\n\tmeter.style.backgroundColor = &#39;#000&#39;;\n\tmeter.style.border = &#39;1px solid #454545&#39;;\n\tmeter.style.display = &#39;flex&#39;;\n\tmeter.style.justifyContent = &#39;space-between&#39;;\n\tmeter.style.alignItems = &#39;center&#39;;\n\tlet animation_box = document.createElement(&#39;div&#39;);\n\tlet animation_gif = document.createElement(&#39;img&#39;);\n\tanimation_gif.id = &#39;LEOS_gif&#39;;\n\tanimation_gif.style.maxHeight = &#39;46px&#39;;\n\tanimation_gif.style.objectFit = &#39;contain&#39;;\n\tanimation_gif.setAttribute(&#39;sec&#39;, chrome.runtime.getURL(&#39;images\/mameneko.GIF&#39;));\n\/\/\u62e1\u5f35\u6a5f\u80fd\u306e\u30d5\u30a9\u30eb\u30c0\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066GIF\u3092\u53d6\u5f97\u2191\n\tanimation_box.appendChild(animation_gif);\n\tmeter.appendChild(animation_box);\n\tlet int_box = document.createElement(&#39;p&#39;);\n\tint_box.style.height = &#39;48px&#39;;\n\tint_box.style.display = &#39;flex&#39;;\n\tint_box.style.alignItems = &#39;flex-end&#39;;\n\tlet int = document.createElement(&#39;span&#39;);\n\tint.id = &#39;LEOS_int&#39;;\n\tint.style.color = &#39;#454545&#39;;\n\tint.style.fontSize = &#39;36px&#39;;\n\tlet unit = document.createElement(&#39;span&#39;);\n\tunit.style.color = &#39;#454545&#39;;\n\t\/\/ unit.textContent = &#39;dB&#39;;\n\tunit.textContent = &#39;Gain&#39;;\n\tunit.style.fontSize = &#39;20px&#39;;\n\tunit.style.paddingBottom = &#39;4px&#39;;\n\tint_box.appendChild(int); int_box.appendChild(unit);\n\tmeter.appendChild(int_box);\n\twrapper.insertBefore(meter, wrapper.firstChild);\n}\n\nfunction audio() {\n\tlet gif_ctrl = document.getElementById(&#39;LEOS_gif&#39;);\n\tlet int = document.getElementById(&#39;LEOS_int&#39;)\n\tconst audioElement = document.getElementsByClassName(&#39;html5-main-video&#39;)[0];\/\/video\u30bf\u30b0\u53d6\u5f97\n\tvar audioCtx = new AudioContext();\/\/\u30aa\u30fc\u30c7\u30a3\u30aa\u306e\u4f5c\u6210\n\tlet source = audioCtx.createMediaElementSource(audioElement);\/\/video\u30bf\u30b0\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u3092\u767b\u9332\n\tvar analyser = audioCtx.createAnalyser();\/\/\u30a2\u30ca\u30e9\u30a4\u30b6\u306e\u4f5c\u6210\n\n\tanalyser.fftSize = 32; \/\/\u97f3\u57df\u306e\u6570\n\tvar bufferLength = analyser.frequencyBinCount;\n\tvar dataArray = new Uint8Array(bufferLength);\n\tanalyser.getByteTimeDomainData(dataArray);\n\n\tvar bufferLength = analyser.frequencyBinCount;\n\n\t\/\/\u2193\u306e\u914d\u5217\u306b\u97f3\u57df\u3054\u3068\u306e\u5927\u304d\u3055\u304c\u5165\u308b\n\tvar dataArray = new Uint8Array(bufferLength);\n\/\/\u2193\u767b\u9332\u3057\u305f\u30aa\u30fc\u30c7\u30a3\u30aa\u3092\u30a2\u30ca\u30e9\u30a4\u30b6\u306b\u6d41\u3057\u3066\u304b\u3089\u3001\u30b9\u30d4\u30fc\u30ab\u30fc\u306b\u51fa\u529b\n\tsource.connect(analyser).connect(audioCtx.destination);\n\tgetAudio();\n\n\n\tfunction getAudio() {\n\t\trequestAnimationFrame(getAudio);\/\/\u30d5\u30ec\u30fc\u30e0\u6bce\u306b\u7e70\u308a\u8fd4\u3057\u547c\u3073\u51fa\u3057\n\t\tanalyser.getByteFrequencyData(dataArray);\n\t\t\/\/\u97f3\u57df\u306e\u7dcf\u548c\u3092\u5f97\u308b\n\t\tvar dNum = 0;\n\t\tfor (var i = 0; i &lt; dataArray.length; i++) {\n\t\t\tdNum += dataArray[i];\n\t\t}\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/dB\u306b\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3057\u3088\u3046\u3068\u3057\u305f\u6b8b\u9ab8\n\t\t\/\/ let inputY = (dNum \/ 100);\n\t\t\/\/ let xMax = 0;\n\t\t\/\/ let xMin = -30;\n\n\t\t\/\/ let yMax = 20;\n\t\t\/\/ let yMin = 0;\n\n\t\t\/\/ let percent = (inputY - yMin) \/ (yMax - yMin);\n\t\t\/\/ let outputX = percent * (xMax - xMin) + xMin;\n\n\t\t\/\/ int.textContent = Number.parseFloat(outputX).toFixed(2);\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\t\tint.textContent = ((Math.floor(dNum \/ 10).toFixed(1)) * 10);\/\/\u4e00\u306e\u4f4d\u304c\u52d5\u304d\u904e\u304e\u306a\u306e\u3067\u5207\u308a\u6368\u3066\n\n\t\tif (dNum == 0) {\/\/GIF\u306e\u30b9\u30a4\u30c3\u30c1\n\t\t\tif (!gif_ctrl.classList.contains(&#39;play&#39;)) {\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tgif_ctrl.setAttribute(&#39;class&#39;, &#39;&#39;);\n\t\t\t\tgif_ctrl.setAttribute(&#39;src&#39;, chrome.runtime.getURL(&#39;images\/mameneko.GIF&#39;));\n\t\t\t}\n\t\t} else if (dNum &lt;= 1000) {\n\t\t\tif (gif_ctrl.classList.contains(&#39;play&#39;)) {\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tgif_ctrl.setAttribute(&#39;class&#39;, &#39;&#39;);\n\t\t\t\tgif_ctrl.classList.add(&#39;play&#39;);\n\t\t\t\tgif_ctrl.setAttribute(&#39;src&#39;, chrome.runtime.getURL(&#39;images\/mameneko_play.GIF&#39;));\n\t\t\t}\n\t\t} else {\n\t\t\tif (gif_ctrl.classList.contains(&#39;fast&#39;)) {\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tgif_ctrl.setAttribute(&#39;class&#39;, &#39;&#39;);\n\t\t\t\tgif_ctrl.classList.add(&#39;fast&#39;);\n\t\t\t\tgif_ctrl.setAttribute(&#39;src&#39;, chrome.runtime.getURL(&#39;images\/mameneko_fast.GIF&#39;));\n\t\t\t}\n\t\t}\n\t}\n}\n\nwindow.addEventListener(&#39;load&#39;, () =&gt; {\n\tconsole.log(&#39;LEOS_meter is running.&#39;);\n\tsetTimeout(() =&gt; {\n\t\tadd_container(), audio()\n\t}, 500);\/\/youtube\u306escript\u30bf\u30b0\u5b9f\u884c\u306e\u305f\u30810.5\u79d2\u5f85\u3064\n})<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u9020<\/h4>\n\n\n\n<ul><li>LEOS_meter<ul><li>manifest.json<\/li><li>function.js<\/li><li>images<ul><li>mameneko.GIF<\/li><li>mameneko_play.GIF<\/li><li>mameneko_fast.GIF<\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">GIF\u30c7\u30fc\u30bf<\/h4>\n\n\n\n<p>\u2193\u307e\u3081\u306d\u3053\u306eGIF\u5358\u4f53\u306f\u3053\u3053\u304b\u3089DL\u3067\u304d\u307e\u3059\u3002<br><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/drive\/folders\/10bvtoXc6-fkR5R77aBqIby_NrHvmmwNB?usp=sharing\" target=\"_blank\">LEOS_meter_GIF<\/a> &#8211; GoogleDrive<\/p>\n\n\n\n<p><strong>LEOS_meter\u4ee5\u5916<\/strong>\u3067\u306e\u4f7f\u7528\u306e\u969b\u306f\u3001\u3053\u3053\u306e\u30b3\u30e1\u30f3\u30c8\u6b04\u304bTwitter\u306b\u3066<strong>\u5fc5\u305a<\/strong>\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002<br>\u203b<strong>\u6539\u5909\u30fb\u81ea\u4f5c\u767a\u8a00\u7981\u6b62<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u53c2\u8003\u30b5\u30a4\u30c8<\/h2>\n\n\n\n<p>\u3010\u30c9\u30c3\u30c8\u7d75\u5236\u4f5c\u3011<br><a rel=\"noreferrer noopener\" href=\"https:\/\/apps.apple.com\/jp\/app\/%E3%83%89%E3%83%83%E3%83%88%E7%B5%B5%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF-dottable\/id946923840\" target=\"_blank\">\u30c9\u30c3\u30c8\u7d75\u30a8\u30c7\u30a3\u30bf  &#8211; Dottable<\/a><br>\u591a\u6a5f\u80fd\u3067\u3068\u3066\u3082\u4f7f\u3044\u3084\u3059\u304b\u3063\u305f<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u3010\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3011<br><a rel=\"noreferrer noopener\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Web_Audio_API\" target=\"_blank\">Web Audio API<\/a><br>MDN\u306e\u30de\u30cb\u30e5\u30a2\u30eb<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/qiita.com\/hp0me\/items\/377b95514f677e0ab90d\" target=\"_blank\">Web Audio\u3067Youtube\u3001itunes\u4e0a\u306e\u66f2\u3092\u5143\u306b\u3001WebGL\uff08GLSL\u30b7\u30a7\u30fc\u30c0\u30fc\uff09\u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30d3\u30b8\u30e5\u30a2\u30e9\u30a4\u30ba<\/a><br>API\u306b\u3064\u3044\u3066<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/qiita.com\/luuguas\/items\/c6ae765de6e631d35109\" target=\"_blank\">Chrome\u306e\u62e1\u5f35\u6a5f\u80fd\u3092\u4f5c\u3063\u3066\u307f\u308b\u5099\u5fd8\u9332\u3002<\/a><br>\u62e1\u5f35\u6a5f\u80fd\u306e\u753b\u50cf\u306e\u8aad\u307f\u8fbc\u307f\u65b9\u306b\u3064\u3044\u3066<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/qiita.com\/hal1437\/items\/59d7a55124027d2ff492\" target=\"_blank\">Twitter\u304b\u3089\u300c\u3044\u3044\u306d\u300d\u3092\u6d88\u3057\u53bb\u308bChrome\u62e1\u5f35\u3092\u4f5c\u308b<\/a><br>JSON\u306e\u53c2\u8003\u7528<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.it-swarm-ja.com\/ja\/javascript\/2%E3%81%A4%E3%81%AE%E6%95%B0%E5%80%A4%E7%AF%84%E5%9B%B2%E9%96%93%E3%81%AE%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0\/1069858199\/\" target=\"_blank\">2\u3064\u306e\u6570\u5024\u7bc4\u56f2\u9593\u306e\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0<\/a><br>\u6570\u5024\u306e\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u306b\u3064\u3044\u3066<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/creatorways.com\/audio-levels-for-video\/\" target=\"_blank\">\u52d5\u753b\u306e\u9069\u5207\u306a\u97f3\u91cf\u306f\u3069\u308c\u304f\u3089\u3044\uff1f\u97f3\u58f0\u30fbBGM\u30fb\u52b9\u679c\u97f3\u306e\u97f3\u91cf\u8abf\u6574\u306e\u76ee\u5b89\u3092\u307e\u3068\u3081\u3066\u307f\u305f<\/a><br>\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u306e\u53c2\u8003\u7528<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.kueharx.com\/2021\/02\/chrome-extension-invalid-value-for.html\" target=\"_blank\">\u81ea\u4f5c\u306eChrome Extension\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u305f\u6642\u306b &#8220;Invalid value for &#8216;content_scripts[0].matches[0]&#8217;: Empty path.&#8221;\u3068\u3044\u3046\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u306e\u3067\u89e3\u6c7a\u3057\u305f<\/a><br>\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u306e\u3067<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"http:\/\/curtaincall.weblike.jp\/portfolio-web-sounder\/webaudioapi-basic\/audio\" target=\"_blank\">WEB SOUNDER<\/a><br>\u3059\u3054\u304f\u53e4\u3044\u30b5\u30a4\u30c8\u3060\u3051\u3069MDN\u3088\u308a\u308f\u304b\u308a\u3084\u3059\u304b\u3063\u305f<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u88dc\u8db3<\/h4>\n\n\n\n<p>video\u30bf\u30b0\u304b\u3089\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306baudio\u30c7\u30fc\u30bf\u3092\u53d6\u308b\u65b9\u6cd5\u304c\u691c\u7d22\u3057\u3066\u3082\u308f\u304b\u3089\u306a\u304f\u3066\u3001\u30b3\u30fc\u30c9\u3092\u3053\u306d\u3053\u306d\u3057\u3066\u3044\u305f\u3089\u5076\u7136\u6210\u529f\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u203b\u8ffd\u8a18\u3000R3\/8\/16<\/h2>\n\n\n\n<p>\u97f3\u91cf\u3092\u826f\u3044\u611f\u3058\u306b\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4ed8\u3051\u305fversion1.1\u3092GoogleDrive\u306b\u516c\u958b\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"503\" height=\"291\" src=\"https:\/\/osora.ne0n.xyz\/blog\/wp-content\/uploads\/2021\/08\/image.png\" alt=\"\" class=\"wp-image-662\"\/><\/figure><\/div>\n\n\n\n<p>LEOS_meter_v1.1\u3092\u8aad\u307f\u8fbc\u307f\u5f8c\u3001\u53f3\u30af\u30ea\u30c3\u30af\u3067\u30e1\u30cb\u30e5\u30fc\u304c\u51fa\u307e\u3059\u306e\u3067\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u304b\u3089\u8a2d\u5b9a\u3092\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002<br>\u203b\u521d\u56de\u8d77\u52d5\u6642\u306f\u307e\u3081\u306d\u3053\u3082\u97f3\u91cf\u8abf\u6574\u3082OFF\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9f\u88c5\u306b\u3064\u3044\u3066<\/h3>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/watch?v=6jJIJTxOOMs\" data-type=\"URL\" data-id=\"https:\/\/www.youtube.com\/watch?v=6jJIJTxOOMs\" target=\"_blank\">\u3010Among Us\u3011\u30a8\u30c7\u30f3\u7d44\u3001\u7591\u5fc3\u6697\u9b3c\u3002\u3010\u30ec\u30aa\u30b9\u30fb\u30f4\u30a3\u30f3\u30bb\u30f3\u30c8\/\u306b\u3058\u3055\u3093\u3058\u3011<\/a><br>\u3053\u3061\u3089\u306e\u52d5\u753b\u3092\u53c2\u8003\u306b\u3001\u4e3b\u306b1000gain\u3092\u8d85\u3048\u308b\u90e8\u5206\u3092\u524a\u308b\u611f\u3058\u3067\u5b9f\u88c5\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>(\u50d5\u306f\u97f3\u3067\u30d3\u30d3\u3089\u305b\u3066\u304f\u308b\u52d5\u753b\u306f\u5927\u5acc\u3044\u306a\u3093\u3067\u3059\u306d\u3047\uff5e\uff5e\uff5e)<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/normalize\n\t\tif (val_gain) {\n\t\t\tif (dNum &lt; 500) {\n\t\t\t\tvolume = 1.1;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t\tif (dNum &lt; 900) {\n\t\t\t\tvolume = 1;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t\tif (dNum &gt;= 1000) {\n\t\t\t\tvolume = 0.4;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t\tif (dNum &gt;= 1050) {\n\t\t\t\tvolume = 0.3;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t\tif (dNum &gt;= 1100) {\n\t\t\t\tvolume = 0.1;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t\tif (dNum &gt;= 1150) {\n\t\t\t\tvolume = 0.001;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t\tif (dNum &gt;= 1200) {\n\t\t\t\tvolume = 0.00001;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t\tif (dNum &gt;= 1300) {\n\t\t\t\tvolume = 0.000001;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t\tif (dNum &gt;= 1400) {\n\t\t\t\tvolume = 0.0000001;\n\t\t\t\tgainNode.gain.value = volume;\n\t\t\t}\n\t\t}<\/code><\/pre><\/div>\n\n\n\n<p>\u8ffd\u8a18\u90e8\u5206\u3053\u3093\u306a\u3093\u3067\u3059\u3002<br>\u7d76\u5bfe\u3082\u3063\u3068\u3044\u3044\u5b9f\u88c5\u304c\u3042\u308b\u306f\u305a\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u5b9f\u88c5\u306b\u306f\u96e3\u70b9\u304c\u3044\u304f\u3064\u304b\u3042\u308a\u307e\u3057\u3066\u3001<\/p>\n\n\n\n<ul><li>\u5225\u30bf\u30d6\u3067\u4f5c\u696d\u3057\u3066\u3044\u308b\u3068\u97f3\u91cf\u8abf\u6574\u304c\u52b9\u304b\u306a\u3044<\/li><li>gain\u3092\u96d1\u306b\u4e0b\u3052\u3066\u3044\u308b\u305f\u3081\u97f3\u304c\u30ac\u30bf\u30ac\u30bf\u3059\u308b<\/li><\/ul>\n\n\n\n<p>\u3068\u3044\u3063\u305f\u611f\u3058\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0a\u3001\u89e3\u6563\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7a81\u7136\u3067\u3059\u304c\u3001\u3042\u306a\u305f\u306f\u306b\u3058\u3055\u3093\u3058\u306e\u65b0\u4eba(2021\u590f\u6642\u70b9)\u30e9\u30a4\u30d0\u30fc\u306e\u300c\u30ec\u30aa\u30b9\u30fb\u30f4\u30a3\u30f3\u30bb\u30f3\u30c8\u300d\u3092\u3054\u5b58\u3058\u3067\u3057\u3087\u3046\u304b\uff1f\u5f7c\u306e\u914d\u4fe1\u304c\u30af\u30c3\u30bd\u9762\u767d\u3044\u306e\u3067\u3001\u3082\u3063\u3068\u9762\u767d\u304f\u3057\u3088\u3046\u3068\u601d\u3063\u3066Chrome\u62e1\u5f35\u6a5f\u80fd\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002 \u305d\u306e\u540d\u3082\u300cLEOS_m &#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[18,14,4],"tags":[],"_links":{"self":[{"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/posts\/642"}],"collection":[{"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/comments?post=642"}],"version-history":[{"count":7,"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/posts\/642\/revisions"}],"predecessor-version":[{"id":663,"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/posts\/642\/revisions\/663"}],"wp:attachment":[{"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/media?parent=642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/categories?post=642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/osora.ne0n.xyz\/blog\/wp-json\/wp\/v2\/tags?post=642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}