Jakiej jakości powinny być moje dźwięki?

33

Dźwięk i jego jakość przypomina religię. Niekończąca się opowieść.

Ludzie powiedzą, że MP3 320kbps jest bezstratny, podczas gdy eksperci powiedzą, że każdy MP3 to bzdura, ale ostatecznie nikt nie usłyszy różnicy w wyniku ... chyba że będzie w branży muzycznej od ponad 20 lat.

Jaki byłby najlepszy format gry wideo i jakie właściwości powinny wystarczyć (herc, bitrate itp.), Zakładając, że MP3 320 kb / s jest „ciężkie”?

Może przykład lub dwa, jak niektóre tytuły AAA działają z ich dźwiękami.

joltmode
źródło
3
Eksperci, którzy słyszą różnicę między 320 kb / s MP3 a nagrywaniem bezstratnym, zwykle mają (bardzo) kosztowną konfigurację hi-fi, która pozwala im nawet usłyszeć te różnice. Nie coś, co masz na zwykłym komputerze lub urządzeniu mobilnym. Również granie w grę to coś innego niż słuchanie muzyki. Są inne rzeczy, którymi twój mózg jest zajęty, niż myślenie o
niskiej
2
@bummzack, tak, o ile jakość dźwięku nie jest tak słaba, że ​​rozprasza. Czasami znajduję gry, które mają naprawdę słabe efekty dźwiękowe, które mają syk w tle lub są - bardzo mocno skompresowane. Jednak prawie każda uwaga dotycząca jakości dźwięku prawdopodobnie tego uniknie. Sugeruję przetestowanie swoich próbek na czymś z wyższej klasy dźwiękiem. Twoje kodowanie audio nie jest jedynym czynnikiem prowadzącym do dobrego dźwięku.
user606723,
Jedynym powodem, dla którego jestem przeciwko MP3 jest to, że strasznie się zapętla.
Sidar

Odpowiedzi:

63

Zaktualizuj lipiec 2017 r

Jeśli korzystasz z Unity lub innego dużego silnika z systemem zarządzania aktywami, nie proś Ogg Vorbis od projektantów dźwięku i kompozytorów. Uzyskaj WAV lub AIFF.

Unity i Unreal są skonstruowane do pracy z wysokiej jakości odbiciami, a następnie stosują ustawienia kompresji dla poszczególnych platform. Posiadanie źródła jako Ogg lub Mp3 oznacza, że ​​podwójnie kompresujesz dźwięk i wprowadzasz dodatkowe artefakty bez żadnej korzyści.

Jeśli widzisz, że rozpoczęcie od ogg lub mp3 zmniejsza rozmiar kompilacji, to nie jest dobry powód. Prawdopodobnie oznacza to, że eksportujesz z innymi ustawieniami kompresji niż w Unity / Unreal. Czy są egzekucje? Tak, ale nie szukałbyś tej odpowiedzi, gdybyś wiedział, kiedy mają zastosowanie te wyjątki.

Jeśli kompresujesz wstępnie w celu zmniejszenia rozmiaru repozytorium, użyj LFS, użyj scentralizowanego systemu kontroli wersji lub uśmiechnij się i zrób to.


TL; DR

  1. Tak , MP3 320k brzmi świetnie. ALE . . .
  2. Nie używaj MP3, używaj Ogg Vorbis przy 44,1 kHz, jakość 6 dla muzyki. Aby uzyskać efekty dźwiękowe, po prostu użyj 16 / 44,1 WAV, chyba że naprawdę uważasz, że potrzebujesz przyciąć tłuszcz.
  3. Jeśli musisz korzystać z MP3, np. We Flashu, spróbuj użyć 192k-256k (VBR 1 lub 2), ale być może będziesz musiał zadowolić się 128k. Nie schodź poniżej 128k (VBR 6).

Prawdziwa odpowiedź

