-2
플레이어가 가속/감속 할 때 위아래로가는 엔진 소음으로 간단한 게임을 만들려고합니다.자바 사운드 - 사운드 피치를 동적으로 조정하는 방법
그래서있어이 작은 예에 게시물에서...
public static final int SAMPLE_RATE = 16 * 1024; // ~16KHz
public void playNoise() throws Exception {
final AudioFormat af = new AudioFormat(Note.SAMPLE_RATE, 8, 1, true, true);
SourceDataLine line = AudioSystem.getSourceDataLine(af);
line.open(af, SAMPLE_RATE);
line.start();
byte[] engineNote = makeEngineNote();
line.write(engineNote, 0, engineNote.length);
line.drain();
line.close();
}
private byte[] makeEngineNote() {
// Create a kind-of-sin-wave-with-interference
byte[] b = new byte[SAMPLE_RATE];
...
}
가 지금은 경기장을 만들고 싶어 가속/감속을 모방 변동. 나는 위의 코드 (
write()
)를 반복하는 것에 대해 궁금해하고 있었지만, 비행 중에 파장을 변경하는 방법을 모르겠습니다. 매번 wav를 다시 생성하는 것이 가장 바람직한 방법이라고 상상할 수 없습니다. 파장이 다른 여러 개의 웨이브를 만들 수는 있지만 부드러운 전환을 제공하지는 못합니다.
도움말/링크를 제공해 주시면 감사하겠습니다.
편집
문제는 구체적으로 엔진 소음을 약되지는 makeEngineNote()
방법은 내 요구에 충분하다. 문제는 매번 wav를 생성하지 않고 음조를 조정하는 것입니다.
"엔진 사운드"는 변조 된 사인파보다 훨씬 복잡합니다. 사운드 샘플을 찾거나 자신을 캡처하는 것이 더 낫습니다. 반드시 생성해야한다면, 앞서 긴 실험과 조정을해야합니다. –
당신은 톱 웨이브로 공상 과학 엔진 사운드를 만들 수 있습니다. 그러나 이것이 단일 StackOverflow 응답을 작성하는 방법을 합리적으로 설명 할 수있는 종류라고 생각하지 않습니다. – Radiodef
@ 짐 가르슨 편집을 참조하십시오. 혼란을 피하기 위해 제목을 변경했습니다. – TedTrippin