Nie wiem, czy to pytanie będzie miało sens, ponieważ jestem nowy w dsp.
W mojej ograniczonej wyprawie do dsp audio natknąłem się na:
- Modulacja częstotliwości
- Modulacja amplitudy
- Synteza addytywna
- Synteza odejmująca
Moje pytanie brzmi: czy są to główne podstawowe kategorie manipulacji sygnałem (szczególnie w przypadku dźwięku)?
Innymi słowy, czy wszystkie efekty i fantazyjne rzeczy, które może zrobić FL Studio z pełnym pakietem wtyczek, można podzielić na serię i kombinację powyższych 4 operacji? A może jest o wiele więcej? Czy współczesny DAW z wtyczkami teoretycznie można w ten sposób podzielić na dowolne kategorie? Czy powyższe 4 kategorie mają sens same w sobie ?!
Trochę tła: Zasadniczo staram się stworzyć bardzo prosty (ale bardzo elastyczny) syntezator / edytor audio jako projekt do nauki programowania i audio dsp. Korzystając z java zacząłem od naśladowania podstawowych klas syntezatora w prawdziwym świecie, nazywając takie rzeczy, jak Oscillator i LFO itp., Ale za każdym razem, gdy uczę się czegoś nowego, muszę przepisać wszystko, aby dopasować nową koncepcję do programu.
Próbuję zacząć od nowa teraz i wymyślić podstawowe obiekty i strukturę programu. Aby to zrobić poprawnie, muszę wiedzieć, jak powinienem pozwolić tym obiektom na interakcję itp ...
Dzięki!
EDYCJA * * *
Dzięki za przydatne komentarze i odpowiedzi. Zdaję sobie sprawę, że prawdopodobnie nie doceniałem strony dsp rzeczy i nie będę w stanie stworzyć podstawowego szablonu i struktury dla prostego syntezatora, a następnie po prostu go rozwinąć / zbudować na nim. Prawdopodobnie będę musiał wielokrotnie przebudowywać, kiedy uczę się nowych rzeczy i „właściwego” sposobu robienia rzeczy ... To potrwa dłużej, ale może nauczę się więcej? Przepraszam też, że nie mam jeszcze wystarczającej liczby przedstawicieli, aby głosować na kogoś jeszcze ... tak szybko, jak to możliwe, zrobię to.
EDYCJA * EDYCJA ***
Powinienem dodać, że trochę googlingu ujawniło ten podstawowy przewodnik po „rodzajach syntezy”, które uznałem za istotne i interesujące.
źródło
Odpowiedzi:
W sercu wszystkich efektów dźwiękowych zapewnianych przez oprogramowanie do produkcji muzyki nie ma magicznego silnika jednofunkcyjnego. Ale jeśli spojrzysz na kod źródłowy dużego zestawu efektów audio od programisty DSP, oto kilka „bloków konstrukcyjnych”, które zostaną uwzględnione w ich własnych klasach i które są wspólne dla wielu różnych efektów. Nie sugeruję, że stanowi to dobrą podstawę do kategoryzacji efektów; ale z punktu widzenia implementacji bloki te są niezbędne:
Za pomocą tych bloków możesz zbudować:
Podczas gdy niektóre z tych efektów to tylko łatanie różnych bloków (flanger naprawdę jest LFO modulującym linię opóźniającą), niektóre inne efekty wymagają bardziej złożonego kleju między częściami, który jest na tyle specyficzny, że nie można go uwzględnić w bloku konstrukcyjnym własny.
Jest to ogólnie interesujący zestaw efektów, który obejmie wiele podstaw do produkcji muzyki, ale nie jest wyczerpujący i rzeczywiście są pewne efekty, które nie pasują do tego frameworka ... Kilka przykładów: * Brudny reduktor częstotliwości próbkowania (w bitcrusher): prawda, jest to pomnożenie przez grzebień diraca, a następnie splot przez prostokątne okno ... ale łatwiej jest napisać to jako coś, co powiela wartość jednej próbki na N kolejnych próbek zamiast łatania modulacji amplitudy i splot! * Efekty zmiany wysokości dźwięku (zmiana wysokości tonu, automatyczne dostrajanie) nie pasują do tego frameworka. Potrzebują bardziej złożonej reprezentacji sygnału audio, który należy wykonać (wokoder fazowy dla metod w dziedzinie częstotliwości; wykrywanie wysokości tonu i znaczniki wysokości dla metod w dziedzinie czasu).
Sugeruję, abyś bawił się narzędziami „modularnymi”, takimi jak Pd, Reaktor, Plogue, SyntheEdit ... - i wypróbuj efekty z podstawowych bloków konstrukcyjnych, które one zapewniają.
źródło