C - Połaczenie dwóch plików WAV

0

witam serdecznie,

Mam wgrany plik wav do tablicy, nagłowek header również jest widoczny.
Teraz jak wyciszyć np kanał prawy w takim wave albo lewy? Nie wiem jak taką tablicę zmodyfikować.

czy ktoś tutaj z obecnych ma pomysł/pojęcie, ogólnie zależy mi wgrać dwa osobne różne pliki wav do tablic, i z tych dwóch zrobić mix, oczywiście o tych samych headerach wav itp

0

Masz próbki - zapewne 16-bitowe ze znakiem.

Żeby zmienić głośność, trzeba każdą próbkę przemnożyć przez pewną wartość.
Operuje się zwykle skalą decybelową.

Decybele na wartość liniową przelicza się wg. wzoru x = 10^{\frac{dB}{20}}
gdzie dB to wartość w decybelach. Dodatnie dB da ci mnożnik > 1, czyli głośniej, ujemne da ci < 1, czyli ciszej.

Żeby zmieszać dwa kanały najłatwiej wziąć po prostu średnią arytmetyczną kolejnych próbek z obu kanałów.

0

Więc jak można taki mix zrobić w jak najprostszy sposób mając dwa pliki w tablicach ?
jaką petlą i o ile przesuwać kopiować ?
Próbuje ale nie udaje mi się

0

Pokaż swoje próby. Jeśli chodzi o miksowanie, to tu jakiejś wielkiej filozofii nie ma - dodajesz do siebie wartości próbek. Sposób sumowania zależy od formatu audio, inaczej będzie wyglądało sumowanie próbek 8-bitowych, a inaczej 16-to czy 24-bitowych. Dochodzi do tego jeszcze ilość kanałów (z reguły sample są przeplatane - LRLRLR...).

1 użytkowników online, w tym zalogowanych: 0, gości: 1