-
Data: 2013-07-08 03:29:47
Temat: Re: program do symulacji obróbki audio ?
Od: sundayman <s...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Ostatecznie mam takie coś :
[data,fs] = wavread("audio.wav");
%data =
[2,6,3,8,4,6,15,20,40,20,25,98,17,34,5,23,5,3,35,44,
23,17,19,16,2,3,8,4,7,4];
len = length(data);
data1 = abs(data)
data3 = [];
a=44; % ilość próbek do wartości max
for i=1:a:length(data1)-a
data2 = max(data1(i:i+(a-1)));
data3 = [data3, data2];
endfor
% uśrednianie
n=30; % ilość próbek uśredniania
b = ones(n,1)./n;
y = filter(b,1,data3);
% składanie WAV
data4 = [];
for i=1:length(y)
probka = y(i:i);
for j=1:a
data4 = [data4,probka];
endfor
endfor
wavwrite(data4.', 44100 , "wynik_n30.wav");
*************************************
No muszę powiedzieć - działa :)
Nawet chyba udało mi się zrobić, żeby wynikowy wav miał tą samą
długość,co wejściowy (rozciągnąłem po prostu z tym samym
współczynnikiem, o który się skraca w wyniku znajdowania wartości
maksymalnej).
Teraz mogę sobie testować w te i wefte na różnych parametrach - no coś
pięknego. I z tego co widzę, to się nawet chyba zgadza z empirią :)
Panie Michale, jest pan wielki ! Zazdroszczę znajomości tego narzędzia -
coś mi cholerycznie ciężko nad tym zapanować, ale warto się pomęczyć.
Tak że - słów podziękowań brak mi po prostu :)
Oczywiście pozostałym kolegom także dziękuję bardzo.
*************************************
Na wszelki wypadek zapytam jeszcze na koniec ;
jak widać zmieniłem tą linię :
data2 = max(data1(i:i+a))); * gdzie oczywiście "a" to przedział
szukania maximum (zastąpiłem "10" z przykładu kolegi zmienną "a" , żeby
mieć łatwiej w razie zmian wartości)
na następującą wersję :
data2 = max(data1(i:i+(a-1)));
bo wydaje mi się, że w wersji "źródłowej" robi się zakres o 1 za duży
(np. dla przedziału 10 zakres byłby 10:20 zamiast wymaganego 10:19).
Wygląda mi to na po prostu drobną pomyłkę kolegi, ale wolę się upewnić -
czy wszak dobrze zrobiłem ?
Następne wpisy z tego wątku
- 08.07.13 08:15 Michał Lankosz
Najnowsze wątki z tej grupy
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
Najnowsze wątki
- 2025-04-12 Katowice => Key Account Manager (ERP) <=
- 2025-04-12 Weryfikacja PESEL na listach poparcia kandydata
- 2025-04-12 mój pierwszy miernik grubości lakieru
- 2025-04-12 China-Kraków => Production Coordinator / Representant Product Dev <=
- 2025-04-12 Warszawa => Junior Rekruter <=
- 2025-04-12 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-04-12 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-04-12 Kraków => Backend/Data Engineer (Java, Scala or Python) <=
- 2025-04-12 Kraków => Backend/Data Engineer (Java, Scala lub Python) <=
- 2025-04-12 Kraków => Engineering Manager (Clojure, Java) <=
- 2025-04-12 Re: [Media] Wysoki Sąd wskazał (Mentzenom) jak WŁAŚCIWIE dokopywać kandydatom koalicji tuskiej :-)
- 2025-04-12 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-04-12 Bateria
- 2025-04-12 Warszawa => MENA New Business Manager <=
- 2025-04-12 Warszawa => SQL Developer <=