Разработка информационных технологий воспроизведения звуковых файлов

Формат звукового файла wav, способ его кодирования. Реализация возможностей воспроизведения звука в среде программирования MATLAB. Составление функциональной схемы программы. Апробирование информационной технологии воспроизведения звуковых файлов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.02.2016
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Курсовая работа

по дисциплине «Информатика»

Разработка информационных технологий воспроизведения звуковых файлов

СОДЕРЖАНИЕ

звуковой кодирование программа воспроизведение

ВВЕДЕНИЕ

1. ТЕХНОЛОГИЯ ВОСПРОИЗВЕДЕНИЯ ЗВУКОВЫХ ФАЙЛОВ

1.1 Формат звукового файла wav, способ его кодирования и воспроизведения

1.2 Реализация возможностей воспроизведения звука в среде программирования MATLAB

2. РАЗРАБОТКА АЛГОРИТМА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

2.1 Составление функциональной схемы программы

2.2 Разработка интерфейса

2.3 Апробация работы программы

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ

Приложение А

Приложение В

ВВЕДЕНИЕ

В настоящее время сильно возросла потребность в воспроизведения звуковых файлов, множество людей ежедневно прослушивают музыкальные композиции, используя различные электронные устройства. Для каждого из данных устройств, требуется программное обеспечение, воспроизводящее звуковые файлы, которое принято называть звуковым плеером. Существует различные звуковые плееры, у каждого из них есть как достоинства, так и недостатки. С другой стороны определённому кругу пользователей требуется воспроизведение звуковых файлов с помощью специальных программных средств, одним из которых выступает язык программирования Matlab. Он обладает мощнейшим пакетом обработки сигналов signal processing box, но у него отсутствует оболочка для воспроизведения звуковых файлов, которая часто необходима для прослушивания пользователем звуковых файлов, находящихся в процессе обработки. В данной работе предполагается разработка интерфейса для проигрывания звукового файла формата *.wav

Цель работы повышение эффективности при работе с звуковыми файлами в системе Matlab. Для достижения данной цели были поставлены следующие задачи:

1. ознакомится с технологиями воспроизведения звуковых файлов.

2. разработать блок-схемы алгоритмов.

3. разработать и апробировать информационную технологию воспроизведения звуковых файлов.

Объектом исследования в данной работе выступает приложение Matlab для создания пользовательского интерфейса, GUI

Предметом исследования является аудиоплеер, который был создан на базе GUI.

Для решения поставленных задач привлекались методы исследования, такие как анализ, эксперимент, тестирование, анкетирование.

Курсовая работа состоит из пояснительной записки 36 страниц и программного приложения.

Пояснительная записка включает в себя: введение, два теоретических раздела, три практических раздела, заключение, список использованных источников и приложения.

1. ТЕХНОЛОГИЯ ВОСПРОИЗВЕДЕНИЯ ЗВУКОВЫХ ФАЙЛОВ

1.1 Способы кодирования и воспроизведения звука, формат звукового файла wav

Звук - это физическое природное явление, распространяющееся посредством колебаний воздуха и, следовательно, можно сказать, что мы имеем дело только с волновыми характеристиками. Задачей преобразования звука в электронный вид является повторение всех его этих самых волновых характеристик. Но электронный сигнал не является аналоговым, и может записываться посредством коротких дискретных значений. Пусть они имеют малый интервал между собой и практически неощутимы, на первый взгляд для человеческого уха, но мы должны всегда иметь ввиду, что имеем дело только с эмуляцией природного явления, именуемого звуком.

Такая запись именуется импульсно-кодовой модуляцией и являет собой последовательную запись дискретных значений взятых с определенной частотой [7].

Звуковые файлы - это файлы, содержащие цифровую запись аудиоданных (голоса, музыкальных произведений или их фрагментов и других звуков любой природы); существуют два основных типа звуковых файлов: с оцифрованным звуком и нотной записью.

Файлы с нотной записью -- звуковые файлы, которые содержат последовательность команд, сообщающих какую ноту и каким инструментом и как долго нужно воспроизводить в тот или иной момент времени. Формат может предусматривать одновременную игру нескольких музыкальных инструментов, в этом случае говорят о соответствующем количестве голосов.

Файлы с оцифрованным звуком -- звуковые файлы, в которых исходная непрерывная («аналоговая») форма сигнала записана в виде последовательности коротких дискретных значений амплитуд звукового сигнала, измеренных («выбранных») через одинаковые промежутки времени и имеющих между собой весьма малый интервал. Процесс замены непрерывного сигнала последовательностью его значений называют дискретизацией, а такую форму записи -- импульсно-кодовой [6].

Аппаратная реализация обработки оцифрованного звука состоит в том, что аналого-цифрового преобразователь (АЦП) преобразует аналоговый сигнал в множество цифровых замеров Последовательность этих замеров и составляет звуковой файл (wav-файл). При воспроизведении цифро-аналоговый преобразователь (ЦАП) осуществляет обратный процесс -- преобразование цифрового сигнала в аналоговый [2].

