Przeprowadziłem trochę wyszukiwania na tej stronie, ale, co zaskakujące, nie znalazłem wielu istotnych informacji, a moja wiedza na temat DSP jest bardzo ograniczona.
Mój cel jest dość prosty: chcę zaprogramować pogłos algorytmiczny w C ++, który brzmi naprawdę dobrze. A dokładniej, najlepszą opcją byłoby pozwolenie użytkownikowi końcowemu na wybór kompromisu między jakością a użytkowaniem procesora.
Z tego, co do tej pory odkryłem, jest to, że aby stworzyć pogłos, musisz wprowadzić suchy sygnał do algorytmu wczesnych odbić, a następnie do algorytmu późnych odbić. Czy to jest poprawne ?
Teraz znalazłem obszerny artykuł na temat części późnych refleksji, używając sieci opóźnień od sprzężenia zwrotnego ( REDUKUJĄC WYMAGANIA ODWIEDZANIA SZTUCZNEGO PRZY WYKORZYSTANIU SIECI OPÓŹNIANIA OPÓŹNIONEGO CZASEM ). Z tego, co przeczytałem, FDN jest wysokiej jakości, niezbyt ekspansywnym (pod względem procesora) sposobem symulowania późnych refleksów. Co więcej, myślę, że możesz kontrolować kompromis jakości / opłaty procesora, zmieniając liczbę linii opóźniających.
Jednak absolutnie nie mam pojęcia, jak zaprogramować algo wczesnych refleksów (pamiętasz? Naprawdę jestem ignorantem w dziedzinie DSP).
Logiczne byłoby dla mnie zastosowanie pewnego rodzaju opóźnień, które mają tę zaletę, że są łatwe w programowaniu i niedrogie obliczeniowo. Ale to brzmi zbyt prosto, aby mogło być prawdziwe.
Co więcej, mój instynkt podpowiada mi, że jeden lub kilka filtrów musi znajdować się gdzieś na ścieżce sygnału.
Czy ktoś mógłby mi wyjaśnić ten temat?
Dwie notatki:
- W ogóle nie chcę pogłosu konwolucji. Tak naprawdę nie dbam o realizm pogłosu, ale zamiast tego chcę dobrze brzmiącego, dostrajalnego, nie pogłębiającego procesora pogłosu.
- Również część kodująca nie jest tym, co mnie martwi, w przeciwnym razie zapytałbym o przepełnienie stosu. To naprawdę część DSP, i właśnie ta część, której szukam :)