Blog Metlivi

Jak utrzymać próbkę o stałej głośności przez określony czas po puszczeniu klawisza

Aby utrzymać odtwarzanie próbki na stabilnym poziomie przez stały interwał po puszczeniu klawisza, opóźnij jej komunikat MIDI note-off, zachowując envolop amplitudy sampleru na poziomie sustain. Pozwól, aby envolop przełączył się na fazę release dopiero po upływie tego opóźnienia. Zwiększenie zwykłej kontrolki Release powoduje zanikanie, a nie stabilne plateau. Niektóre instrumenty oferują dedykowaną funkcję hold-after-release, ale „Hold” nie oznacza tego samego wszędzie. FabFilter One: Generator envolopów.

Ten przewodnik jest dla gracza na klawiszach lub producenta, który chce, na przykład, dwie sekundy stabilnego odtwarzania próbki po zdjęciu palca. Wyjaśnia, jak zidentyfikować odpowiednią kontrolkę i zapewnia kompletną implementację w Logic Pro Scripter, gdy sampler nie posiada tej funkcji.

29 października 20267 min czytaniaAutor: Metlivi Editorial Team
Sekcja 1

Co dokładnie powinno stać się po puszczeniu klawisza?

Zdefiniuj czasowanie przed regulacją kontrolków. Zamierzone zachowanie to: odtwarzaj próbkę, gdy klawisz jest wciśnięty, utrzymuj ustalony poziom przez wybrany interwał po puszczeniu klawisza, a następnie zatrzymaj lub rozpocznij krótkie zanikanie. Interwał musi rozpocząć się w momencie puszczenia klawisza, niezależnie od tego, jak długo oryginalnie trzymałeś nutę.

Dla ilustrującego ustawienia dwóch sekund, puszczenie klawisza w 0,35 sekundy powinno rozpocząć kończenie w 2,35 sekundy. Puszczenie go w 3 sekundy powinno rozpocząć kończenie w 5 sekund. To są przykłady czasowe, nie zmierzone wyniki wydajności. Ustawienie, które zawsze kończy odtwarzanie dwie sekundy po początkowym naciśnięciu klawisza, służy innemu zadaniu.

Również rozróżnij stały wzmocnienie envolopu od stałej słyszalnej głośności. Płaski envolop amplitudy pozostawia własną dynamikę próbki nienaruszoną. Jeśli nagranie zanika, zawiera ciszę lub dobiega końca, trzymanie envolopu otwartego nie może zapewnić ciągłego, stabilnego dźwięku. Zacznij od nagrania sustained lub odpowiedniej sekcji powtarzanej.

Sekcja 2

Dlaczego Release i Hold często dają zły wynik?

W Logic Pro Sampler, Sustain określa poziom utrzymywany, gdy klawisz pozostaje wciśnięty. Release określa przejście z tego poziomu do zera. Jego stopień AHDSR Hold następuje po Attack i przed Decay; nie jest to timer, który startuje, gdy zdjmie palec. ENV 1 kontroluje amplitudę. Te definicje wyjaśniają, dlaczego wydłużanie Release lub początkowej fazy Hold nie tworzy bezpośrednio pożądanego plateau. Apple: Używanie envolopów Sampler.

Prawdziwa funkcja hold-after-release zachowuje się inaczej. FabFilter One dokumentuje Hold jako dodatkowy czas, podczas którego jego envolop traktuje puszczony klawisz jako nadal wciśnięty; Release następuje po nim. To jest zachowanie, którego szukać w podręczniku. FabFilter One ilustruje tu semantykę kontrolki; nie jest to implementacja odtwarzania próbki używana poniżej. FabFilter One: Generator envolopów.

Dokumentacja Ableton Drum Sampler ilustruje, dlaczego etykiety wymagają sprawdzania. Definiuje ona Hold względem piku ataku w trybie Trigger, opisując jednocześnie kontynuację odtwarzania po zwolnieniu nuty. Tryb Gate zamiast tego zanika po zwolnieniu, a Hold jest tam wyłączony. Te opisy uzasadniają test czasowy przed potraktowaniem wartości Hold w trybie Trigger jako interwału mierzonego od puszczenia klawisza. Ableton Live 12: Drum Sampler.

