Реферат Курсовая Конспект
Как звук выглядит на компьютере. - Курсовая Работа, раздел Образование, Курсовая работа на тему: «Звуковые эффекты» Пусть Есть Буфер Со Значениями. На Динамик Подается Напряжение Значением Из Б...
|
Пусть есть буфер со значениями. На динамик подается напряжение значением из буфера с определенной частотой (частота дискретизации). Таким образом в буфер записываются значения синуса с частотой, которую надо воспроизвести, но учитывая частоту дискретизации.
В Матлабе звук воспроизводит функция sound с параметрами:
Напишем несколько функций для работы со звуком.
Snd.m
function snd(sndbuf)
%функция проигрывает буффер по 44100 импульсов в сек
%sndbuf - звуковой буффер (строка)
if max(abs(sndbuf))>1
sndbuf=sndbuf/max(abs(sndbuf))/1.1;
end
sound([sndbuf;sndbuf]',44100,16);
Если не уменьшать амплитуду до 1 или меньше, то происходит урезание синусоиды, что приводит к резкому дистоншу (звук импульса).
Createbuf.m
function buf=createbuf(freq,time,garm,fun)
%создание буфера используя гармоники и функцию затухания
%freq - частота звука
%time - время звучания в секундах
%garm - набор амплитуд гармоник
%fun - функция затухания
t=0:1/44100:time;
w=2*pi*freq;
buf=0;
for i=1:length(garm)
buf=buf+garm(i)*sin(i*w*t);
end
buf=buf.*fun(t);
T.m
function t=T(varargin)
%оперделение периода, может быть не один параметр
%varargin - обратная величина к периоду
if length(varargin)>2
f2=1/T(varargin{2:length(varargin)});
t=lcm(varargin{1},f2)/(varargin{1}*f2);
elseif length(varargin)==2
t=lcm(varargin{1},varargin{2})/(varargin{1}*varargin{2});
else
error('T: too few arguments');
end
– Конец работы –
Эта тема принадлежит разделу:
На сайте allrefs.net читайте: "Курсовая работа на тему: «Звуковые эффекты»"
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Как звук выглядит на компьютере.
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов