2012-02-04 3 views
2

내 게임에서 한 쌍의 D6 주사위를 굴려서 오디오를 무작위로 추출하는 방법에 대한 제안을 찾고 있습니다. 주사위의 각 롤이 다르게 들리 겠지만 합리적으로 그럴듯 해지기를 바랍니다. 그리고 나는 미리 녹음 된 주사위 굴림을 만들고 싶지 않습니다, 나는 더 많은 변화를 원합니다. 애니메이션과 오디오를 동기화 할 필요는 없습니다 (사용하고있는 애니메이션은 매우 단순하고 추상적입니다).주사위 굴림을위한 절차 오디오

내 가정은 한 번 표면에 부딪 치는 하나의 다이 소리에 대해 몇 가지 기본 오디오 조각이 필요하다는 것입니다. (그것들을 생성하기위한 제안은 없습니까? 아니면 그것을 포착하는 것이 가장 좋습니까?) 그런 다음 고유 한 롤 사운드를 만들기 위해 기본 사운드의 변형을 변형하고 결합하는 방법이 필요합니다. 복잡한 것이고 나는 다른 접근 방식을 시도해야합니까?

Android 용 Java에서 개발 중이지만 합리적으로 어떤 언어로든 오디오를 결합하거나 절차 적으로 생성하는 방법에 대한 자습서 나 설명은 높이 평가할 수 있습니다. 실시간 롤링 지원은 필요하지 않습니다. 사전에 다음 롤의 오디오를 생성하고 주사위가 실제로 굴릴 때까지 캐시 할 수 있다고 생각합니다.

답변

0

내 솔루션은 무료 녹음 소프트웨어를 사용하여 한 번에 한 개의 롤링 소리를 캡처하는 것입니다. 적절한 소프트웨어는 각 타악기와 잔여 오디오를 포함하는 작은 샘플로 그 파일을자를 수 있습니다. 기록 된 주사위 굴림은 수십 개의 "안타"샘플을 제공합니다.

그런 다음 Java를 사용하여 각 샘플에 대한 참조를로드하고 적절한 타이밍 수정으로 반 - 임의 순서로 다시 재생할 알고리즘을 설계하십시오. 그런 다음 재생하기 전에 오디오를 단일 스트림에 믹스 할 필요없이 다양한 종류의 다양한 기능을 즉시 사용할 수 있습니다.

+1

미리 녹음 된 사운드와 완전한 절차 사운드 사이의 중간에 좋은 방법입니다. 사실, 내가 기록한 주사위 굴림에는 분명히 뚜렷한 "히트"가 많이 있기 때문에 구현하기가 상대적으로 간단해야합니다 (일단 오디오 태깅 및 분할의 지루한 작업이 완료되면). –

0

"Shaker" class의 절차 코드는 합성 도구 키트 (STK)에서 살펴볼 수 있습니다. STK는 C++ 라이브러리이지만 실제로 오디오 샘플을 만드는 절차는 너무 어렵지 않습니다. 기본적으로 제공되는 다양한 유형의 동영상 플레이어가 있습니다. 당신이 원한다면 매개 변수화를 시도하고 수정할 수 있기를 기대합니다.

+0

이것은 우수합니다. 그것은 내가 사용할 수있는 소리의 오프라인 생성을위한 매우 유용한 라이브러리처럼 보입니다. 아마도 온라인으로 작업 할 수 있습니다. 이것은 내 탐색에서 우연히 만났던 것이 아니므로 매우 편리합니다. –

2

주사위는 2 가지 유형의 소리를 생성 할 수 있습니다. 하나는 다른 주사위를 때리는 것입니다. 주사위 충돌 소리의 분광기를 읽으면 상음의 비율을 얻을 수 있습니다. Pure Data와 같은 소프트웨어에서이를 프로토 타입하기 쉽습니다. 기본 주파수를 약간 변경하면보다 절차적인 충돌 사운드가 있어야한다는 아이디어가 있습니다. 변형을 수행하고 충돌을 예측하는 데 아마 난수를 사용할 수 있습니다. 아마도 완벽한 사운드는 아니지만 시작일 수 있습니다.

이것은 아마도 매우 모호하지만, 여전히 도움이되기를 바랍니다. D.