Sekcja 3

Które podejście wybrać?

Dostępne zachowanie Praktyczny wybór
Podręcznik jawno określa interwał hold zaczynający się w momencie puszczenia klawisza Użyj tej funkcji ze stabilnym poziomem sustain.
Hold zaczyna się po Attack, lub odtwarzanie ma stałą długość od wyzwolenia Opóźnij note-off o interwał mierzony od puszczenia klawisza.
Edytujesz istniejące wykonanie MIDI Wydłuż koniec każdej nuty o wymagany interwał, następnie użyj krótkiego release.
Źródłowe nagranie zanika lub kończy się zbyt wcześnie Przygotuj źródło sustained lub pętlę przed regulacją czasu nut.

Pomoc decyzyjna wynika z rozdzielenia dwóch kontrolki: sampler kształtuje amplitudę, podczas gdy czasowanie MIDI nuty określa, gdy żądane jest jego release. Opóźnianie tylko note-off zachowuje oryginalne czasowanie note-on. Opóźnianie obu komunikatów po prostu przesunąłoby całą nutę w czasie.

Sekcja 4

Jak przygotować próbkę i envolop w Logic Pro?

Utwórz tor instrumentu programowego z Sampler i załaduj swoją próbkę. Apple dokumentuje przeciąganie audio na Pasek Nawigacji Samplera w celu utworzenia mapowanych stref. W okienku Zone możesz dostroić granice odtwarzania, punkty pętli i crossfade'y pętli. Wybierz rozsądnie stabilną sekcję do odtwarzania sustained i posłuchaj przez kilka powtórzeń. Apple: Tworzenie instrumentów samplerowych z Sampler.

Dla wstępnego testu, użyj jednej próbki sustained w jej oryginalnej wysokości. Jeśli nie jest pętlona, upewnij się, że trwa dłużej niż cały test: czas, przez jaki klawisz pozostaje wciśnięty, dodatkowy interwał hold i kończenie. Krótkie nagranie nie może wspierać dowolnie długiego trzymania klawisza.

W Modulatorach, wybierz ENV 1 i wybierz AHDSR. Ustaw Delay i Hold na zero, Attack na wartość krótką, Sustain na maksimum, a Release na krótkie kończenie. Przy maksymalnym Sustain, Decay nie ma wpływu na poziom. Te ustawienia są punktem wyjścia diagnostycznym; zachowaj dłuższy attack później, jeśli dźwięk tego wymaga. Apple: Używanie envolopów Sampler.

Sekcja 5

Jak Scripter może opóźnić note-off o dwie sekundy?

Wstaw Scripter w sekcji MIDI FX toru przed samplerem. Otwórz jego Edytor Skryptów, zastąp istniejący skrypt kompletnym programem poniżej i kliknij Run Script. Apple dokumentuje ten proces edycji i wykonania. Apple: Używanie Edytora Skryptów Scripter.

Program wymaga środowiska Scripter Logic Pro, które dostarcza klasy zdarzeń MIDI i metody planowania. Nie potrzebuje importów ani ścieżek do plików audio. Jego wejście próbkowe to normalne note-on z klawiatury następujące po note-off; note-on o zerowej prędkości jest obsługiwane jako alternatywna reprezentacja note-off. Apple dokumentuje te typy zdarzeń i sendAfterMilliseconds(). Apple: Używanie obiektu zdarzenia JavaScript.

// Complete Logic Pro Scripter program.
// Additional hold after physical key release, in milliseconds.
var HOLD_MS = 2000;

function HandleMIDI(event) {
    if (event instanceof NoteOff) {
        event.sendAfterMilliseconds(HOLD_MS);
    } else if (event instanceof NoteOn && event.velocity === 0) {
        var off = new NoteOff(event);
        off.sendAfterMilliseconds(HOLD_MS);
    } else {
        event.send();
    }
}

Zmień HOLD_MS na inny nieujemny czas trwania, taki jak 750 dla trzech czwartych sekundy. Skrypt wysyła note-on natychmiast i planuje note-off później. Inne przychodzące komunikaty przechodzą przez. Nie ma natychmiastowej kopii oryginalnego note-off, ponieważ to powiedziałoby samplerowi, by zwolnił za wcześnie.

