Piszę muzykę do gry wideo. W pewnym momencie będę musiał współpracować z programistami, aby określić specyfikacje techniczne plików audio, które im przekażę. O jakich szczegółach będziemy musieli porozmawiać?
Na przykład kilka pytań, które moim zdaniem mogą być potrzebne, to:
- W jakim formacie powinny być pliki audio?
- Bez kompresji? Bezstratny? Sprężony?
- Jaka jest równowaga między wysokiej jakości dźwiękiem a małymi rozmiarami plików?
- Jak głośna powinna być muzyka?
- Jaki powinien być średni poziom głośności każdego utworu?
- Jaki powinien być najgłośniejszy poziom głośności?
- Jaki powinien być rozkład częstotliwości?
- Na przykład, czy powinienem zacząć pisać muzykę, która nie ma dużo basu, aby łatwo usłyszeć niską tonację?
Czy pytania, które pomyślałem o ważnych, należy zadać? Czy są jeszcze jakieś pytania, które powinniśmy omówić?
Odpowiedzi:
Jeśli dobrze rozumiem, masz tutaj dwa różne pytania:
Jakie kwestie techniczne (jak w programowaniu) należy określić?
Jakie kwestie techniczne (jak w inżynierii dźwięku) należy przedstawić?
W przypadku obu pytań najlepiej postawić osobę odpowiedzialną. W pierwszym przypadku może to być główny programista audio, w drugim może to być reżyser dźwięku.
Teraz przypuszczam, że skoro o to pytasz, jesteś w małym zespole bez takich ról, a twój programista prawdopodobnie nie wie o czym mówisz, więc odpowiem wytyczne, które mogą działać w przypadku większości projektów. Ale w każdym razie nie zalecałbym podejmowania decyzji na własną rękę. Omów z innymi członkami zespołu, aby dojść do wniosku.
To powiedziawszy, porozmawiajmy najpierw o pewnych zagadnieniach technicznych (programistycznych).
Zwykle format, w jakim będą dystrybuowane pliki audio, jest już określany przez używaną platformę lub silnik gry. Jeśli zamierzasz korzystać z wielu platform, prawdopodobne jest, że każda platforma będzie miała całkowicie niezależne katalogi zasobów, a cechy plików audio mogą być różne dla każdej platformy.
Na przykład może być konieczne włączenie plików Ogg Vorbis dla systemu Android, MP3 lub AAC dla systemu iOS i WMA dla systemu Windows.
Czasami nawet format zależy od celu każdego pliku. Podczas gdy iOS ładnie gra z plikami MP3 i AAC do dowolnego celu, PlayStation Mobile wymaga MP3 dla BGM, ale obsługuje tylko nieskompresowane PCM lub Microsoft ADPCM.
Zapytaj programistę, w jakim formacie muszą być pliki.
W większości przypadków podstawowe specyfikacje plików będą już zdefiniowane, więc zapytaj o to swojego programistę. Na przykład pliki BGM są zwykle dystrybuowane w stereo, podczas gdy pliki SFX i głosowe są zwykle dystrybuowane w trybie mono (dzięki czemu można je łatwo umieścić w grze)
W przypadku przepływności i innych parametrów ponownie są one zwykle zależne od silnika lub platformy. Jeśli masz tutaj trochę swobody, zastanów się, że dane dźwiękowe są zwykle największym składnikiem gry, a jeśli gra ma być dystrybuowana za pomocą cyfrowych pobrań, programista (i klienci) podziękują, jeśli utworzysz pliki tak małe jak to możliwe.
Jeśli będziesz dystrybuował na nośnikach fizycznych, wówczas maksymalny rozmiar dystrybucji jest z góry określony i będziesz musiał przeprowadzić poważne negocjacje z resztą zespołu ds. Tworzenia treści.
Niektóre gry wymagają, aby twoje dźwięki (głównie BGM) były zapętlone; inne gry wymagają ścisłego ograniczenia czasowego (np. gry rytmiczne). Większość stratnych schematów kompresji doda ciszy padding na początku i na końcu ścieżki, co może przerwać pętle i ścisłe wyczucie czasu. Omów te problemy ze swoim programistą.
Istnieje zbyt wiele sposobów kompresji dźwięku, więc zalecam, aby wyprowadzić główną wersję każdego pliku dźwiękowego w nieskompresowanym PCM przy 16.1 bitowym stereo 44,1 KHz, a następnie użyć tego pliku do utworzenia rzeczywistych plików dla każdej platformy. (Optymalnie można utworzyć skrypt transformacji, który można zastosować do każdego pliku, aby nie trzeba było konwertować każdego pliku za każdym razem, gdy wprowadzasz niewielką zmianę w pliku głównym).
Teraz, jeśli chodzi o względy techniczne (jak w inżynierii dźwięku), twój programista najprawdopodobniej nie będzie się tym przejmował, więc będziesz mieć więcej swobody w tym obszarze. Istnieje jednak kilka rzeczy, które możesz zrobić, aby ułatwić życie programistom:
Wszystkie dźwięki w grze powinny mieć znormalizowaną głośność. Przynajmniej wszystkie pliki BGM powinny mieć między sobą tę samą głośność, a wszystkie pliki SFX powinny mieć taką samą głośność między sobą. Nie zmuszaj programisty do dostrajania woluminów w kodzie.
Kod odtwarzania jest bardzo ograniczony i zwykle może jedynie wzmacniać liniowo. Z tego powodu pomiędzy wysokim a niskim poziomem głośności może być preferowany wysoki, ponieważ zmniejszenie głośności podczas odtwarzania zwykle prowadzi do lepszych wyników niż jego wzmocnienie. Trudno powiedzieć, jaka powinna być dokładna głośność, ale z reguły im większa ogólna amplituda międzyszczytowa, tym lepszy zakres próbkowania.
Możesz załadować inne gry i odtwarzać ich dźwięki przy maksymalnym ustawieniu głośności i porównać swoje dźwięki z ich.
Jeśli chodzi o wyrównanie, muszę powiedzieć, że to naprawdę zależy od innych dźwięków twojej gry. Oprócz omawiania tego z reżyserem dźwięku, możesz również wziąć pod uwagę sprzęt do odtwarzania, którego będziesz używać: podczas gdy komputery stacjonarne mogą mieć ogromną różnorodność sprzętu do odtwarzania, urządzenia ręczne zwykle mają bardzo małe głośniki i możesz chcieć zrekompensuj to. Maszyny zręcznościowe mają zwykle również bardzo różne wymagania.
źródło
Rozróżniam dwie sytuacje: to, co trzymam w trakcie rozwoju i później (przechowywanie), i to, co umieszczam w ostatecznej dostawie.
Do przechowywania używam najwyższej możliwej jakości, czyli dla audio jakiegoś formatu, który jest bezstratny. Dopóki kompresja jest bezstratna, tak naprawdę nie ma znaczenia; Wystarczy WAV lub FLAC. Zasadniczo jestem w porządku z nagrywaniem 44,1 kHz / 16 bitów, a głośność powinna być „naturalna”, jak to możliwe, więc w zasadzie oryginalne nagranie z minimalnym wzmocnieniem w razie potrzeby. (Jeśli naprawdę chcesz, możesz nagrywać z częstotliwością 96 kHz lub 192 kHz.) Rozmiar nie ma tak naprawdę znaczenia, dyski twarde nie są tak drogie i zawsze możesz rzucić więcej na ten problem. Głównym powodem jest to, że zawsze można kompresować do formatu stratnego z formatu bezstratnego, ale gdy masz tylko pliki stratne, nigdy nie możesz przejść do wyższej jakości.
Dla dostawy to zupełnie inna historia. Tutaj musisz dokonać trudnych wyborów dotyczących jakości vs. przestrzeni i prędkości. W przypadku małych plików SFX używam plików WAV, ponieważ ładują się one najszybciej. Z drugiej strony rozmiar muzyki ma znaczenie, więc zwykle używam MP3 ze zmienną przepływnością. Możesz uciec z plikami 64 kb / s, ale to kwestia gustu. Dźwięki powinny zasadniczo mieć naturalną głośność, chociaż powinny być zrównoważone względem siebie. Silnik gry dokona wtedy dowolnych dostosowań, szczególnie jeśli robisz coś takiego jak dźwięk 3D.
źródło
sampling rate * sample size * channel count = bitrate
. Właśnie dlatego bitrate dla stereofonicznego sygnału stereo 44,1 KHz wynosi dokładnie 1411200 bitów / s. 16-bitowy dźwięk stereo 16 bitów musiałby być próbkowany przy częstotliwości 10 kHz, dlatego moja uwaga „zabrzmi obrzydliwie”.