Любой звуковой файл можно представить, как базу данных. Она имеет свою структуру, о параметрах которой указывается обычно вначале файла. Потом идет структурированный список значений по определенным полям. Иногда вместо значений стоят формулы, позволяющие уменьшать размер файла [1].

Выборка, отсчёт (звукового сигнала) - дискретное (“мгновенное”) значение, соответствующее минимальному фрагменту исходного звукового сигнала, который подается на вход аналого-цифрового преобразователя (“АЦП”) при записи звука или получается с использованием цифро-аналогового преобразователя (“ЦАП”) при его воспроизведении. Выборка характеризует амплитуду звукового сигнала и обычно представляет собой целое число (8 или 16 бит). Она может производиться по одному каналу (моно), двум (стерео) или большему числу каналов. Процесс разделения сигнала на выборки называется квантованием.

Частота дискретизации - Величина, которая определяет сколько раз в секунду производится считывание выборок из аналогового сигнала. При цифровой записи звуков частота дискретизации измеряется в герцах и килогерцах. Чем выше частота дискретизации, тем выше качество звука. Однако соответственно увеличивается и объём записи. Для определения оптимальной частоты и разрядности необходимо найти компромисс между звуковым качеством и размером данных.

Waveform Audio File Format (WAVE, WAV, от англ. waveform -- «в форме волны») -- формат файла-контейнера для хранения записи оцифрованного аудиопотока. Этот контейнер, как правило, используется для хранения несжатого звука в импульсно-кодовой модуляции. Однако контейнер не налагает каких-либо ограничений на используемый алгоритм кодирования. Формат WAV является стандартом для хранения аудио потока на ПК. Он является сферой приложения формата RIFF для хранения аудио в «цепочках», это очень напоминает форматы 8SVX и AIFF, используемые компьютерами Amiga и Macintosh соответственно. Это также основной формат на системах Windows для хранения обычного несжатого звука. Как правило, для этого применяется кодирование методом линейной импульсно-кодовой модуляции[3].

1.2 Реализация возможностей воспроизведения звука в среде программирования MATLAB

При разработки данного плеера был задействован компонент Matlab GUI(Graphical user interface). GUI - это разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее и исполнены в виде графических изображений. В отличие от интерфейса командной строки, в графическом интерфейсе пользователь имеет произвольный доступ ко всем видимым экранным объектам (элементам интерфейса) и осуществляет непосредственное манипулирование ими. Чаще всего элементы интерфейса в графический интерфейс реализованы на основе метафор и отображают их назначение и свойства, что облегчает понимание и освоение программ неподготовленными пользователями[5].

Преобразование аналогового сигнала в цифровой и обратно - это процессы, которые выполняются аппаратными средствами. Matlab же, будучи программным пакетом, может лишь взаимодействовать с соответствующим оборудованием. Кроме того, в Matlab предусмотрены средства для воспроизведения и записи звука, а также для работы со звуковыми файлами формата WAV.

Для считывания WAV-файлов в Matlab имеется функция waveread.

