Làm thế nào để ngăn chặn nhiều âm thanh phát phá hủy thính giác của bạn?


8

Vấn đề là khi tôi phát 100 âm thanh gần như cùng một lúc, tất cả những gì tôi nghe được là tiếng ồn. Nghe nó không hấp dẫn lắm trong 30 phút.

Tôi đã cố gắng khắc phục điều này bằng cách chỉ cho phép phát 1 âm thanh của từng loại âm thanh cùng một lúc. Nhưng nó vẫn nghe có vẻ xấu xí; cuối cùng bộ não của tôi chỉ nghe thấy âm thanh cuối cùng của âm thanh phát ra (hoặc bắt đầu của nó?), và điều đó khiến tôi rất lo lắng. Cuối cùng, tôi sẽ quyết định tắt âm thanh hoàn toàn. Vì vậy, có bất kỳ điểm sử dụng âm thanh trong một trò chơi như thế này không?

Làm thế nào để thực tế thân yêu của chúng tôi xử lý vấn đề này? Nếu có một cuộc chiến ngoài kia, nó sẽ phát ra như thế nào khi hàng trăm người đàn ông nổ súng gần như cùng một lúc?

Chỉnh sửa: Đây là cách trò chơi âm thanh hiện tại; thậm chí không có 100 âm thanh phát cùng một lúc, có thể là 20? http://www.speedyshare.com/VTBDw/headache.mp3 Lúc đầu nghe có vẻ ổn, nhưng sau đó nó trở nên không thể chịu đựng được! Trong clip âm thanh đó chỉ cho phép phát 1 âm thanh cùng một lúc, vì vậy nó sẽ dừng âm thanh phát trước đó khi âm thanh mới được phát.

Edit2: Và đây là cùng một cơn đau đầu nhưng 32 âm thanh đồng thời được phép phát cùng lúc: http://www.speedyshare.com/TuWAR/headache-worse.mp3 Khá là một cực hình, eh?


3
Đây thực sự là một câu hỏi về phát triển trò chơi? Chơi 100 âm thanh cùng một lúc sẽ gây khó chịu, tôi đồng ý. Nếu âm thanh bạn thêm vào trò chơi của bạn gây khó chịu (và chúng không phải là âm thanh), bạn cần chọn các âm thanh khác nhau hoặc chọn âm thanh nào để chơi cẩn thận hơn. Thực tế có âm thanh đến từ các nguồn khác nhau ở các tần số và biên độ khác nhau. 100 người đàn ông nổ súng gần như cùng lúc nghe rất to.
MichaelHouse

2
@Rookie có lẽ bạn đang cắt âm thanh khá tệ. Thực tế không có vấn đề về biên độ tối đa. Ngoài ra, thực tế phức tạp hơn nhiều, nó không rời rạc, vì vậy "cùng một lúc" có một ý nghĩa khác (Cũng như "cùng một âm thanh"). Bạn có thể ngăn chặn điều tồi tệ nhất bằng cách trộn âm thanh tương tự như ánh sáng HDR làm, điều chỉnh một cửa sổ linh hoạt trong một phạm vi lớn. Ngoài ra, thay đổi "cùng một âm thanh" bằng cách chọn từ một nhóm âm thanh tương tự ngẫu nhiên và tốc độ / cao độ và thời gian khác nhau từng chút một.
PeterT

2
Bạn có thể xác định thêm vấn đề thực tế là gì? Rõ ràng "phá hủy thính giác của bạn" không phải là những gì thực sự xảy ra. Hơn nữa, "làm tôi lo lắng" cũng không phải là một mô tả hay vì điều đó có thể dễ dàng thay đổi từ người này sang người khác.
MichaelHouse

@ Byte56, phương pháp tạo âm thanh không gây khó chịu cũng có thể là một giải pháp cho vấn đề của tôi. Vì vậy, nếu bạn biết làm thế nào, hãy nói với tôi. Cho đến nay, tất cả các âm thanh làm tôi đau đầu. Điều duy nhất tôi có thể nghĩ đến là tạo ra những âm thanh rất trầm, có lẽ tôi sẽ không cần phải bịt tai khi chơi game.
Tân binh

