cwiczenia7 wav

background image

Wszelkie prawa do zada

ń

, plików i instrukcji s

ą

zastrze

ż

one, nikt poza prowadz

ą

cymi zaj

ę

cia i studentami IA na AGH

nie ma prawa ich wykorzystywa

ć

. A tych co maj

ą

takie prawa, prosz

ę

, aby nie umieszczali ich w innym miejscu w sieci.

Do folderu, w którym Państwo pracujecie proszę wgrać pliki wav z platformy.

Rozdzielczość bitowa – liczba bitów służąca do opisania pojedynczej

wartości pojedynczej próbki

rozdzielczość bitowa

– 8 bitów - czyli 2

8

możliwych wartości – 256

– 16 bitów - czyli 2

16

możliwych wartości – 65536

częstotliwość próbkowania – szybkość pobierania próbek

– im większa częstotliwość próbkowania, tym sygnał cyfrowy lepiej jest odwzorowany,

zgodnie z poniższym rysunkiem:

Rysunek pochodzi ze strony:

http://sound.eti.pg.gda.pl/student/tpm/zie03_dzwiek.pdf

częstotliwość próbkowania

– 8000Hz – można zakodować sygnał do 3,5kHz

– 11025 – można zakodować sygnał do 5,0kHz

– 22050 – można zakodować sygnał do 10kHz

– 44100 – można zakodować sygnał do 20kHz

– 192000 – można zakodować sygnał do 90kHz

Otwieranie pliku wav

[y,Fs,bits, opt_ck] = wavread(‘plik.wav’);

i odtwarzanie dźwiękowego:

sound(y,Fs,bits)

lub

wavplay(y,Fs,bits)

Zad 1. Za pomocą poniższego programu proszę otworzyć plik chimes.wav

background image

[file, path] = uigetfile('*.wav');

if file == 0

return;

end;

[y,Fs,bits, opt_ck] = wavread([path, file]);

Na ekranie powinien się pojawić napis „Dźwięk w wersji oryginalnej" i komputer powinien

odtworzyć dźwięk,

z oryginalną częstotliwością próbkowania

potem napis

częstotliwość odtwarzania 2x mniejsza

i komputer powinien odtworzyć dźwięk

częstotliwością próbkowania 2 razy mniejszą.

Podobnie z częstotliwością 2 x większą.

To samo proszę zrobić dla bitów –2 razy mniej i 2 razy więcej niż w formacie oryginalnym.

Co się dzieje w każdym z tych przypadków z odtwarzanym dźwiękiem?

Zad 2. Proszę ze strony:

http://www-gmm.insa-toulouse.fr/~guillaum/PIANO/sound_examples.html

ś

ciągnąć na komputer stereo plik *. wav ( y jest wektorem dwukolumnowym). Proszę zagrać

dźwięk z obu kanałów, potem osobno , z lewego i z prawego kanału. Za pomocą funkcji plot
proszę na jednym wykresie narysować oba kanały różnymi kolorami. Proszę też obliczyć
rozmiar pliku dźwiękowego.

Wzór, na podstawie którego możesz obliczyć rozmiar pliku dźwiękowego w bajtach

przedstawia się następująco:

czas trwania dźwięku w sekundach × częstotliwość próbkowania w Hz × liczba kanałów ×

(rozdzielczość bitowa / 8) = rozmiar pliku

lub ?? Jak się mają do siebie czas trwania dźwięku w sekundach , długość pliku i

częstotliwość próbkowania ?

rozdzielczość bitową dzielimy przez 8, ponieważ w jednym bajcie mieści się 8 bitów

Zad 3. Pliki typu au. Proszę przeczytać typach plików dźwiękowych, których rozszerzeniem jest „.au”.

Proszę znaleźć przykład takiego pliku i odtworzyć go za pomocą programu Matlab.

[y,Fs,bits] = auread('aufile')

Zad 4. Dźwięki zapisane w Matlab’ ie w pliku typu *.mat.

load chirp;
y1 = y; Fs1 = Fs;
load gong;
wavplay(y1,Fs1,'sync') % The chirp signal finishes before the
wavplay(y,Fs) % gong signal begins playing.

background image

Proszę naleźć 3 plik, otworzyć go, narysować 3 wykresy w funkcji czasu.

ZADANIE DODATKOWE dla chętnych

Inspiracją do zadania związanego z IX symfonia Beethovena była dla mnie strona opracowana przez

mgr inż. Marcin Szczegielniaka

www.szczegmar.freehost.pl/cw2fizyka.doc

Prosz

ę

spróbowa

ć

wykona

ć

zadanie 4.1 i 4.2 z tej strony:

Cytuj

ę

:

4.1

Stworzyć funkcję pozwalającą wygenerować dźwięk o określonej wysokości, czasie
trwania i częstotliwości próbkowania. Można wykorzystać następującą funkcję.

nuta.m

function

dzwiek = nuta(f, tr, fs)

% czestotliwosc: f

% czas trwania: tr

% czestotliwosc próbkowania: fs

t=0:1/fs:tr;

% obwiednia sygnału

x=t/tr; obwiednia=x.*(1-x).*(exp(-8*x)+0.5*x.*(1-x));

b=0.08;

% składowe harmoniczne

harmoniczna0=sin(2*pi*f*t*(1-b))+sin(2*pi*f*t*(1+b));

harmoniczna1=sin(2*pi*2*f*t*(1-b))+sin(2*pi*2*f*t*(1+b));

harmoniczna2=sin(2*pi*3*f*t*(1-b))+sin(2*pi*3*f*t*(1+b));

% poł

ą

czenie obwiedni i składowych harmonicznych

dzwiek=obwiednia.*(harmoniczna0+0.2*harmoniczna1+0.05*harmoniczna2

);

% normalizacja amplitudy

dzwiek=dzwiek/max(dzwiek);


4.2

Wykorzystując powyższą funkcję oraz wektory opisujące fragment IX symfonii
Beethovena przedstawione poniżej, wygenerować muzykę o częstotliwości próbkowania
16kHz. Wynik zapisać w wektorze muzyka. Odsłuchać fragment wpisując w wiersz
poleceń

soundsc(muzyka,16000)

.

IX symfonia Beethovena (fragment)

background image


f=[1319 1319 1397 1568 1568 1397 1319 1175 1047 1047 1175 1319 1319 1175 1175]

tr=[0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.6 0.2 0.

5]


Wyszukiwarka

Podobne podstrony:
cwiczenia7 wav
3 ćwiczenia BADANIE asfaltów
Ćwiczenie7
Cwiczenia 2
Ćwiczenia V
metody redukcji odpadów miejskich ćwiczenia
Ćwiczenia1 Elektroforeza
cwiczenia 9 kryzys
Ćwiczenia 1, cz 1
Ćwiczenie 8
9 ćwiczenie 2014
Cwiczenie 1
Ćwiczenie 2 Polska w europejskim systemie bezpieczeństwa
11 CWICZENIE 1 SEMESTR LETNIid 12747 ppt

więcej podobnych podstron