y = wavread (`filename'); где filename - имя звукового файла (расширение .wav указывать необязательно).В результате выполнения функции в переменную y будет перемещено всё содержимое указанного файла. Строки матрицу y соответствуют отсчётам сигнала, столбцы - каналам, которых в WAV-файле может быть несколько. В звуковом файле отсчёты сигнала представлены целыми числами, лежащими в диапазоне -128..+127 (8 бит на отсчёт), либо-32768…+32767 (16 бит на отсчёт). Управлять нормировкой считываемых отсчётов можно с помощью дополнительного строкового параметра `fmt', добавляемого в конце списка входных параметров функции waveread. При принятом по умолчанию варианте `double' значения отсчётов приводятся в диапазоне -1..+1, а при значении `native' функция возвращает целые числа в том виде, в котором они хранятся в WAV-файле[4].

Помимо собственно отсчётов, в WAV-файле хранится служебная информация о частоте дискретизации, количество бит на отсчёт и т.п. Узнать частоту дискретизации и количество бит на отсчёт можно, используя при вызове функции дополнительные выходные параметры:

[y,Fs, N] = wavread (`filename');

Для того что-бы записать вектор (или матрицу) на диск в виде WAV-файла, используется функция wavwrite:

wavwrite (y,Fs,N,`filename');

Здесь:

y - записываемые данные (вектор для монофонической записи, двухстолбцовая матрица - для создания стереофайла);

Fs - частота дискретизации в герцах;

Типичные значения поддерживаются большинством звуковых карт являются 8000, 11025, 22050, 44100, 48000 и 96000 Гц.

N - число бит на отсчёт (8 или 16); Биты в образце. Укажите только тогда, когда сигнал Y представляет значения с плавающей точкой.Допустимые значения зависят от оборудования, установленного аудио: 8 , 16 или 24 .По умолчанию: 16

`filename' - имя создаваемого файла.

Выходных параметров у данной функции нет. Параметры N и Fs можно опускать, при этом используются значения по умолчанию - N=16 и Fs=8000.

Начиная с версии Matlab 5.0, в системе несколько расширены средства для работы со звуком. Ниже приведено описание основных команд для воспроизведения звуковых сигналов:

sound(y,Fs) -- воспроизводит сигнал из вектора y с частотой дискретизации Fs с помощью колонок, подключенных к звуковой карте компьютера. Компоненты y могут принимать значения в следующих пределах -1.0 ? у ? 1.0. Для воспроизведения стереозвука на допускающих это компьютерных платформах y должен быть матрицей размера М x 2;

Оператор sound хотя и воспроизводят звук, но не подходят, так как в плеере понадобится ставить воспроизведение на паузу и затем воспроизводить вновь с того же места. Для того что-бы ставить файл на паузу и воспроизводить с того же места, надо объявить переменную типом audioplayer предварительно считав в ней *.wav файл. player =audioplayer(y,Fs,nBits) при этом создается объект типа аудиоплеер из сигнала y с частотой дискретизации Fs и числом бит на отсчёт nBits .

Для управлением аудиоплеером существуют стандартные команды.

isplaying(y)- Если в момент запроса файл воспроизведение то команда выдаст 1, если нет 0.

pause(y)- ставит воспроизведение файла на паузу.

playblocking(y)-файл начинает воспроизводиться, но блокируется управление плеером до конца воспроизведение.

resume(y)- продолжает воспроизводить файл с паузы.

stop(y)- остановка воспроизведение.[8]

Из данного теоретического раздела важно усвоить, что запись звук в электронном виде хранится в виде последовательности коротких дискретных значений амплитуд звукового сигнала, а среда программирования Matlab располагает широкими возможностями для работы со звуком.

2 РАЗРАБОТКА АЛГОРИТМА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

2.1 Составление функциональной схемы программы

Одним этапов создания плеера является разработка структуры проектируемого приложения, которое отражает структурное построение различных частей программы и их функциональное назначение. На рисунке 1 приведена функциональная схема программы.

Рисунок 1 - Функциональная схема программы.

Функциональная схема имеет три основных блока, таких как блок управления, файлом, блок управления воспроизведением и блок информации о файле.

Блок управления фалом включает в себя функцию открытия файла, после данного блока, алгоритм разветвляется и идет на два других блока.

Блок управления воспроизведением вкачает в себя функцию начало воспроизведения, остановки воспроизведения и прерывания воспроизведения.

Блок информации о файле выводит пользователю информацию о плеере, файле, статусе воспроизведения, дополнительную информацию о файле, график звука и график звука в отдельном окне.

2.2 Разработка интерфейса

Многим пользователем неважно, каким образом воспроизводится файл, как работает пауза и выводится график. Им важно, что бы запуская данный плеер, они могли сразу, без дополнительного обучения пользоваться всеми заявленными функциями. Интерфейс плеера создавался таким образом, что бы быть максимально понятным конечному числу пользователей. Все надписи в программе написаны на международном английском языке, что делает программу интернациональной и доступной для большего числа пользователе.

Интерфейс программы прост, эргономичен, и выполнен в одной цветовой гамме, что бы ни отвлекать и не запутать пользователя.

В плеере присутствуют основные функции работы со звуковым файлом: открыть файл, воспроизвести файл, остановить и прервать воспроизведение, кроме того в плеере есть ряд других функции которые расширяют функционал плеера, дают дополнительную информацию о файле и облегчают работу пользователя. На рисунке 2 можно увидеть скриншот графического интерфейса плеера с пояснениями.

Рисунок 2- скриншот графической оболочки плеера с пояснениями

На рисунке 2 приняты следующие обозначения элементов

Кнопка “Открытие файла для воспроизведения”

Кнопка “Воспроизведение файла”

Кнопка “Остановки воспроизведения”

Кнопка “Прерывная воспроизведения”

График звука

Кнопка “звука в новом окне”

Кнопка меню “работа с файлом”

Кнопка меню “управление воспроизведением”

Кнопка меню “дополнительная информации”

Текстовое поле выводящее пут файла

Текстовое поле выводящее статус воспроизведения

Текстовое поле выводящее временя звучание файла

Текстовое поле выводящее размер файла

Текстовое поле выводящее битрейт файла

Подробное разъяснение назначения и принципа работы каждой кнопки.

1) При нажатии на кнопку “open” появляется диалоговое окно открытия файла для воспроизведения, которое можно увидеть на рисунке 3. По умолчанию открывается папка, в которой лежат документы Matlab , фильтр файлов позволяет выбрать только файл нужного расширения media files (*.wav), также в ручную можно выбрать тип файла All Files. Затем аудиозапись считывается в переменную в виде массива чисел после переменная объявляется типом audioplayer, и начинается воспроизведение. В текстовое поле 10 выводится путь файла, а в поле 11 выводится сообщение о начале воспроизведение. В поле 12 выводится длительность звучания композиции, минуты и секунды разделены двоеточием. В поле 13 выводится размер воспроизводимого файла в килобайтах. В поле 14 выводится сообщение о том, какой звуковой файл, mono или stereo . В поле 15 выводится битрейт проигрываемого файла. В окне 5 строится график звука. Переменный которые понадобятся и в других функциях объявляются глобальными.

Листинг программы реализующей функцией кнопки 1 представлен в приложении А

Рисунок 3- скриншот диалогового окно открытия файла

2) При нажатии на кнопку “play” происходит воспроизведение звукового файла и в поле 11 выводится сообщение о начале воспроизведение файла.