@PeterT, ý bạn là gì khi cắt âm thanh? Làm thế nào một clip có thể chính xác? Tôi nghi ngờ rằng hiệu ứng âm thanh ngẫu nhiên làm tôi bớt đau đầu. Đặc biệt khi âm thanh là một âm thanh laser đơn giản (hình sin). Vấn đề là khi tôi có 100 tháp pháo cứ sau nửa giây, chúng bắt đầu tạo ra tiếng ồn điên cuồng. Không có vấn đề gì loại âm thanh họ đưa ra. Lúc đầu, âm thanh có thể chịu được, nhưng sau một thời điểm nhất định, nó chỉ là tiếng ồn, cho dù âm thanh được tạo ra tốt đến mức nào.
Tân binh

Câu trả lời:


5

Trong thực tế, thính giác của chúng tôi là thích nghi. Giống như tầm nhìn của chúng ta thích nghi với các điều kiện ánh sáng khác nhau bằng cách trở nên nhạy cảm hơn hoặc ít hơn, thính giác của chúng ta thích nghi với các mã hóa tiếng ồn khác nhau. Thật không may, điều này không hoạt động tốt cho đầu ra âm thanh máy tính.

Nhưng bạn có thể mô phỏng nó. Khi trò chơi trở nên đặc biệt ồn ào, hãy giảm âm lượng tổng thể xuống mức có thể chịu được.

Có một tên cho bộ lọc âm thanh như vậy: Nó được gọi là nén dải động . API âm thanh nâng cao thậm chí có thể cung cấp cho nó bên ngoài hộp.

Ngoài ra, khi các sự kiện về mặt kỹ thuật xảy ra cùng một lúc, bạn vẫn nên cố gắng bù hiệu ứng âm thanh của chúng trong vài micro giây. Khi 10 kẻ thù bắn súng trong cùng một khung logic trò chơi, 10 tiếng súng không nên phát ra một cách hoàn hảo. Điều này sẽ nghe giống như một tiếng súng rất lớn, không phải là nhiều tiếng xảy ra đồng thời. Chúng sẽ nghe thực tế hơn khi chúng được bù một chút ( hiệu ứng điệp khúc ).


Ngẫu nhiên cao độ (tốc độ phát lại, thay vào đó) bằng một số lượng nhỏ quá.
Kevin Reid

3
  • Để lại ít nhất -3dB khoảng không cho âm thanh của bạn. Trong trường hợp của bạn, nó có thể là -6dB trở lên. Bằng cách này, bạn sẽ thoát khỏi sự biến dạng kỹ thuật số gây ra bằng cách đạt đến công suất tối đa về cách âm thanh có thể được biểu diễn bằng kỹ thuật số.
  • Áp dụng ngẫu nhiên tốt hoặc sử dụng đủ số lượng bản ghi đủ của cùng một âm thanh.
  • Đặt câu hỏi rằng "Chơi nhiều âm thanh có nói lên điều gì đó có ý nghĩa không?". Tích hợp một hệ thống gắn các chỉ số ưu tiên cho âm thanh và đặt giới hạn cho số lượng âm thanh tối đa có thể được phát cùng lúc. Hầu hết các âm thanh nền trở thành một phần của tiếng ồn nền khi có âm thanh đáng kể ở phía trước. Một số công cụ trò chơi làm điều đó cho bạn.
  • Thay vì chỉ định âm thanh cho mọi đối tượng, chỉ để các đối tượng quan trọng có âm thanh chuyên dụng của chúng và thiết kế một vòng âm thanh xung quanh dài cho các âm thanh khác. Một lần nữa, âm thanh nền là một phần của nền. Bạn không cần phải đính kèm một tập tin âm thanh cho tất cả mọi thứ.

Đó cũng là một gánh nặng và lãng phí CPU khi phát những âm thanh mà bạn sẽ không nghe hoặc liên kết với đối tượng nguồn. Sử dụng tài nguyên của bạn một cách khôn ngoan.


2

Các tập tin âm thanh của bạn đã biến mất, nhưng chỉ làm giảm các âm thanh ở xa hơn, nghiêm trọng.

Vì vậy, hãy sử dụng một HIỆN TƯỢNG HÓA ĐƠN hoặc HIỆN TẠI TIẾP XÚC để giảm âm lượng tiếng ồn.

nhập mô tả hình ảnh ở đây

Nếu điều đó là không đủ, bạn thậm chí có thể sử dụng đường cong hàm mũ:

