[K] FileImporter 3.6 - duża-mała zmiana

Kiedy pisałem o wersji 3.1 FileImportera, sprawy wydały mi się w miarę zakończone. Dodane importery dla MixPre6 i Zoom H1essential, moduł UCS... A jednak w ciągu miesiąca zmieniło się w FileImporterze wiele, choć na pozór nie zmieniło się nic.

Zgryzoty z MixPre

Sporo nagrywałem przez ostatni miesiąc rejestratorem SoundDevices MixPre6. To świetne narzędzie, ale jest z nim pewien kłopot - tworzone pliki. Z oczywistych względów chcę korzystać z formatu 32-bitowego, a MixPre używa wielościeżkowych plików wav. I właśnie to połączenie okazało się być bardzo niefortunne.

Zewnętrznie importer do MixPre nie zmienił się specjalnie

Teoretycznie program SoX radzi sobie w tej sytuacji - można kazać mu podzielić plik na osobne ścieżki, co zostanie zrobione bez szemrania i problemów. Pliki wynikowe są także 32-bitowe, dają się otwierać i obrabiać, więc długo nie zwracałem uwagi na fakt, że... to nie są jednak pliki 32-bitowe.

Sprawa wyszła na jaw, kiedy z dość dużym poziomem wejściowym nagrałem przejazd pociągu. Normalnie nie jest to problem - w programie do edycji dźwięku plik 32-bitowy da się ściszyć, nawet jeśli wygląda na mocno przesterowany. Sęk w tym, że kiedy ściszyłem ścieżkę wyciągniętą z pliku źródłowego z MixPre, sygnał okazał się jednak przesterowany, jakby był nagrany w 24 bitach. Okazało się, że SoX nie ma pełnej obsługi formatu 32-bit - potrafi go odczytać, ale przy zapisywaniu stosuje już format całkowitoliczbowy, co prowadzi do powstania clippingu.

Zacząłem zatem szukać innego narzędzia, które rozwiązałoby problem i wszystkie tropy w internecie wskazywały na ffmpeg, który nie jest mi obcy. Niestety, ffmpeg - choć obsługuje już w pełni 32 bity - przy ekstrakcji ścieżek dokonuje przekodowania materiału audio. Pozostaje on nadal 32-bitowy, ale za wszelką cenę chciałem unikać przetwarzania plików na tak wczesnym etapie.

Innych narzędzi, działających w trybie linii poleceń nie znalazłem, więc poczytałem o specyfikacji formatu wav (bardzo ciekawy artykuł można przeczytać też tutaj) i wziąłem się do roboty. Zajęło mi to cały weekend, ale udało się i dysponuję obecnie własną biblioteką, która nie tylko potrafi separować ścieżki z plików 16, 24 czy 32-bitowych, ale potrafi także sklejać pliki ze sobą (na razie jeszcze nie w pliki wielokanałowe, bo tego nie potrzebuję, tylko "jeden za drugim"). A że biblioteka jest moja własna, to mogę ją wykorzystywać i w skryptach, i z wnętrza FileImportera.

Przy okazji przygotowałem sobie osobny importer dla MixPre, do nagrań terenowych, kiedy rejestruję obraz stereo za pomocą pary mikrofonów sE8. Mam te mikrofony wpięte stale do tych samych gniazd, więc ten osobny importer od razu ma przygotowaną konfigurację, by z tych wejść łączyć nagranie w parę stereofoniczną.

Importery dla MixPre są teraz dwa, jeden normalny i jeden, ułatwiający import sesji stereofonicznych

Wygląda to tak, że do importu są wskazywane tylko dwa pliki: suma stereo z obu mikrofonów (ale nie suma tworzona przez MixPre, tylko połączone ścieżki z mikrofonów sE8) oraz plik źródłowy (na wszelki wypadek):

Plików widać mniej, więc jest prościej

UCS

Karta UCS także uległa zmianom - po pierwsze, zmieniłem orientację zakładek, bo w dziwny sposób irytowało mnie ułożenie ich w pionie. Po drugie, usprawniłem kartę eksportu m. in. przez to, że dodałem możliwość wpisywania do nazwy docelowej własnej frazy oraz uzupełnienia nazwy docelowej przez nazwę oryginalną pliku. Żeby było szybciej, rozpoczęcie wpisywania frazy użytkownika automatycznie uzupełnia też filtr kategorii, a ten z kolei rozbudowałem o możliwość pracy "ścisłej". Chodzi o to, żeby wymóc, by pasująca kategoria zawierała WSZYSTKIE rozdzielone spacjami wyrazy, a nie tylko dowolny z nich.

Zakładki w poziomie i dodatkowe opcje - od razu pracuje się przyjemniej

Pojawiła się dodatkowa karta History, która zawiera listę wszystkich plików z mojej skromnej biblioteczki, posortowane po dacie utworzenia danego pliku. Dzięki temu mogę szybko odszukać, jakie pliki dodałem ostatnio lub w ramach pojedynczego importu. To było mi potrzebne, żeby wiedzieć, czy już robiłem eksport plików z jakiejś sesji, bo rzadko kiedy zgrywam pliki zaraz po powrocie z pleneru, a w bibliotece są one już pozbawione oryginalnych nazw, więc sprawdzać dało się w zasadzie tylko po rozmiarze czy odsłuchując dane pliki.

Historia, czyli zobaczmy, kiedy dane pliki pojawiły się w bibliotece

Co będzie następne?

Prawdopodobnie najbliższy czas upłynie mi na udoskonalaniu biblioteki do dzielenia plików wav. Przetestowałem ją na nagraniach z wszystkich posiadanych przeze mnie sprzętach do nagrywania i nie było problemów, obojętnie jaką pliki miały błębię bitową czy częstotliwość próbkowania. Znam jednak życie i wiem, że coś na pewno jeszcze trzeba będzie poprawić, zwłaszcza na pierwszym etapie. Niemniej, jestem zadowolony, że udało się rozwiązać praktyczny problem.

Komentarze