листинг кнопки

function playsounds_Callback(hObject, eventdata, handles)

y=handles.y;

resume(y);

set(handles.statustext,'String',' playback)

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

3) При нажатии на кнопку pause происходит остановка воспроизведение звукового файла и в поле 11 выводится сообщение о остановка воспроизведения.

function pausesounds_Callback(hObject, eventdata, handles)

y=handles.y;

pause(y)

set(handles.statustext,'String','pause')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

4) При нажатии на кнопку stop происходит прерывание воспроизведение звукового файла и в поле 11 выводится сообщение о прерывание воспроизведения.

function stopsounds_Callback(hObject, eventdata, handles)

y=handles.y;

stop(y)

set(handles.statustext,'String','stop')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

5) в данном окне строится график звука, он служит в ознакомительных целях и строится автоматически при открытие файла. Для более детального рассмотрения графика звука, надо нажать на кнопку 6. По оси x откладываются отчеты по оси y амплитуда.

Листинг графика

plot(x,'-b')

6)При нажатие на кнопку “zoom” в новом окне открывается график звука ,который можно увидеть на рисунке 4, при этом имеются дополнительные возможности при работе с графиками, по оси x откладываются отчеты по оси y амплитуда.

Листинг графика

function pushbutton10_Callback(hObject, eventdata, handles)

x=handles.x;

figure(1), plot(x,'-b')

title('diagram of sound ')

xlabel('counts')

ylabel('amplitude ')

Рисунок 4- График звука в новом окне

Меню программы

Меню программы, который можно увидеть на рисунке 5 состоит из 3 пунктов, которые включают в себя другие подпункты.

Рисунок 5- Меню программы

7) При нажатие на кнопку меню File, появляется список изображенный на рисунок 6, состоящий из двух подпунктов Open(7.1) и Exit(7.2)

Рисунок 6- Подменю кнопки File

7.1) При нажатии на кнопку open происходит тоже самое, что и при нажатии кнопки open под номером 1 в главном окне программы. Пользователь выбирает путь к файлу, файл считывается и воспроизводится.