nhập mô tả hình ảnh ở đây

Trong OpenAL, sử dụng hàm alDistanceModelvới bất kỳ:

AL_INVERSE_DISTANCE AL_INVERSE_DISTANCE_CLAMPED
AL_LINEAR_DISTANCE AL_LINEAR_DISTANCE_CLAMPED
AL_EXPONENT_DISTANCE AL_EXPONENT_DISTANCE_CLAMPED
AL_NONE

Mặc định là AL_NONE, vì vậy sẽ khá ồn nếu bạn có nhiều âm thanh phát cùng một lúc.


Tôi hoàn toàn không có đối tượng máy ảnh, trò chơi về cơ bản là trò chơi trên bàn, trong đó mọi thứ được hiển thị cùng một lúc, vì vậy tất cả các âm thanh sẽ phát cùng một âm lượng cho dù chúng ở đâu trên bản đồ. Tôi nghĩ chỉ để không sử dụng âm thanh ở tất cả. họ thực sự có được trên thần kinh của tôi sau một thời gian.
Tân binh

Nếu trò chơi có chế độ xem giống Starcraft, tôi vẫn sẽ nói những âm thanh mờ dần ngoài tầm nhìn. Nếu toàn bộ bảng có thể xem được, bạn có thể giảm tất cả âm thanh rất nhiều , trong khi vẫn giữ âm nhạc ở mức âm lượng tối đa. Sau đó, các âm thanh ít nhất thêm một số môi trường xung quanh.
bobobobo

nếu tôi "suy giảm" tất cả các âm thanh, điều đó không có nghĩa là tôi sẽ hầu như không nghe thấy chúng?
Tân binh

1
. Nếu có một loạt tiếng tụng kinh diễn ra cách xa 4 khối và bạn hầu như không thể nghe thấy, bạn sẽ có được bầu không khí (có gì đó đang diễn ra cách đó 4 khối) mà không phải cảm thấy bị làm phiền bởi nó. Vì vậy, thay vì tắt tất cả các âm thanh, chỉ cần làm cho chúng yên lặng, để người dùng vẫn có cảm giác rằng có gì đó đang diễn ra, mà không phải bị âm thanh lấn át.
bobobobo

2

Hãy thử giới hạn tổng số thứ có thể phát âm thanh tại một thời điểm nhất định. Ví dụ: nếu numberOfSoundPlayRightNow> 5, thì bỏ qua hiệu ứng âm thanh vừa được kích hoạt.

Ngoài ra, hãy thử giảm âm lượng cho các hiệu ứng âm thanh ít quan trọng hơn.

Một điều khác cần thử là giới hạn tần suất một đối tượng trò chơi có thể phát ra âm thanh để ngăn chặn một hình thức đối tượng duy nhất spam cùng một SFX. Ví dụ: một đối tượng sẽ kiểm tra trước khi phát: nếu lastTimePlayed <1 giây, thì kích hoạt âm thanh.

Bạn cũng có thể xem xét một công cụ âm thanh trò chơi như Wwise nơi bạn có thể dễ dàng điều chỉnh âm thanh từ trò chơi.


1
Có lẽ đó là điều duy nhất tôi có thể làm vào lúc này, nhưng tôi cũng nghĩ nó sẽ không giải quyết được vấn đề hoàn toàn. Ví dụ: nếu có 100 đối tượng khác nhau phát ra âm thanh, thật khó để ưu tiên chúng. Chỉ với một vài đối tượng phát ra âm thanh, nó vẫn có thể thực hiện được.
Tân binh

Ví dụ, nếu bạn có 100 lính không gian bắn tia laser của họ nhiều lần và bạn kích hoạt hiệu ứng âm thanh mỗi lần họ bắn cho mỗi người lính, điều này sẽ nghe rất tệ vì âm thanh sẽ chồng chéo và âm thanh rất tệ. Thay vào đó, hãy thử phương pháp này: Khi có ít nhất 1 lính bắn súng, hãy bật âm thanh laser lặp. Điều này sẽ giữ cho âm thanh tốt và rõ ràng. Chỉ cần beacuse có 100 lính bắn súng, điều đó không có nghĩa là người chơi phải lắng nghe tất cả, một vài người sẽ làm.
Jose Llausas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.