QE Web Audio พีเจ-จิราพันธ์
✨ JIRAPHAN KWANRUK
<style> </style> <p> *กดปุ่ม Start เพื่อเปิด Effect เลือกเสียงต่างๆ กด Stop เพื่อยกเลิก </p> <button onclick="startSound()"> Start </button> <button onclick="gain.gain.value = 0"> Stop </button> <button onclick="synth()"> Synth </button> <button onclick="electro()"> Electro </button> <button onclick="horror()"> Horror </button> <br><br> <button style="width: 35px" class="note" onclick="note(523)"> ด </button> <button style="width: 35px" class="note" onclick="note(587)"> ร </button> <button style="width: 35px" class="note" onclick="note(659)"> ม </button> <button style="width: 35px" class="note" onclick="note(698)"> ฟ </button> <button style="width: 35px" class="note" onclick="note(783)"> ซ </button> <button style="width: 35px" class="note" onclick="note(880)"> ล </button> <button style="width: 35px" class="note" onclick="note(987)"> ท </button> <button style="width: 35px" class="note" onclick="note(1046)"> ดํ </button> <script> let isStart = 0; audio = new (window.AudioContext || window.webkitAudioContext)() osci = audio.createOscillator() gain = audio.createGain() osci.connect(gain) gain.connect(audio.destination) function startSound(){ if(isStart == 0){ osci.start(); isStart = 1; } else{ gain.gain.value = 1; } } function synth(){ osci.frequency.setValueAtTime(.0, audio.currentTime) } function electro(){ osci.frequency.setValueAtTime(10.100, audio.currentTime) } function electro(){ osci.frequency.setValueAtTime(10.100, audio.currentTime) } function electro(){ osci.frequency.setValueAtTime(50.1000, audio.currentTime) } function note(f){ console.log(f) let time = audio.currentTime let note_osci = audio.createOscillator() let note_gain = audio.createGain() note_osci.connect(note_gain) note_gain.connect(audio.destination) note_osci.frequency.value = f note_osci.start() note_gain.gain.setValueCurveAtTime([1,0],audio.currentTime,.2) } </script>