브라우저에서 Mario의 동전 소리를 내보세요!
2326 단어 csswebdevnesjavascript
시작된
브라우저에서 소리를 내고 싶었습니다. 조사를 좀 하다가 mp3, m4a 파일을 base64로 변환해서 재생하는 방법을 찾았는데 그 방법은 제가 하고 싶었던 것이 아니었습니다. 조금 더 조사해보면 "AudioContext"로 할 수 있다는 것이 밝혀졌습니다.
게다가 파라메터는 'triangle,'sine','square','sawtooth'로 NES에서 사용하는 바로 그 소리였다.
이런 일이 생기면 내가 해야지!
NES를 생각하게 된 계기는 무엇입니까?
2022년 NEW의 사운드는 말이 필요 없겠죠? 잠시만 참아주세요.
NES 사운드의 사양에 대해 자세히 이야기하면 대략 8가지 종류의 사운드가 있는데, 그 중 일부는 구형파의 비율을 변경했기 때문이지만 기본적으로 4가지 사운드만 생성할 수 있습니다.
이름
세부
정사각형
멜로디의 경우/두 가지 사운드를 동시에 재생할 수 있습니다.
삼각형
저음, 음향 효과
소음
드럼, 리듬, 음향 효과
DPCM
목소리 등
위에서 언급했듯이 사람들이 "사각파와 삼각파"를 볼 때 40세 이상의 사람들은 확실히 NES라고 생각합니다. 일부 NES 괴짜는 "Konami Sound Staff Club Kukeiha"를 염두에 둘 수 있습니다.
전문인
음원을 보면 특별히 어려운 부분이 없기 때문에 동전의 소리를 연주하고 싶다면 "B"소리 다음에 "E"소리를 연주하면 됩니다.
이렇게 생겼습니다.
const AudioContext = window.AudioContext || window.webkitAudioContext
const audioContext = new AudioContext()
const gainNode = audioContext.createGain()
gainNode.connect(audioContext.destination)
gainNode.gain.value = 0.1
const oscillator = audioContext.createOscillator()
oscillator.connect(gainNode)
oscillator.type = "square"
oscillator.frequency.setValueAtTime(1975.533, audioContext.currentTime)//B
oscillator.frequency.setValueAtTime(2637.02, audioContext.currentTime + 0.08)//E
oscillator.start()
oscillator.stop(.5)
gain.value를 지정하지 않도록 주의하십시오. 그렇지 않으면 귀가 죽을 것입니다...(슈퍼 시끄러움). 소리에 대한 감각이 형편없었고 파워업 소리와 점토관에 들어가는 소리는 아무리 들어도 알아들을 수가 없어서 10% 정도의 속도로 분석을 해야 했습니다. 정상인이라면 불가능하다고 생각합니다.)
잘 들어보면 이상한 점이 있다. 근데 WebAudio-PulseOscillator 으로 이것저것 많이 해봤는데 그냥 '기본 사운드를 쓰겠다'는 생각뿐이었어요. 그리고 "우리가 가진 것으로 할게!"
정말 열심히 하면 신디사이저를 만드는 기술로 midi와 MML을 읽게 하여 진지한 것을 만들 수 있을 것이고, 그것을 전자에서 응용하는 것도 재미있을 것입니다.
중요한 점
버튼만 사용하면 맛없을 것 같아서 테이블 태그를 이용해서 도트를 재현해보았는데, 이건 저작권 문제로 "보너스"입니다.
Reference
이 문제에 관하여(브라우저에서 Mario의 동전 소리를 내보세요!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kurokky/make-the-sound-of-marios-coins-in-your-browser-4am5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)