Ludzie powiedzą, że MP3 320kbps jest bezstratny, podczas gdy eksperci powiedzą, że każdy MP3 to bzdura, ale ostatecznie nikt nie usłyszy różnicy w wyniku ... chyba że będzie w branży muzycznej od ponad 20 lat.

Dźwięk zakodowany w formacie MP3, niezależnie od jakości kodowania, jest zawsze stratny. Jest to kodek percepcyjny, a zatem działa poprzez kodowanie właściwości dźwięku w czasie w ~ 1152 fragmentach próbek w postaci skompresowanej, z której dekompresowane nieskompresowane próbki mogą być ekstrapolowane. Jego celem nie jest dokładne odtworzenie oryginalnego dźwięku, wystarczy zapewnić taki, który jest „wystarczająco dobry”.

Jednak, jak powiedziałeś, 320kbps brzmi bardzo dobrze. Jest ogólnie uważany za dobry lub lepszy niż jakość CD. Jednak nadal nie jest możliwe idealne odtworzenie oryginalnych próbek nieskompresowanego pliku WAV zakodowanego jako plik MP3 320 kb / s.

Ogólnie Ogg Vorbis jest lepszym formatem niż MP3. Ogólnie uzgodniono, aby zapewnić lepszą jakość pliku o tym samym rozmiarze, a w przeciwieństwie do MP3 można go łatwo zapętlić. Te fragmenty z 1152 próbkami, których MP3 używa do kodowania dźwięku, często pozostawiają ciszę na początku i na końcu dźwięku. Nie jest to wielka sprawa dla podstawowych efektów dźwiękowych, ale ogromny problem dla pętli muzycznych.

Flash IDE omija to podczas eksportu .swf, ręcznie usuwa ciszę. Osoby używające strumieniowego przesyłania audio (lub czystego mxmlc) uzyskują zapętlanie za pośrednictwem SampleDataEvent i ręcznie upuszczają próbki lub przetwarzają wstępnie plik MP3 (patrz blog Andre Michelle i narzędzie mp3loop CompuPhase )

Korzystanie z dekodera MP3 wymaga również uzyskania licencji patentowej (ponieważ patent MP3 jest własnością Technicolor, Fraunhofer i innych). Oczywiście mnóstwo ludzi wypuściło darmowe gry, które korzystały z MP3, ale najlepiej tego nie robić.

Jaki byłby najlepszy format gry wideo i jakie właściwości powinny wystarczyć (herc, bitrate itp.), Zakładając, że MP3 320 kb / s jest „ciężkie”?

Może przykład lub dwa, jak niektóre tytuły AAA działają z ich dźwiękami.

To zależy: jakie są twoje platformy docelowe, jakich innych technologii używasz, jak dystrybuujesz swoją grę i jaki styl wybierasz? Podzielę to na kilka kategorii w oparciu o platformę, technologię i estetykę.

Wysokiej klasy tytuły na komputery PC i konsole

Gry AAA dążą do najwyższej jakości produkcji, więc nagrywają i produkują zasoby nieskompresowane 24 bity / 48 kHz (również standard postprodukcji filmu). Tytuły z nieco mniejszymi ambicjami niż mówią, że Battlefield 3 może nagrywać i produkować w formacie 16 / 44,1, który jest oficjalnym standardem dla jakości dźwięku CD.

Oczywiście nie można wysłać gry 24/48 nieskompresowanych plików WAV w grze, byłoby to zbyt duże. Tak więc ostatecznie musi dojść do pewnego rodzaju kompresji. Ogólnie rzecz biorąc, ogólna zasada jest taka, że ​​jeśli jest to szybki efekt dźwiękowy podobny do dźwięku pistoletu (np. Sapnięcie pistoletu Portal 2 w odpowiedzi Spruntha), można pozostawić go jako WAV, prawdopodobnie zmniejszając częstotliwość próbkowania w zależności od częstotliwości (patrz Twierdzenie Nyquista , dźwięki składające się z treści o niskiej częstotliwości mogą być kodowane przy niższych częstotliwościach próbkowania). W przypadku muzyki naprawdę nie ma możliwości obejścia kompresji. Najlepszym rozwiązaniem jest Ogg Vorbis w jakości CD (44,1 kHz, jakość 5-6 lub wyższa).

