Strona 1 z 3

Program podnoszący dynamikę dźwięku

: wtorek 16 maja 2006, 17:17
autor: Paciocha
Witam wszystkich, tak się poskładało że mam zamiar napisać (najprawdopodobniej w c++) program który będzie zwiększał dynamikę dźwięku na zasadzie pobrania pliku wejściowego *.wav "obrabiania" go i zapisywaniu na wyjściu drugiego pliku *wav. Na razie odpuszczam sobie edycję "w locie", zmiany mają powstać na wskótek wprowadzonych do programu parametrów.

Niestety nie mam pojecia od czego zacząć w obróbce, jaka kolejność-co zrobić by wogule móc "edytować dźwięk". Transforamta Fouriera? Która? dzięki niej co uzyskam (jakie dane które będę mógł zmieniać), jak to przefiltrować na pasma itp itd.

Re: Program podnoszący dynamikę dźwięku

: wtorek 16 maja 2006, 17:25
autor: richtig
Hmm, chcesz zrobić coś o czym całkowicie nie masz pojęcia? Dziwne...

Re: Program podnoszący dynamikę dźwięku

: wtorek 16 maja 2006, 17:30
autor: Paciocha
...Hmm, chcesz zrobić coś o czym całkowicie nie masz pojęcia? Dziwne......

**********************



do tej pory bawiłem się czymś co już istnieje, a teraz sam chcę coś stworzyć, a że kiedyś tam liznołem programowanie no to jedną podstawę mam, teraz chcę poznać dźwięk od strony "komputera", połączyć to wszystko tak by działało po mojej myśli

Re: Program podnoszący dynamikę dźwięku

: wtorek 16 maja 2006, 18:33
autor: musiclover
...Witam wszystkich, tak się poskładało że mam zamiar napisać (najprawdopodobniej w c++) program który będzie zwiększał dynamikę dźwięku na zasadzie pobrania pliku wejściowego *.wav "obrabiania" go i zapisywaniu na wyjściu drugiego pliku *wav. Na razie odpuszczam sobie edycję "w locie", zmiany mają powstać na wskótek wprowadzonych do programu parametrów.

Niestety nie mam pojecia od czego zacząć w obróbce, jaka kolejność-co zrobić by wogule móc "edytować dźwięk". Transforamta Fouriera? Która? dzięki niej co uzyskam (jakie dane które będę mógł zmieniać), jak to przefiltrować na pasma itp itd....

**********************

Chcesz zrobić kompresor programowy.

Tak się składa że jego budowa to temat na całe studia.

Dobrych darmowych programów jest wiele. Po co powielać tylko czyjeś pomysły. Proponuje zająć się czym innym

Re: Program podnoszący dynamikę dźwięku

: wtorek 16 maja 2006, 18:38
autor: preceli
...Chcesz zrobić kompresor programowy...



Hmm... raczej "wsadowy" .

Co do reszty zgoda
[addsig]

Re: Program podnoszący dynamikę dźwięku

: wtorek 16 maja 2006, 18:47
autor: Groover
......Chcesz zrobić kompresor programowy...



Hmm... raczej "wsadowy" .

Co do reszty zgoda

...

**********************



Kompresor? Jaki kompresor? Coś się wam chyba pomyliło... Przecież facet chce ZWIĘKSZAĆ dynamikę! To chyba raczej planuje jakowyś expander napisać



Pozdro

Groover

Re: Program podnoszący dynamikę dźwięku

: wtorek 16 maja 2006, 18:58
autor: preceli
....Kompresor? Jaki kompresor? Coś się wam chyba pomyliło... Przecież facet chce ZWIĘKSZAĆ dynamikę! To chyba raczej planuje jakowyś expander napisać



No tak, nie dopomyślałem, mea culpa

Re: Program podnoszący dynamikę dźwięku

: wtorek 16 maja 2006, 19:59
autor: pawelq
.......Kompresor? Jaki kompresor? Coś się wam chyba pomyliło... Przecież facet chce ZWIĘKSZAĆ dynamikę! To chyba raczej planuje jakowyś expander napisać

**********************



Trudno powiedzieć co on chce. Nie wiemy, czy zna znaczenie słowa dynamika. Może tak naprawdę chce zrobić jakiś pogłaśniacz, albo korektor.



Paciocha: a wiesz przynajmniej jak wygląda cyfrowa reprezentacja dźwieku PCM? Jak jest struktura pliku wave?

Re: Program podnoszący dynamikę dźwięku

: środa 17 maja 2006, 08:25
autor: Krizz
>Niestety nie mam pojecia od czego zacząć w obróbce, jaka kolejność-co zrobić by wogule móc "edytować dźwięk". Transforamta Fouriera? Która? dzięki niej co uzyskam (jakie dane które będę mógł zmieniać), jak to przefiltrować na pasma itp itd.

***********

Do pracy nad dekompresorem nie będze potrzebna Ci transformata (na szczęście). Wprawdzie zgadzam się z przedmówcami, dekompresję masz w wielu dostępnych wtyczkach, więc pisanie takiego programu będzie duplikowaniem już gotowych pomysłów. Ale jeśli sie upierasz... C++ powinien mieć biblioteki streamujące pliki audio z dysku do buforu. Strumień składać się bedzie z tablicy bajtowej, która musisz przetłumaczyć na tablicę wartości int (w zakresie 16 lub 24 bitów, więc odpowiednio 2 lub 3 elementy tablicy bajtowej będzie przypadać na jeden element tablicy int). To będzie reprezentacja amplitud kolejnych próbek w pliku wav. Teraz wrzucasz tablicę do funkcji dokonującej modyfikacji amplitud wg zaimplementowanego przez Ciebie algorytmu, dostając w wyniku także tablicę int, którą rozbijasz z powrotem na tablicę byte i strumieniowo zapisujesz na dysku za pomocą odpowiedniej funkcji do zapisu audio. Tak pokrótce.

Re: Program podnoszący dynamikę dźwięku

: środa 17 maja 2006, 08:40
autor: Paciocha
Paciocha: a wiesz przynajmniej jak wygląda cyfrowa reprezentacja dźwieku PCM? Jak jest struktura pliku wave?...

**********************

zanim cokolwiek napisałem najpierw poczytałem