Gałęzie routingu zdarzeń zostały sprawdzone z małym mockiem JavaScript: note-on i zdarzenia kontrolera przechodziły natychmiast, podczas gdy obie reprezentacje note-off były planowane 2000 milisekund później. To weryfikuje logikę routingu; nie mierzy audio-timingu Logic Pro ani nie audycyjnie testuje sampler.

Sekcja 6

Jak zweryfikować, że interwał zaczyna się w momencie puszczenia klawisza?

Użyj następującego testu z nieaktywnym wejściem pedału sustain i wyłączonymi efektami audio. Testuj po jednej secie naraz, pozwalając każdemu dźwiękowi dokończyć przed powtórzeniem tego samego pitchu.

  1. Ustaw HOLD_MS na 2000 i uruchom skrypt.
  2. Krótko uderz jeden klawisz. Słuchaj stabilnej kontynuacji przed kończeniem.
  3. Trzymaj ten sam klawisz przez około trzy sekundy, a następnie go puść.
  4. Sprawdź, czy kontynuacja po puszczeniu wynosi wciąż około dwie sekundy.
  5. Zmień HOLD_MS na 500, uruchom skrypt ponownie i powtórz oba gesty.

Dla bliższej inspekcji, nagraj wyjście sampler i porównaj jego kończenie z oryginalnym końcem MIDI note. Z ilustrującymi trzema sekundami trzymania klawisza i dwusekundowym wydłużeniem, release powinien rozpocząć się około pięciu sekund po note-on. Jeśli dodasz krótkie envolopowe release, ostateczna cisza przyjdzie później niż koniec plateau.

Na przykład, dwusekundowe plateau następujące po ilustrującym 10-milisekundowym release ma nominalną 2,01-sekundową sekwencję kończenia po puszczeniu klawisza. Zdecyduj, czy Twój żądany czas trwania oznacza „czas do rozpoczęcia zanikania” czy „czas do ciszy”, i dostosuj odpowiednio.

Sekcja 7

Co sprawdzić, jeśli próbka zanika, kończy się za wcześnie lub retriggeruje niepoprawnie?

Jeśli dźwięk zanika podczas interwału, tymczasowo przetestuj stabilne źródło bez dodatkowej modulacji amplitudy lub efektów. Porównaj odtwarzanie, gdy klawisz jest wciśnięty, z odtwarzaniem po puszczeniu. Jeśli oba zanikają podobnie, zbadaj nagranie lub pętlę zamiast wydłużać opóźnienie MIDI.

Jeśli odtwarzanie kończy się za wcześnie, sprawdź punkt końcowy próbki i ustawienia pętli. Jeśli trwa dłużej niż oczekiwano, zmniejsz release sampler i przetestuj bez ogonów efektów. Zmieniaj jeden czynnik na raz, abyś mógł odróżnić zaplanowane zakończenie nuty od dźwięku wytworzonego po nim.

Powtarzane nuty wymagają osobnego sprawdzenia. Ten prosty skrypt nie anuluje zaplanowanych note-off ani nie przypisuje unikalnej tożsamości każdemu głosowi. Ponowne zagranie tego samego pitchu na tym samym kanale przed przybyciem jego opóźnionego note-off może więc spowodować niechciane ucięcie, w zależności od obsługi głosów przez instrument. Dla tej implementacji, niech pitch dokończy przed ponownym zagraniem; szybkie wykonywanie powtarzanych nut potrzebuje procesora zaprojektowanego do zarządzania tymi nakładaniem się.

Gdy testy krótkiego uderzenia i długiego trzymania dadzą ten sam interwał po puszczeniu, zapisz ustawienie Scriptera z patchem instrumentu. Utrzymaj źródło sustained, poziom envolopu stabilny i kończenie wystarczająco krótką dla Twojego zamierzonego dźwięku. Te trzy wybory sprawiają, że opóźniony note-off produkuje użyteczny, powtarzalny hold.

Sekcja 8

Źródła

Warto przeczytać

Eksploruj dalej ten temat