진동기의 파형이 다른 문제
2388 단어 WebAudioAPIJavaScript
이런 트윗을 봤기 때문에 각 파형은 1Hz/10Hz441Hz882Hz 각각의 주파수로 주기를 포착했다.
WebKit의 발진기 파형
Firefox의 발진기 파형
확실히 완전히 다르다.
파형을 생성하는 알고리즘이 다르기 때문이다
[추기 2015/02/20 16:30]
다음은 많이 썼지만 전체적으로 어수선하지는 않다.
Firefox는 37과 WebKit에서 동일합니다.
#어떻게 하면 좋을까?
앞으로는 똑같을 수도 있고 그렇지 않을 수도 있다(웹 오디오 API의 규격상 구체적인 알고리즘이 없고 원가와 이상적인 균형을 이루도록 노력하겠다고 적혀 있다) 하지만 이제는 각자의 노력으로 극복할 수밖에 없다.
## 1. 사용자 정의 웨이브 사용
OscillatorNode는'setPeriodicWave()'방법으로 파형을 사용자 정의할 수 있기 때문에 표준 설정의 Sine, Square, Sawtooth, Triangle 각각의 PeriodicWave로 대체할 수 있다.
http://the.mohayonao.com/web-audio-api/periodic-wave/
파형을 생성하는 알고리즘
https://github.com/mohayonao/the.mohayonao.com/blob/master/public/web-audio-api/periodic-wave/periodic-wave.js
나는 Triangle의 시작 위치가 매우 이상하다고 생각한다. 그 외에는 기본적으로 모두 괜찮다.하지만 LFO 용도로 생각하면 예쁜 파형이라고 할 수는 없다.
[추기 2014/12/1517:00]
Firefox34.0 시 PeriodicWave에 버그가 있는 것 같아서 정상적으로 작동하지 않습니다.
→ 검사 페이지
2. BufferSourceNode 사용
샘플링 확률과 같은 크기의 오디오 버퍼를 만들어 파형을 기록해 활용하면 버퍼소스 노드의 플레이백 레이트를 주파수 대신 사용할 수 있다.그러나 이 방법은 웹키트의 플레이백 레이트에 오디오노드를 연결해도 반영되지 않는 문제가 있어 LFO로 LFO를 모의할 수 없다.
3. 용도에 맞게 쓰기
만약 위의 방법으로 해결할 수 없다면, 나는 열심히 쓸 것이다.사운드를 만들기 위해 시도할 때마다 실수할 때마다 열심히 다시 쓰느라 힘들 것 같아요.
Reference
이 문제에 관하여(진동기의 파형이 다른 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mohayonao/items/af43f74d77171f4f770f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)