Ponadto gry AAA często używają narzędzia pośredniczącego do kompresji, albo narzędzia wewnętrznego, albo oprogramowania pośredniego audio, takiego jak FMOD lub Wwise. W FMOD i Wwise działa to tak, że importujesz większość rzeczy w formacie WAV 16 / 44,1 lub 24/48 (lub, jeśli dźwięk jest treścią o niskiej częstotliwości, może być importowany z niższą częstotliwością próbkowania), a następnie podaj FMOD współczynnik kompresji dla każdego zasobu, wybierając kodowanie takie jak ADPCM, MP3 lub Ogg Vorbis.

FMOD zrezygnował ostatnio z obsługi kodowania zasobów w zestawach dźwiękowych eksportowanych z FMOD Designer (pliki .fsb) jako Ogg Vorbis na rzecz nowego kodeka Xiph o nazwie CELT . Ogg Vorbis może być trochę trudny na CPU, więc CELT jest rozwijany, aby zapewnić alternatywę. Pliki można ładować bezpośrednio, ale nie można ich już używać do kodowania z aplikacji Designer.

Nawiasem mówiąc, oto fajny link na temat dźwięku z Battlefield Bad Company, który również trochę się zmienia. DICE jest w czołówce technologii audio w grach, więc jest to dobra seria do nauki.

Z dźwiękiem przestrzennym związany jest również problem mono-stereo. Na wypadek, gdybyś nie wiedział, wszystkie twoje efekty dźwiękowe powinny być monofoniczne, chyba że niektóre z nich faktycznie korzystają z efektów panoramowania. Stereo jest niewygodne do przestrzennego umieszczenia w środowisku 3D, a można przesuwać dźwięki w kodzie, aby umieścić je w środowisku 2D.

Nieco mniej wysokiej klasy tytuły, gry niezależne

Oczywiście może się to znacznie różnić. Szybki rzut oka pokazuje, że Frozen Synapse wykorzystuje całkowicie pliki Ogg Vorbis, zarówno do efektów dźwiękowych, jak i do muzyki. Z drugiej strony Dungeons of Dredmor jest zgodny ze schematem Ogg Vorbis dla muzyki i 16 / 44,1 WAV dla efektów dźwiękowych.

Preferowane jest podejście Dungeons of Dredmor. Nawet zapisane jako nieskompresowane pliki WAV, efekty dźwiękowe są na ogół wystarczająco krótkie, aby nie zajmowały tyle miejsca, a zaoszczędzono wiele cykli procesora bez konieczności ich dekodowania. Chcesz mieć możliwość szybkiego załadowania efektu dźwiękowego do pamięci i odtworzenia go. Jeśli zakodujesz swoje efekty dźwiękowe w Ogg Vorbis, istnieje możliwość niewielkiego opóźnienia, zanim gracz usłyszy twój efekt dźwiękowy po raz pierwszy.

Gry przeglądarkowe, HTML5 i Flash (z odrobiną Mobile)

Dźwięk HTML5 to bałagan. Musisz dostarczyć zarówno ogg, jak i wersje MP3 swoich dźwięków. Koduj w najwyższej możliwej jakości bez szaleństwa użytkownika przy długim czasie ładowania. W przypadku plików MP3 nie schodź poniżej 128k, jest wystarczająco zły na 128.