Данную функцию можно вызвать с помощью `горячих клавиш' Ctrl+O, которое выполняет аналогичное действие во многих других программах

Листинг кнопки

Приложение А

7.2)При нажатии на кнопку Exit, воспроизведения плеера прерывается, и плеер завершает свою работу.

Листинг

function Exit1_Callback(hObject, eventdata, handles)

delete(handles.plotsounds)

8)При нажатие на кнопка меню Player, появляется список, изображенный на рисунке 7, состоящий из трех подпунктов play(8.1), pause(8.2) и stop(8.3)

Рисунок 7- Подменю кнопки Player

8.1) При нажатии на кнопку play происходит воспроизведение звукового файла и в поле 11 выводится сообщение о начале воспроизведение файла.

листинг кнопки

function play1_Callback(hObject, eventdata, handles)

y=handles.y;

resume(y);

set(handles.statustext,'String',' playback ')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

8.2) При нажатии на кнопку pause происходит остановка воспроизведение звукового файла и в поле 11 выводится сообщение о постановки на паузу.

листинг кнопки

function pause111_Callback(hObject, eventdata, handles)

y=handles.y;

pause(y)

set(handles.statustext,'String','pause')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

8.3) При нажатии на кнопку pause происходит остановка прерывание воспроизведение звукового файла и в поле 11 выводится сообщение о прерывание воспроизведения. Кнопка имеет стандартные параметры.

листинг кнопки

function stop1_Callback(hObject, eventdata, handles)

y=handles.y;

stop(y)

set(handles.statustext,'String','Стоп')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

9)При нажатие на кнопка меню About, появляется список, изображенный на рисунке 8, состоящий из двух подпунктов More sound info (9.1) и About (9.1)

Рисунок 8- Подменю кнопки About

9.1) При нажатии на кнопку More sound info откроется новое окно, в котором будет указана частота дискретизации в герцах и число бит на один отчет. Окно с выводимой информацией представлено на рисунке 9

Рисунок 9- Окно выводящее дополнительную информацию о файле

Листинг выводимого окна

function More_Callback(hObject, eventdata, handles)

b=handles.b;

f=handles.f;

str1=['returns the sample rate ',int2str(f),' Hz' ]

str2=['returns the number of bits ',int2str(b),' bit' ]

h = msgbox({str1;str2}, 'More sound info')

set(h, 'WindowStyle', 'modal')

9.2)При нажатии на кнопку About откроется новое окно, в котором содержится информация о разработчике, e-mail, место и дата создания. Окно с выводимой информацией представлено на рисунке 10

Рисунок 10- Окно выводящее информацию о разработчике

Листинг выводимого окна

function Untitled_1_Callback(hObject, eventdata, handles)

h = msgbox({' Wav Player for Matlab';'';'developed by: Fonov Aleksey';' Wakeup77794@gmail.com';'';' NRU “BelSU” March-May 2013'}, 'About')

set(h, 'WindowStyle', 'modal')

10) В это поле выводится путь проигрываемого файла

Листинг

Где FullName переменная текстового вида, в которую занесен путь файла.

set(handles.waytext, 'String', FullName)

set(handles.waytext,'ForegroundColor','k')

set(handles.waytext,'FontSize',9)

12) В это поле выводится длительность звучания композиции, минуты и секунды разделены двоеточием.

Листинг

Где siz размер массива в который занесен аудиофайл

timesec=round(siz(1)/f);

timemin=0;

while timesec>=60

timesec=timesec-60;

timemin=timemin+1;

end

str1=['time ',int2str(timemin),' : ',int2str(timesec),' minute' ]

set(handles.text11,'String',str1)

set(handles.text11,'ForegroundColor','k')

set(handles.text11,'FontSize',9)

11) В это поле выводится состоянии воспроизведение

Листинг

set(handles.statustext,'String','playback')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

13) В это поле выводится размер воспроизводимого файла в килобайтах.

Листинг

sizall=siz(1)*siz(2)*b/8192;

str2=['size ',int2str(sizall),' kb' ]

set(handles.text12,'String',str2)

set(handles.text12,'ForegroundColor','k')

set(handles.text12,'FontSize',9)

14) В это поле выводится сообщение о том, какой звуковой файл mono или stereo

Листинг

if siz(2)==1; str3='mono'; else str3='stereo'; end;

set(handles.text13,'String',str3)

set(handles.text13,'ForegroundColor','k')

set(handles.text13,'FontSize',9)

15) В это поле выводится битрейт проигрываемого файла.

Листинг

str4=[int2str(round(b*f/1024)),' бит/с' ]

set(handles.text14,'String',str4)

set(handles.text14,'ForegroundColor','k')

set(handles.text14,'FontSize',9)

16) При нажатие правой клавиши мыши на любое место программы за исключением кнопок, появляется контекстное меню из двух пунктов, изображенных на рисунке 11 play/pause(16.1) exit(16.2)

Рисунок 11- Окно контекстного меню

16.1) при нажатии на кнопку play/pause воспроизведение песни остановится или наоборот продолжится, если проигрывание файла уже было паузе

листинг

function pause2_Callback(hObject, eventdata, handles)

y=handles.y;

if isplaying(y)==0

resume(y);p='playback'

else

pause(y);p='pause';end

set(handles.statustext,'String',p)

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13);

16.2) При нажатии на кнопку Exit воспроизведения плеера прерывается, и плеер завершает свою работу.

Листинг

function Exit1_Callback(hObject, eventdata, handles)

delete(handles.plotsounds)

Полный листинг программы находится в приложении В

2.3 Апробация работы программы

Для проверки работоспособности приложения был проведены тестовые испытания в реальных условиях, в качестве экспертов были выбраны студенты, которым было предложено интуитивно оценить интерфейс приложения и работу программы без предварительного инструктажа. Студенты были разделены на четыре группы:

1 группа, владеющая английский язык и Matlab.

2 группа, не владеющая английский языком и владеющая Matlab.

3 группа, владеющая английский языком и не владеющая Matlab.

4 группа, не владеющая английский языком и Matlab.

Всего было опрошено 16 человек, по 4 на каждую группу. Программа оценивалась по трем критериям: удобство, понятность, функциональность; оценки выставлялись по пятибалльной шкале, где 5 это отлично, 1 очень плохо. Все результаты для наглядности были занесены в таблицу 1, в таблице имеется графа “Усредненные результаты тестирования” в которой отражен средний бал среди четырех групп по одному из критериев оценки.

Таблица 1 - Оценка приложения группой экспертов.

Критерии

Группы экспертов

Усредненные результаты тестирования

1 группа

2 группа

3 группа

4 группа

Удобство

4,5

4,5

5

5

4,7

Понятность

5

4,5

4

3,5

4,2

Функциональность

5

4

4,5

4

4,4

Из таблицы 1 видно, что высшую оценку программы дала группа, которая владеет английским языком и Matlab, а низшую та группа, которая не владеет английским языком и Matlab. Усреднённые результаты тестирования показывают, что все три критерия оценки в диапазоне от 4 до 5, что является хорошим результатом для данной программы.

Из данного практического раздела можно узнать, что созданный плеер полностью соответствует тем параметрам и требованиям, которые на него возлагались, тем самым оправдывая главную цель по повышение эффективности при работе со звуковыми файлами в системе MatLab.

ЗАКЛЮЧЕНИЕ

Цель данной курсовой достигнута, все поставленные задачи выполнены, получены следующие основные результаты.

Задача1. С технологией воспроизведения звуковых файлов ознакомились.

Задача2. Блок схемы алгоритмов разработаны.

Задача3. Технология воспроизведения звуковых файлов разработана и апробирована.

В настоящей курсовой работе был создан плеер для прослушивания музыки в среде программирования MatLab. Данный плеер существенно повысил эффективность работы со звуковыми файлами. Пользователю больше ненужно придумывать писать дополнительные строки кода, теперь он может воспользоваться готовым универсальным решение.

Важно понимать, что запись звук в электронном виде хранится в виде последовательности коротких дискретных значений амплитуд звукового сигнала, а среда программирования Matlab располагает широкими возможностями для работы со звуком.

Созданный плеер полностью соответствует тем параметрам и требованиям, которые на него возлагались, тем самым оправдывая главную цель по повышение эффективности при работе со звуковыми файлами в системе MatLab. Все задачи, поставленные при разработки были выполнены в полной мере с помощью таких методов исследования как: анализ, эксперимент, тестирование, анкетирование.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Воройский, Ф.С. Информатика. Новый систематизированный толковый словарь-справочник (Введение в современные информационные и телекоммуникационные технологии в терминах и фактах) [Текст] -- 3-е изд., перераб. и доп. -- М.: ФИЗМАТЛИТ, 2010. -- 760 с.

2. Леонтьев В.П. Обработка музыки м звука на компьютере [Текст] -М.:ОЛМА-ПРЕСС, 2014.-192 с.

3. Д. Сэломон Сжатие данных, изображения и звука [Текст] Москва: Техносфера, 2004.- 386c.

4. Кетков Ю.Л., Кетков А. Ю., Шульц М. М MATLAB 7: программирование, численные методы [Текст] -- СПб.:БХВ-Петербург, 2009. -- 752 с.

5. Дьяконов В.П. MATLAB 7.*/R2006/R2007: Самоучитель [Текст] - М.: ДМК Пресс, 2012. - 768 с.: ил.

6. Звуковые файлы megabook.ru - Большая энциклопедия Кирилла и Мефодия (БЭКМ) [Электронный ресурс] -- электронная мульти- медийная энциклопедия http://www.megabook.ru/Article.asp?AID=606929,

7. Форматы звуковых файлов music4sale.ru [Электронный ресурс] - music4sale Портал музыкантов

http://www.music4sale.ru/articles/knowledge_base/52/

8. Documentation Center mathworks.com [Электронный ресурс] - The official website of Matlab

http://www.mathworks.com/help/matlab/index.html

ПРИЛОЖЕНИЯ

Приложение А

function varargout = plFinalAprel_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function opensounds_Callback(hObject, eventdata, handles)

% Получение имени и пути к файлу

[FileName,PathName,FilterIndex] = uigetfile({'*.wav;','media files (*.wav)';'*.*', 'All Files (*.*)'},'Open File','') ;

% Проверка, был ли выбран файл

if FileName~=0;

% Формирование полного пути к файлу

FullName = [PathName FileName];

% Считывание файла

[x,f,b]=wavread(FullName);

siz = wavread(FullName,'size');

y = audioplayer(x,f,b);

play(y);

set(handles.waytext, 'String', FullName)

set(handles.waytext,'ForegroundColor','k')

set(handles.waytext,'FontSize',9)

set(handles.statustext,'String','playback')

% задание красного цвета текста

set(handles.statustext,'ForegroundColor','k')

% задание размера шрифта 10пт

set(handles.statustext,'FontSize',13)

% % % СВОЙСТВО ФАЙЛА

timesec=round(siz(1)/f);

timemin=0;

while timesec>=60

timesec=timesec-60;

timemin=timemin+1;

end

sizall=siz(1)*siz(2)*b/8192;

str1=['play time ',int2str(timemin),' : ',int2str(timesec),' minute' ]

set(handles.text11,'String',str1)

set(handles.text11,'ForegroundColor','k')

set(handles.text11,'FontSize',9)

str2=['size ',int2str(sizall),' kb' ]

set(handles.text12,'String',str2)

set(handles.text12,'ForegroundColor','k')

set(handles.text12,'FontSize',9)

if siz(2)==1; str3='mono'; else str3='stereo'; end;

set(handles.text13,'String',str3)

set(handles.text13,'ForegroundColor','k')

set(handles.text13,'FontSize',9)

str4=[int2str(round(b*f/1024)),' бит/с' ]

set(handles.text14,'String',str4)

set(handles.text14,'ForegroundColor','k')

set(handles.text14,'FontSize',9)

plot(x,'-b')

handles.y = y;

handles.b= b;

handles.f = f;

handles.x = x;

guidata(hObject, handles);

end

Приложение В

Листинг программы

function varargout = plFinalAprel(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @plFinalAprel_OpeningFcn, ...

'gui_OutputFcn', @plFinalAprel_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

function plFinalAprel_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

set(handles.waytext,'String',' To start playing, select *.wav fail.')

set(handles.waytext,'ForegroundColor','k')

set(handles.waytext,'FontSize',10)

guidata(hObject, handles);

guidata(hObject, handles);

function varargout = plFinalAprel_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function opensounds_Callback(hObject, eventdata, handles)

[FileName,PathName,FilterIndex] = uigetfile({'*.wav;','media files (*.wav)';'*.*', 'All Files (*.*)'},'Open File','') ;

% Проверка, был ли выбран файл

if FileName~=0;

% Формирование полного пути к файлу

FullName = [PathName FileName];

% Считывание файла

[x,f,b]=wavread(FullName);

siz = wavread(FullName,'size');

y = audioplayer(x,f,b);

play(y);

set(handles.waytext, 'String', FullName)

set(handles.waytext,'ForegroundColor','k')

set(handles.waytext,'FontSize',9)

set(handles.statustext,'String','playback')

% задание красного цвета текста

set(handles.statustext,'ForegroundColor','k')

% задание размера шрифта 10пт

set(handles.statustext,'FontSize',13)

% % % СВОЙСТВО ФАЙЛА

timesec=round(siz(1)/f);

timemin=0;

while timesec>=60

timesec=timesec-60;

timemin=timemin+1;

end

sizall=siz(1)*siz(2)*b/8192;

str1=['time ',int2str(timemin),' : ',int2str(timesec),' minute' ]

set(handles.text11,'String',str1)

set(handles.text11,'ForegroundColor','k')

set(handles.text11,'FontSize',9)

str2=['size ',int2str(sizall),' kb' ]

set(handles.text12,'String',str2)

set(handles.text12,'ForegroundColor','k')

set(handles.text12,'FontSize',9)

if siz(2)==1; str3='mono'; else str3='stereo'; end;

set(handles.text13,'String',str3)

set(handles.text13,'ForegroundColor','k')

set(handles.text13,'FontSize',9)

str4=[int2str(round(b*f/1024)),' бит/с' ]

set(handles.text14,'String',str4)

set(handles.text14,'ForegroundColor','k')

set(handles.text14,'FontSize',9)

plot(x,'-b')

handles.y = y;

handles.b= b;

handles.f = f;

handles.x = x;

guidata(hObject, handles);

end

function playsounds_Callback(hObject, eventdata, handles)

y=handles.y;

resume(y);

set(handles.statustext,'String','playback')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

function pausesounds_Callback(hObject, eventdata, handles)

y=handles.y;

pause(y)

set(handles.statustext,'String','pause')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

function stopsounds_Callback(hObject, eventdata, handles)

y=handles.y;

stop(y)

% размещение текста

set(handles.statustext,'String','stop')

% задание красного цвета текста

set(handles.statustext,'ForegroundColor','k')

% задание размера шрифта 10пт

set(handles.statustext,'FontSize',13)

function File1_Callback(hObject, eventdata, handles)

function Player1_Callback(hObject, eventdata, handles)

function About1_Callback(hObject, eventdata, handles)

function play1_Callback(hObject, eventdata, handles)

y=handles.y;

resume(y);

set(handles.statustext,'String','playback')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

function stop1_Callback(hObject, eventdata, handles)

y=handles.y;

stop(y)

set(handles.statustext,'String','stop')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

function Open1_Callback(hObject, eventdata, handles)

[FileName,PathName,FilterIndex] = uigetfile({'*.wav;','media files (*.wav)';'*.*', 'All Files (*.*)'},'Open File','') ;

if FileName~=0;

FullName = [PathName FileName];

[x,f,b]=wavread(FullName);

siz = wavread(FullName,'size');

y = audioplayer(x,f,b);

play(y);

set(handles.waytext, 'String', FullName)

set(handles.waytext,'ForegroundColor','k')

set(handles.waytext,'FontSize',9)

set(handles.statustext,'String','playback')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

timesec=round(siz(1)/f);

timemin=0;

while timesec>=60

timesec=timesec-60;

timemin=timemin+1;

end

sizall=siz(1)*siz(2)*b/8192;

str1=['play time ',int2str(timemin),' : ',int2str(timesec) ]

set(handles.text11,'String',str1)

set(handles.text11,'ForegroundColor','k')

set(handles.text11,'FontSize',9)

str2=['size',int2str(sizall),' kb' ]

set(handles.text12,'String',str2)

set(handles.text12,'ForegroundColor','k')

set(handles.text12,'FontSize',9)

if siz(2)==1; str3='mono'; else str3='stereo'; end;

set(handles.text13,'String',str3)

% задание красного цвета текста

set(handles.text13,'ForegroundColor','k')

% задание размера шрифта 10пт

set(handles.text13,'FontSize',9)

str4=[int2str(round(b*f/1024)),' бит/с' ]

set(handles.text14,'String',str4)

set(handles.text14,'ForegroundColor','k')

set(handles.text14,'FontSize',9)

plot(x,'-b')

handles.y = y;

handles.b= b;

handles.f = f;

handles.x = x;

guidata(hObject, handles);

end

function Exit1_Callbac,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,k(hObject, eventdata, handles)

delete(handles.plotsounds)

function pause2_Callback(hObject, eventdata, handles)

y=handles.y;

if isplaying(y)==0

resume(y);p='playback'

else

pause(y);p='pause';end

set(handles.statustext,'String',p)

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13);

function exet2_Callback(hObject, eventdata, handles)

delete(handles.plotsounds)

function Untitled_1_Callback(hObject, eventdata, handles)

h = msgbox({' Wav Player for MatLab';'';'developed by: Fonov Aleksey';' Wakeup77794@gmail.com';'';' NRU “BelSU” March-May 2013'}, 'About')

set(h, 'WindowStyle', 'modal')

function More_Callback(hObject, eventdata, handles)

b=handles.b;

f=handles.f;

str1=['returns the sample rate ',int2str(f),' Hz' ]

str2=['returns the number of bits ',int2str(b),' bit' ]

h = msgbox({str1;str2}, 'More sound info')

set(h, 'WindowStyle', 'modal')

function pushbutton10_Callback(hObject, eventdata, handles)

x=handles.x;

figure(1), plot(x,'-b')

title('diagram of sound ')

xlabel('counts')

ylabel('amplitude ')

function pause111_Callback(hObject, eventdata, handles)

y=handles.y;

pause(y)

set(handles.statustext,'String','pause')

set(handles.statustext,'ForegroundColor','k')

set(handles.statustext,'FontSize',13)

Размещено на Allbest.ru


Подобные документы

  • Генерирование и сохранение мелодии в виде звукового файла формата wav. Проведение частотного анализа полученного сигнала. Зависимость объема wav-файлов от разрядности кодирования сигнала. Спектр нот записанного wav-файла с заданной разрядностью.

    лабораторная работа [191,0 K], добавлен 30.03.2015

  • Визуальный компонент, используемый для создания главного меню на форме, создание закладки и добавление в список воспроизведения музыкального файла. Определение повторения воспроизведения и отображение списков строк, проигрывание аудио и видео файлов.

    лабораторная работа [128,7 K], добавлен 27.03.2012

  • Создание оболочки для воспроизведения аудиофайлов. Аналитический обзор языков программирования, их сравнительные характеристики, описание предметной области и формата mp3. Алгоритм разработки инсталляционного пакета. Диаграмма деятельности объектов.

    курсовая работа [581,3 K], добавлен 30.01.2014

  • Модели звуковых карт, их возможности, качество звука и размеры. Устройство звуковых карт и принципы их функционирования. Методы генерации звука, применяющиеся в звуковых платах. Особенности системы пространственного звуковоспроизведения Dolby Digital.

    реферат [34,8 K], добавлен 13.03.2011

  • Исследование проблемы сравнения звуковых файлов и определение степени их схожести. Сравнение файлов с использованием метода нечеткого поиска, основанного на метрике (расстоянии) Левенштейна. Сравнение MIDI-файлов и реализация алгоритмов считывания.

    курсовая работа [2,0 M], добавлен 14.07.2012

  • Характеристика программы Winamp — универсального проигрывателя от компании Nullsoft для воспроизведения файлов мультимедиа и потоковой передачи в среде Microsoft Windows. Описание интерфейса и настройка программы. Алгоритм создания музыкальной библиотеки.

    курсовая работа [1,5 M], добавлен 15.02.2013

  • Создание информационной мультимедиа системы (медиа-плеера) для презентации аудио-видео информации о факультете КТАС, представленной в специально отснятых и смонтированных avi-файлах. Разработка модуля пользовательского интерфейса, выходные данные.

    курсовая работа [41,5 K], добавлен 21.11.2014

  • Основные сведения о звуковых волнах, их характеристики и спектральное представление звука. Виды искажений, помехи и шумы. Состав звуковых плат. Назначение и стандарты midi-систем. Запись и передача звука, формат mp3. Основные программные интерфейсы.

    курс лекций [811,6 K], добавлен 08.07.2010

  • Характеристика форматов файлов wav и mp3. Построение диаграмм прецедентов, разработка графического интерфейса и архитектуры приложения. Разработка алгоритмов работы программы: метод TrimWavFile, TrimMp3, ChangeVolume, speedUpX1_2, speedDownX1_2.

    курсовая работа [2,7 M], добавлен 20.12.2013

  • Изучение основных этапов программирования на ассемблере, который является символическим представлением машинного языка, то есть каждой машинной команде соответствует команда ассемблера. Реализация алгоритма выполнения программы для просмотра bmp файлов.

    курсовая работа [248,0 K], добавлен 25.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.