Flash akceptuje tylko pliki MP3 16bit / 44,1 kHz, chyba że zwariujesz i nie napiszesz własnego dekodera dla innego formatu (takiego jak eksperymentalny dekoder Ogg Vorbis w laboratoriach Alchemy). W przeszłości Flash miał problemy z plikami MP3 o zmiennej przepływności, ale nigdy nie miałem problemu. Ustawienie jakości, które wybierzesz dla gry Flash, będzie zależeć od tego, jak duży ma być końcowy plik .swf.

Aktualizacja: Jak wspomniał Tetrad , gry mobilne należy rozpatrywać z pamięcią i pamięcią. Sposób kodowania dźwięku w grach mobilnych jest podobny do Flasha, chcesz zachować jak najwyższą jakość, ale ostatecznie musisz dopasować budżet pamięci i pamięci. Muzyka z trackera jest szczególnie dobra, jeśli masz ograniczony budżet na przechowywanie muzyki. Należy poinformować kompozytora ograniczyć swoją przykładową paletę i można dopasować ton więcej muzyki w grze.

„8-bit” lub efekty dźwiękowe typu Chiptune i muzyka

Większość gier robi po prostu to, co robią Frozen Synapse i Dungeons of Dredmor. Prawdopodobnie można jednak uniknąć ograniczenia częstotliwości próbkowania i głębokości bitów. Może nie tylko pasować do estetyki, której szukasz, ale może także zaoszczędzić trochę miejsca.

Ponadto muzyka trackera zazwyczaj przechowuje próbki z niską częstotliwością próbkowania, po prostu pozwól, aby tak się stało.

michael.bartnett
źródło
Wyjaśnienie efektów dźwiękowych. Kropka.
joltmode,
1
Czy masz link do twierdzenia, że ​​FMOD rezygnuje z obsługi Ogg Vorbis?
Kylotan,
1
Powinienem wyjaśnić, że nie odrzucili całego wsparcia dla Ogg Vorbis. Po prostu nie jest już dostępny przy wyborze kodeka dla zasobów w FMOD Designer (zaktualizowana odpowiedź, aby to odzwierciedlić). Nie ogłosili o tym nic wielkiego. Dowiedziałem się, kiedy poszedłem spróbować zakodować muzykę w banku dźwięku jako Ogg Vorbis. Wspomina o nim post KVR: kvraudio.com/news/… Ale równie dobrze możesz pobrać program FMOD Designer i przekonać się sam.
michael.bartnett,
1
@ emddudley Jeśli twój źródłowy dźwięk to coś w stylu orzechów 48bit / 196kHz, to możliwe, że możesz go skompresować w taki sposób, aby zachował niesamowitą ilość informacji o częstotliwości i amplitudzie i jako taki ma wyższą wierność niż dźwięk CD, który jest ustawiony na 16bit / 44,1 kHz.
michael.bartnett,
1
@DavidDimalanta WAV jest ogólnie znacznie większy niż MP3, ale z tą zaletą, że nie musisz go dekodować, po prostu włóż go do pamięci. Z tego powodu muzyka w tle jest na ogół kompresowana, ponieważ wraz z dłuższym przechowywaniem dźwięku rozmiar szybko się sumuje. MP3 ma problemy z licencjonowaniem i bezproblemowym zapętlaniem, jak wspomniałem w odpowiedzi, więc najlepiej tego unikaj, jeśli możesz.
michael.bartnett
14

Jak branża działa z dźwiękiem, nie jestem pewien.

Ale przeglądając moje gry, większość z nich pakuje je w jakiś plik danych lub w inny sposób.

Oto kilka bitów audio, które mógłbym wyciągnąć:

  • Deus Ex: Human Revolution (Menu główne [piosenka]) mp3 44100Hz 320kb / s
  • Portal 2 (4000 Degrees Kelvin [piosenka]) mp3 44100Hz 128kb / s
  • Portal 2 (Portal Gun fizzle [soundfx]) wav 44100Hz 16 bitów / próbkę
  • Czynniki ryzyka („NORMALLOOP_SEGMENT03” [soundfx]) ogg 48000Hz 128kb / s
  • Call of Juarez Bound in Blood („COJ2_Attack_16” [piosenka]) ogg 48000Hz 350kb / s
  • Sterownik Zombie („pickup_money” [soundfx], „main_menu” [song]) ogg 44100Hz 128kb / s
  • X3 Terran Conflict („00025” [piosenka]) mp3 22050Hz 56kb / s
  • Bejeweled 3 („Coastal” [ambient]) ogg 44100Hz 96kb / s

Ponieważ nie mogłem rozpakować żadnego z plików danych itp. (Z wyjątkiem GCF z Portal 2), wyniki mogą nie pokazywać widma na rynku. Próbowałem dać ci próbkę gier, a te, które nie pakują dźwięku, wydają się mieć podobne wyniki.

Sprunth
źródło
4000 Degrees Kelvinpochodzi z pierwszego portalu, a nie z drugiego.
val mówi Przywróć Monikę
6

Z mojego doświadczenia (głównie tytułów mobilnych), jakość dźwięku powinna być tak niska, jak to możliwe, bez jawnych negatywnych skutków ubocznych, abyś miał więcej pamięci na inne rzeczy.

Należy pamiętać, że sam fakt kompresji niekoniecznie oznacza, że ​​jakość jest zbyt niska. Twoi odbiorcy nie będą przeprowadzać porównań z dźwiękami podstawowymi takimi jak ty, więc jeśli czegoś brakuje podczas kompresji stratnej, to na ogół nie będą o tym wiedzieć.

Na przykład musisz zadać sobie pytanie, czy jest jakiś powód, aby używać dźwięków stereo lub muzyki. Czy efekt, który daje, jest wart prawie dwa razy więcej kosztów ogólnych? W przypadku muzyki, w zależności od tego, jak jest tworzona, odpowiedź może brzmieć „tak”. Niektóre silniki nawet nie obsługują źródeł stereo dla efektów dźwiękowych. Tego typu rzeczy.

Oczywiście ta linia jest bardzo subiektywna. Istnieją inne odpowiedzi, które dotyczą bardziej szczegółowych zasad.

Ważne jest, aby mieć standardy, ustalić je wcześniej i starać się ich przestrzegać. Jeśli tworzysz muzykę do gry i musisz zmniejszyć jej przepływność o połowę, aby zmieściła się w pamięci, to będzie ci gorzej, niż jeśli ustawisz niski poziom jakości w pierwszej kolejności.

Tetrad
źródło
4

If you're targeting a specific platform -- iPhone, Xbox 360, PS3 -- you should look into whether the hardware has an audio decoder. If so, you should use it. You'll save CPU time (and battery life!) by offloading the audio, and you'll be able to take full advantage of that platform's APIs. More importantly, that hardware acceleration will be contingent on your audio being in a specific format -- so your choice will already be made.

However, if you're targeting PC, then your options are more varied. I'd just pick the format with the smallest file size that still sounds good to your ears, and run with it.

Blair Holloway
źródło
Can you be a little more specific about different console(s)?
Quazi Irfan
The main idea is to target PC's yes, different operating systems tho'. *NIX (including Mac), Windows. But will later on expand into iOS, Android. Consoles aside for now.
joltmode
4

It depends on what's going to be 'obscuring' the lossy encoding - if you look at Sprunth's answer the general trend for music is high quality for the menu, and low quality for in-game music. The reason is probably because:

  • In the menus the only sound that is playing is the music - and is therefore 'in focus'; you would notice the lossy lower bitrates.
  • In-game you have the sound effects (explosions etc.) in addition to the music being played at a lower volume; meaning you wouldn't notice the loss in quality.
  • The call of Juarez developers seem to like overkill.

Finally another trend from his answers is that most effects are 44KHz/16bit; but some older games allowed you to run at 22KHz/16bit ('Sound quality') - in the event your sound card couldn't handle the higher sample rate.

Jonathan Dickinson
źródło