Разработка программы по воспроизведению и обрезке mp3 и wav файлов

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    696,98 Кб
  • Опубликовано:
    2013-11-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка программы по воспроизведению и обрезке mp3 и wav файлов

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

. ПОСТАНОВКА ЗАДАЧИ

1.1 Теоретическое введение

.1.1   Формат WAV

.1.2   Формат MP3

1.2 Постановка задачи

. ПРОЕКТИРОВАНИЕ

.1 Выбор операционной системы

.2 Выбор языка программирования

.3 Выбор программного обеспечения промежуточного уровня

.4 Выбор инструментальных средств

. РАЗРАБОТКА

.1 Выбор архитектуры системы

.2 Построение диаграмм прецедентов

.3 Разработка вариантов использования

.4 Разработка графического интерфейса

.5 Разработка архитектуры приложения

.6 Разработка алгоритмов работы программы

.6.1 Метод TrimWavFile класса AudioProcessing

3.6.2 Метод TrimMp3 класса AudioProcessing

.6.3 Метод ChangeVolume класса AudioProcessing

.6.4 Метод speedUpX1_2 класса AudioProcessing

.6.5 Метод speedDownX1_2 класса AudioProcessing

4. ТЕСТИРОВАНИЕ ПРОГРАММЫ

.1 Тестируемые функции

.2 Тестирование

. РУКОВОДСТВО ОПЕРАТОРА

.1 Назначение программы

.2 Технические средства для запуска программы

.3 Работа с программой

ВЫВОДЫ

ПЕРЕЧЕНЬ ССЫЛОК

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

На сегодняшний день существует множество различных программ для обработки цифрового аудио и каждая из них уникальна по-своему. Основные возможности таких программ это, как минимум, обеспечение возможности записи (оцифровки) аудио и сохранение на диск. Развитые представители такого рода программ позволяют намного больше: запись, многоканальное сведение аудио на нескольких виртуальных дорожках, обработка специальными эффектами (как встроенными, так и подключаемыми извне), очистка от шумов, имеют развитую навигацию и инструментарий в виде спектроскопа и прочих виртуальных приборов, управление/управляемость внешними устройствами, преобразование аудио из формата в формат, генерация сигналов, запись на компакт диски и многое другое.

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

Для реализации данного проекта был выбран язык C#, как один из лучших и простых объектно-ориентированных языков программирования на данный момент.

Для достижения цели курсовой работы поставлены следующие задачи:

·       Изучить литературу по данной теме

·       Выбрать библиотеку для работы с аудио

·       Написать классы позволяющие воспроизводить и обрабатывать WAV и MP3 файлы

1. ПОСТАНОВКА ЗАДАЧИ

1.2    Теоретическое введение

.2.1   Формат WAV

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

Как WAV, так и AIFF совместимы с операционными системами Windows, Macintosh или Linux. Формат также учитывает некоторые отличия процессоров Intel, такие как порядок байтов от младшего к старшему. RIFF формат выполняет роль обертки для различных кодеков аудио сжатия.

Несмотря на то, что WAV файл может содержать сжатое аудио, наиболее обычным его применением является хранение как раз несжатого аудио в формате линейной импульсно-кодовой модуляции (LPCM). Стандартным форматом Audio-CD, например, является аудио в формате LPCM, с 2 каналами, частотой дискретизации 44 100 Гц и 16 бит на сэмпл (минимальная часть аудио сигнала, содержащая амплитудное значение звуковой волны). Так как формат LPCM хранит несжатое аудио, которое абсолютно идентично оригиналу, это позволяет использовать его профессиональным пользователям и аудио экспертам для получения максимального качества звучания. WAV аудио файл также может быть изменен практически в любом аудио редакторе. WAV формат работает со сжатым звуком в системах семейства Windows через Audio Compression Manager (ACM). Любой ACM кодек может быть использован для сжатия WAV файла. Пользовательский интерфейс для ACM может быть доступен через множество программ, включая и стандартную программу для записи звука в некоторых версиях Windows.

Начиная с Windows 2000, появился заголовок WAVE_FORMAT_EXTENSIBLE, который позволял хранить многоканальные аудио данные, учитывал расположение динамиков, исключал неоднозначности в плане типов сэмпла и размеров контейнера в стандартном WAV формате. Также он поддерживал произвольные расширения формата чанка.

Также существует много несоответствий в формате WAV: например, 8-битные данные являются без знаковыми, в то время как 16-битные - знаковыми.файлы могут содержать встроенные IFF «списки», которые могут содержать несколько «подчанков».

Будучи форматом, производным от Resource Interchange File Format (RIFF), WAV-файлы могут быть иметь метаданные (тэги) в чанке INFO. В дополнение к этому, в WAV файлы может быть встроены метаданные стандарта Extensible Metadata Platform (XMP).файлы достаточно большие, что делает этот формат неудобным для обмена по сети Интернет, и это сильно подрывает его популярность. Однако, этот формат - как правило, чаще всего используется для сохранения первозданного вида для файлов высокого качества в таких случаях, где размер свободного дискового пространства не является ограничением. Он также используется в программах для редактирования аудио, где экономят время на сжатии и распаковке данных.

1.2.2 Формат MP3

MP3 - это наиболее популярный формат хранения и передачи информации в цифровой форме, использующий компрессию сигнала. Формат MP3, или MPEG Audio Layer-3, был разработан компаниями Fraunhofer IIS и Thomson. По сравнению с WAV-файлами, являющимися копиями треков Audio CD (PCM, 16 bit, Stereo, 44,1 kHz), MP3-композиции занимают намного меньше места на диске. На обыкновенном CD-R/RW-бланке можно сохранить свыше 11 часов музыки вполне пристойного качества.

В формате MP3 используется алгоритм сжатия с потерями, разработанный для существенного уменьшения размера данных, необходимых для воспроизведения записи и обеспечения качества воспроизведения звука очень близкого к оригинальному (по мнению большинства слушателей).

Для MP3 написано множество отличных программ (кодировщиков, проигрывателей и т.д.), налажено производство аппаратных (стационарных, карманных и автомобильных) плееров, каждый современный телефон поддерживает MP3-мелодии (и даже имеет встроенный плеер для их удобного воспроизведения). По сравнению со многими другими форматами сжатия аудио MP3 обеспечивает лучшее качество звучания и сегодня по своей популярности занимает, пожалуй, второе место после Audio CD.

Высокая степень сжатия в MP3 достигается за счёт достаточно сложного алгоритма кодирования. Используются как математические методы компрессии, так и особенности человеческого слуха (психоакустическая модель): эффект маскировки слабого звука одной частоты более громким звуком такой же или соседней частоты, понижение чувствительности уха к тихому звуку сразу после громкого, невосприимчивость к звукам ниже определённого уровня громкости.


Рисунок 1.1 - пример графика частот MP3 файла

Поток звука при кодировании разбивается на равные по участки (фреймы). Каждый из фреймов кодируется отдельно со своими параметрами и содержит заголовок, в котором эти параметры указаны. Сжатие может быть выполнено с разным качеством и соответственно размером конечного файла.

Степень сжатия характеризуется битрейтом (bitrate) - количество передаваемой за единицу времени информации. Файлы MP3 обычно закодированы с битрейтом от 64 до 320 килобит в секунду (kbps или kb/s), а также с переменным битрейтом (VBR) - когда для каждого фрейма используется свой, оптимальный для данного участка, битрейт.

Исходный сигнал с помощью фильтров разделяется на несколько частотных диапазонов, для каждого диапазона определяется величина маскирующего эффекта от соседних диапазонов и предыдущего фрейма, несущественные сигналы игнорируется. Для оставшихся данных для каждого диапазона определяется, сколькими битами можно пожертвовать, чтобы потери были ниже величины маскирующего эффекта. На этом работа психоакустической модели завершается, а итоговый поток дополнительно сжимается по алгоритму Хаффмана (аналогично RAR архиватору).

При битрейте 320 kbps применяется только итоговое сжатие, без психоакустического моделирования. Следует иметь в виду, что различные кодеки могут кодировать аудиосигнал по-разному, различия особенно проявляются на высоких частотах и низких битрейтах. В формате MP3 кодируется стереосигнал, при этом возможны несколько вариантов преобразования:

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

·       Моно - одноканальное кодирование. Если закодировать двухканальный материал этим способом, различия между каналами будут полностью стёрты, так как два канала смешиваются в один, он кодируется и он же воспроизводится в обоих каналах стереосистемы. Единственным плюсом данного режима может являться только выходное качество по сравнению с режимом стерео при одинаковом битрейте, так как на один канал приходится вдвое большее количество бит, чем в режиме стерео.

·       Двухканальное стерео (англ. Dual Channel) - два независимых канала, например звуковое сопровождение на разных языках. Битрейт делится на два канала. Например, если заданный битрейт 192 кбит/c, то для каждого канала он будет равен только 96 кбит/c.

·       Объединённое стерео (англ. Joint Stereo, M/S Stereo) - один из самых оптимальных способов двухканального кодирования. Например, в одном из режимов «Объединённое стерео» левый и правый каналы преобразуются в их сумму (L+R) и разность (L−R). Для большинства звуковых файлов насыщенность канала с разностью (L−R) получается намного меньше канала с суммой (L+R). Также тут свою роль играет восприятие звука человеком, для которого различия в направлении звука намного менее примечательны. Поэтому объединённое стерео позволяет либо сэкономить на битрейте канала разности (L−R), либо улучшить качество на том же битрейте, поскольку на канал суммы (L+R) отводится большая часть битрейта. Современные кодеки используют различные схемы в разных фреймах (включая чистое стерео) в зависимости от исходного сигнала.

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

Битрейт 128 Kbps с легкой руки Fraunhofer IIS был признан оптимальным для использования в интернете, а некоторые производители кодеров распространили мнение о том, что этой скорости вполне достаточно для кодирования музыки с качеством, близким к Audio CD. Однако это не так. На хорошей аппаратуре невосполнимые потери аудиоинформации становятся заметными.

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

Даже профессиональные эксперты с тонким музыкальным слухом порой не в состоянии отличить на хорошей аппаратуре звучание трека Audio CD и его образа, закодированного в MP3-файл с низким коэффициентом сжатия, например 4:1 (320 Kbps).

Ежели вы имеете дело только с компьютерными акустическими системами или недорогой бытовой радиоаппаратурой, то для кодирования и последующего прослушивания композиций вполне достаточно 160-192 Kbps. Для компрессии быстро устаревающей поп-музыки, а также для "выкладывания" музыкального архива в сети вполне подойдет и 128 Kbps. Значения битрейта ниже 128 Kbps не позволяют добиться должного качества звучания. Скорости 64-96 Kbps чаще всего используют для сжатия аудиоуроков иностранного языка, лекций, интервью и аудиотрансляций.

Основыные виды битрейтов:

·       CBR расшифровывается как Constant Bit Rate, то есть постоянный битрейт, который задаётся пользователем и не изменяется при кодировании произведения. Таким образом, каждой секунде произведения соответствует одинаковое количество закодированных бит данных (даже при кодировании тишины). CBR может быть полезен для потоков мультимедиа данных по ограниченному каналу; в таком случае кодирование использует все возможности канала данных. Для хранения данный режим кодирования не является оптимальным, так как он не может выделить достаточно места для сложных отрезков исходного произведения, при этом бесполезно тратя место на простых отрезках. Повышенные битрейты (выше 256 кбит/c) могут решить данную проблему, выделив больше места для данных, но зато и пропорционально увеличивая размер файла.

·       VBR расшифровывается как Variable Bit Rate, то есть изменяющийся битрейт или переменный битрейт, который динамически изменяется программой-кодером при кодировании в зависимости от насыщенности кодируемого аудиоматериала и установленного пользователем качества кодирования (например, тишина закодируется с минимальным битрейтом). Этот метод MP3-кодирования является самым прогрессивным и до сих пор развивается и улучшается, так как аудиоматериал разной насыщенности может быть закодирован с определённым качеством, которое обычно выше, чем при установке среднего значения в методе CBR. Плюс к тому, размер файла уменьшается за счёт фрагментов, не требующих высокого битрейта. Минусом данного метода кодирования является сложность предсказания размера выходного файла. Но этот недостаток VBR-кодирования незначителен в сравнении с его достоинствами. Также минусом является то, что VBR считает «незначительной» звуковой информацией более тихие фрагменты, таким образом получается, что если слушать очень громко, то эти фрагменты будут некачественными, в то время как CBR делает с одинаковым битрейтом и тихие, и громкие фрагменты.

·       ABR расшифровывается как Average Bit Rate, то есть усредненный битрейт, который является гибридом VBR и CBR: битрейт в кбит/c задаётся пользователем, а программа варьирует его, постоянно подгоняя под заданный битрейт. Таким образом, кодер будет с осторожностью использовать максимально и минимально возможные значения битрейта, так как рискует не вписаться в заданный пользователем битрейт. Это является явным минусом данного метода, так как сказывается на качестве выходного файла, которое будет немного лучше, чем при использовании CBR, но намного хуже, чем при использовании VBR. С другой стороны, этот метод позволяет наиболее гибко задавать битрейт (может быть любым числом между 8 и 320, против исключительно кратных 16 чисел метода CBR) и вычислять размер выходного файла.

1.2 Постановка задачи

Программа должна включать в себя такие функции:

·       Открытие и воспроизведение WAV и MP3 файлов

·       Визуализация волны аудио

·       Возможность выделения вырезаемого фрагмента

·       Возможность изменить амплитуду звука и скорость воспроизведения для вырезаемого фрагмента WAV файла

·       Возможность сохранения этого фрагмента на жесткий диск

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

Предполагаемая структура GUI изображена на рисунке 1.2.

Рисунок 1.2 - Интерфейс разрабатываемого ПО

2. ПРОЕКТИРОВАНИЕ

2.1 Выбор операционной системы

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

2.2 Выбор языка программирования

В качестве языка программирования был выбран язык «C#». Этот объектно-ориентированный, со статической типизацией. Он является основным языком разработки приложений для платформы Microsoft .NET.

Для реализации графического интерфейса пользователя был выбран интерфейс программирования приложений Windows Presentation Foundation.Presentation Foundation (WPF) представляет собой обширный API-интерфейс для создания настольных графических программ имеющих насыщенный дизайн и интерактивность. В отличие от устаревшей технологии Windows Forms, WPF включает новую модель построения пользовательских приложений (в основе WPF лежит мощная инфраструктура, основанная на DirectX).

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

.3 Выбор программного обеспечения промежуточного уровня

В качестве программного обеспечения промежуточного уровня был выбран .NET Framework версии 4.5.

.NET Framework является новейшей, разработанной компанией Microsoft, платформой для создания обычных программ и веб-приложений. Данная платформа включает в себя языковую среду CLR. Основное назначение CLR - выполнение приложений, соблюдение всех программных зависимостей, управление памятью, обеспечение безопасности и изоляции приложений, интеграция с языками программирования и т.п.

Данная платформа получила широкое распространение и может быть использована на всех современных версиях операционных системах Windows (начиная с Windows XP).

2.4 Выбор инструментальных средств

В качестве системы разработки была выбрана IDE Microsoft Visual Studio 2012. Данная система совместима с семейством операционных систем начиная с Windows 7 и обладает рядом оптимизаций для программирования именно под эти ОС.

Данная среда разработки обладает рядом преимуществ: IntelliSense, система MSDN, встроенная подсветка ошибок.

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

Среда разработки интегрируется со справочной системой MSDN, которая содержит обширный набор информации о .NET Framework, языках программирования .NET и многом другом.

3. РАЗРАБОТКА

3.1 Выбор архитектуры системы

Существует несколько типов системной архитектуры проекта, в частности одноуровневая, двухуровневая и трехуровневая. Для трехуровневой архитектуры характерно наличие User Interface, Business Logic, Data Base. Данный тип архитектуры применяется в программном обеспечении, которое осуществляет работу, с какой либо базой данных. Одноуровневая системная архитектура не предусматривает деление на уровни. В данном случае все действия реализации графического интерфейса и решения поставленной задачи выполняются на одном уровне.

В данном проекте будет рационально использовать двухуровневую архитектуру. В этом случае разрабатываемая система разделяется на два уровня: User Interface и Business Logic (рисунок 3.1).

Рисунок 3.1 - Системная структура проекта

User Interface - уровень, отвечающий за реализацию графического интерфейса проекта.

Business Logic - уровень системной архитектуры, который отвечает за реализацию алгоритмов функционирования программы.


.2 Построение диаграмм прецедентов

Проведя анализ поставленной задачи, мы выявили следующих активных актеров, работающих с разрабатываемой программой:

пользователь;

плеер.

Функции программы, которые могут выполнять плеер и пользователь, а также отношения между ними можно визуализировать с помощью диаграммы прецедентов (рисунок 3.2).

Рисунок 3.2 - Диаграмма вариантов использования

Прецедент «Открыть файл» заключается в выборе открываемого файла для воспроизведения и последующей обработки. Открываемый файл должен быть с расширением wav или mp3.

Прецедент «Управление проигрыванием» заключается в управлении проигрыванием открытого файла. Данный прецедент включает в себя прецеденты «Воспроизвести», «Приостановить», «Остановить», «Регулирование громкости».

Прецедент «Воспроизвести» - начать воспроизведение открытого файла.

Прецедент «Приостановить» - приостановить воспроизведение открытого файла.

Прецедент «Остановить» - остановить воспроизведение открытого файла.

Прецедент «Регулирование громкости» заключается в регулировке громкости проигрываемого файла.

Прецедент «Построение волны аудио» заключается в визуализации волны аудио.

Прецедент «Вырезать фрагмент» заключается в вырезке выбранного фрагмента из файла. Также он имеет точку расширения, которая включается, в случае если пользователь открыл WAV файл. Этот прецедент может выполниться только после выполнения прецедента «Выделить вырезаемый фрагмент».

Прецедент «Выделить вырезаемый фрагмент» заключается в выделении пользователем вырезаемого фрагмента.

Прецедент «Выход» заключается в закрытии окна программы

Прецедент «Обработка WAV» заключается в обработке сэмплов WAV файла. Данный прецедент включает в себя прецеденты «Изменение скорости проигрывания», «Изменение амплитуды звука.

Прецедент «Изменение скорости проигрывания» заключается в изменении скорости проигрывания вырезаемого фрагмента.

Прецедент «Изменение амплитуды звука» заключается в увеличении или уменьшения громкости звучания вырезаемого фрагмента.


.3 Разработка вариантов использования

Исходя из анализа построенной диаграммы прецедентов, а также функций, которые должна выполнять программа, были предусмотрены следующие варианты использования, а также для некоторых вариантов использования были разработаны диаграммы последовательности:

Номер

ВИ - 01

Название

Открыть файл

Участники

Пользователь

Описание

При выполнении данного варианта использования пользователь выбирает открываемый файл

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

Нет.

Выходные условия

Файл открыт и готов к обработке и проигрыванию.

Порядок действий

1. Пользователь нажимает кнопку «Browse». 2. Выбирает файл в диалоговом окне и нажимает кнопку «Открыть»

Альтернативный порядок действий

Нет.

Приоритет

Высокий.


НомерВИ - 02


Название

Управление проигрыванием.

Участники

Пользователь.

Описание

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

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

Пользователь открыл аудио файл.

Выходные условия

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

Порядок действий

Пользователь нажимает на одну из кнопок управления проигрыванием

Альтернативный порядок действий

Нет.

Приоритет

Высокий.


Номер

ВИ - 03

Название

Воспроизвести.

Участники

Плеер.

Описание

При выполнении данного варианта использования начинается воспроизведение аудио файла.

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

Пользователь открыл аудио файл.

Выходные условия

Воспроизведение аудио файла.

Порядок действий

1. Пользователь нажимает кнопку «Play».

Альтернативный порядок действий

Нет.

Приоритет

Высокий.


НомерВИ - 04


Название

Приостановить.

Участники

Плеер.

Описание

При выполнении данного варианта использования приостанавливается воспроизведение аудио файла.

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

Пользователь открыл аудио файл и нажал кнопку «Play».

Выходные условия

Воспроизведение приостановлено.

Порядок действий

1. Пользователь нажимает кнопку «Pause».

Альтернативный порядок действий

Нет.

Приоритет

Высокий.


НомерВИ - 05


Название

Остановить.

Участники

Плеер.

Описание

При выполнении данного варианта использования останавливается воспроизведение аудио файла.

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

Пользователь открыл аудио файл и нажал кнопку «Play».

Выходные условия

Воспроизведение остановлено.

Порядок действий

1. Пользователь нажимает кнопку «Stop».

Альтернативный порядок действий

Нет.

Приоритет

Высокий.


НомерВИ - 06


Название

Регулирование громкости.

Участники

Плеер.

Описание

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

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

Пользователь открыл аудио файл и нажал кнопку «Play».

Выходные условия

Громкость воспроизведения изменена.

Порядок действий

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

Альтернативный порядок действий

Нет.

Приоритет

Высокий.


Номер

ВИ - 07

Название

Построение волны аудио.

Участники

Плеер.

Описание

При выполнении данного варианта происходит визуализация волны аудио.

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

Пользователь открыл аудио файл.

Выходные условия

Волна аудио визуализирована.

Порядок действий

1. Анализ открытого файла 2. Визуализация волны аудио

Альтернативный порядок действий

Нет.

Приоритет

Высокий.


Номер

ВИ - 08

Название

Вырезать фрагмент.

Участники

Пользователь.

Описание

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

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

Пользователь открыл аудио файл. Пользователь выделил вырезаемый фрагмент.

Выходные условия

Выделенный фрагмент сохранен в выбранный каталог.

Порядок действий

1. Пользователь выбирает каталог для сохранения и вводит имя для фрагмента. 2. Вырезка фрагмента и сохранение его в выбранный каталог.

Альтернативный порядок действий

Нет.

Приоритет

Высокий.


НомерВИ - 09


Название

Выделить вырезаемый фрагмент.

Участники

Пользователь.

Описание

При выполнении данного варианта использования пользователь выделяет вырезаемый фрагмент.

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

Пользователь открыл аудио файл.

Выходные условия

Выделенный фрагмент выделен.

Порядок действий

Пользователь зажимает левую кнопку мыши (далее ЛКМ) и выделяет нужный отрезок аудио файла, а затем отпускает ЛКМ.

Альтернативный порядок действий

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

Приоритет

Высокий.


НомерВИ - 10


Название

Выход.

Участники

Пользователь.

Описание

При выполнении данного варианта использования пользователь выходит из программы.

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

Нет.

Выходные условия

Прекращение работы программы.

Порядок действий

Пользователь нажимает на крестик в правом верхнем углу программы.

Альтернативный порядок действий

Нажать Alt+F4.

Приоритет

Высокий.


НомерВИ - 11


Название

Обработка WAV.

Участники

Пользователь.

Описание

При выполнении данного варианта использования пользователь задает параметры для обработки WAV.

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

Открыт файл с расширением wav. Выделен вырезаемый фрагмент.

Выходные условия

Вырезаемый фрагмент будет обработан в соответствии с заданными параметрами.

Порядок действий

Пользователь изменяет скорость воспроизведения и амплитуду звучания.

Альтернативный порядок действий

Нет

Приоритет

Высокий.


НомерВИ - 12


Название

Изменение скорости проигрывания.

Участники

Пользователь.

Описание

При выполнении данного варианта использования пользователь изменяет скорость воспроизведения вырезанного фрагмента.

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

Открыт файл с расширением wav. Выделен вырезаемый фрагмент.

Выходные условия

Изменена скорость проигрывания вырезанного фрагмента.

Порядок действий

Пользователь нажимает на стрелочку возле Combo box и выбирает нужную скорость.

Альтернативный порядок действий

Нет

Приоритет

Высокий.


НомерВИ - 13


Название

Изменение амплитуды звучания.

Участники

Пользователь.

Описание

При выполнении данного варианта использования пользователь изменяет громкость воспроизведения вырезаемого фрагмента.

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

Открыт файл с расширением wav. Выделен вырезаемый фрагмент.

Выходные условия

Изменена громкость проигрывания вырезанного фрагмента.

Пользователь двигает бегунок для регулирования громкости вырезаемого фрагмента.

Альтернативный порядок действий

Нет

Приоритет

Высокий.


3.4 Разработка графического интерфейса

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

кнопки (элемент «button»);

поля задания начального и конечного времени выделенного фрагмента (элемент «TimeEditor»);

область для задания параметров обработки вырезанного фрагмента wav файла (элемент «GroupBox»);

область для навигации по аудио файлу, а также выделения вырезаемого фрагмента (элемент «WaveformTimeline»);

поле для отображения текущего времени воспроизведения (элемент «DigitalClock»);

информационные метки (элемент «label»);

бегунки для регулирования громкости (элемент «Slider»);

выпадающий список, для задания скорости воспроизведения вырезаемого фрагмента wav файла (элемент «ComboBox»).

Ввод входных данных выполняется с помощью дополнительных диалоговых окон.

Прототип графического интерфейса пользователя разрабатываемого программного продукта изображен на рисунке 3.3.

Рисунок 3.3 - Прототип графического интерфейса пользователя

3.5 Разработка архитектуры приложения

программа файл формат wav

Под архитектурой приложения понимают диаграмму классов. Исходя из анализа поставленной задачи, а так же предметной области разрабатываемого проекта, были выделены такие основные сущности как MainWindow (интерфейс пользователя), NAudioEngine (класс плеера), UIHelper (класс для привязки элементов управления к свойствам класса), AudioProcessing (класс для вырезания и обработки фрагмента), SampleAggregator (класс для обработки сэмплов открытого файла).

Класс MainWindow отвечает за визуализацию работы программы и ввод входных данных, AudioProcessing - за вырезку фрагмента и обработку его, NAudioEngine - за проигрывание аудио файла и построение волны аудио, UIHelper - за привязку элементов управления к свойствам класса NAudioEngine, SampleAggregator - за обработку семплов открытого файла и построение по ним волны аудио.

Класс MainWindow имеет следующие обработчики событий:

) soundEngine_PropertyChanged - обработчик события для перемотки аудио файла;

) BrowseButton_Click - обработчик событий кнопки «Browse» для открытия аудио файла;

) StopButton_Click - обработчик событий кнопки «Stop» для остановки проигрывания аудио файла;

) PlayButton_Click - обработчик событий кнопки «Play» для проигрывания аудио файла;

) PauseButton_Click - обработчик событий кнопки «Pause» для приостановки проигрывания аудио файла;

) TrimButton_Click - обработчик событий кнопки «Trim» для вырезания выделенного фрагмента из аудио файла;

) Window_Closing - обработчик событий для освобождения ресурсов программы.

Поля:

1)      openDialog - поле для открытия диалогового окна для открытия аудио файла;

)        saveDialog - поле для открытия диалогового окна для сохранения аудио файла;

)        soundEngine - экземпляр класса плеера, для проигрывания аудио файлов.

Класс AudioProcessing имеет следующие вложенные типы:

)        ChangeSpeed - делегат для выбора метода ускорения проигрывания вырезанного фрагмента;

)        WavHeader - структура для разбора RIFF заголовка wav файла;

Методы:

)        TrimWavFile - метод для вырезания фрагмента из wav файла;

)        TrimMp3 - метод для вырезания фрагмента из mp3 файла;

)        ChangeVolume - метод для изменения амплитуды звука в вырезанном фрагменте;

)        WriteToBuffSample - метод для записи в буфер сэмпла, в виде байт;

)        SampleToByte - метод для преобразования сэмплов из челочисленных значений в байтовые;

)        speedUpX1_2 - метод для увеличения скорости в 2 раза;

)        speedUpX1_3 - метод для увеличения скорости в 1.5 раза;

)        speedUpX1_5 - метод для увеличения скорости в 1.25 раза;

)        speedUpX1_7 - метод для увеличения скорости в 1.16 раза;

)        speedUpX1_9 - метод для увеличения скорости в 1.125 раза;

)        speedDownX1_2 - метод для уменьшения скорости в 2 раза.

)        speedDownX1_3 - метод для уменьшения скорости в 1.5 раза;

)        speedDownX1_5 - метод для уменьшения скорости в 1.25 раза;

)        speedDownX1_7 - метод для уменьшения скорости в 1.16 раза;

)        Optimal2x6p4o - метод для расчета значения семпла находящегося между 3 и 4 сэмплами из кусочка в 6 сэмплов;

)        InterpolateHermite4pt3oX - метод для расчета значения семпла находящегося между 2 и 3 сэмплами из кусочка в 4 сэмпла;

)        Optimal16x2p3o - метод для расчета значения семпла находящегося между 1 и 2 сэмплами из кусочка в 2 сэмпла.

Класс UIHelper имеет следующие методы:

)        Bind - метод для связывания элемента управления и свойства обьекта;

)        FindParent - метод для определения родителя объекта участвующего в системе свойств зависимостей.

Класс SampleAggregator имеет следующие методы:

)        Add - добавляет усредненные значения сэмплов в массив для визуализации аудио волны;

)        Clear - устанавливает некоторые поля в значения по умолчанию;

)        GetFFTResults - выполняет расчет быстрого преобразования Фурье на канал передачи данных по запросу;

Поля:

)        volumeLeftMaxValue, volumeLeftMinValue, volumeRightMaxValue, volumeRightMinValue - эти поля нужны для указания текущего максимального и минимального левого и правого канала;

)        channelData - массив для хранения значений сэмплов;

)        bufferSize - поле хранит размер буфера;

)        channelDataPosition - поле хранит указатель на текущую позицию в аудио файле;

)        binaryExponentitation - поле для расчета быстрого преобразования Фурье.

Класс NAudioEngine реализует следующие интерфейсы:

InotifyPropertyChanged

IwaveformPlayer

Idisposable

А также имеет следующие поля:

)        instance - поле для определения новых экземпляров данного класса;

)        positionTimer - таймер для отслеживания текущей позиции воспроизведения;

)        waveformGenerateWorker - экземпляр класса BackgroundWorker для запуска отдельного потока, который будет рассчитывать, и рисовать волну аудио файла;

)        fftDataSize - константное значение для расчета быстрого преобразования Фурье;

)        disposed - булева переменная для индикации освобождены ли ресурсы;

)        canPlay - булева переменная для индикации возможно ли в данный момент проигрывание аудио файла;

)        canPause - булева переменная для индикации возможно ли в данный момент приостановка проигрывания аудио файла;

)        canStop - булева переменная для индикации возможно ли в данный момент остановка проигрывания аудио файла;

)        isPlaying - булева переменная для индикации проигрывается ли сейчас аудио файл;

)        inChannelTimerUpdate - переменная показывающая изменение значения таймера;

)        channelLength - длина открытого файла в секундах;

)        channelPosition - текущая позиция проигрывания;

)        inChannelSet - переменная для индикации о том что выделен фрагмент;

)        waveOutDevice - экземпляр класса для проигрывания аудио потока;

)        activeStream - текущий активный аудио поток, который проигрывается;

)        inputStream - аудио поток для построения волны аудио;

)        sampleAggregator, waveformAggregator - экземпляры класса SampleAggregator для обработки семплов аудио файла;

)        pendingWaveformPath - путь к открытому аудио файлу;

)        fullLevelData - массив с конечными значениями сэмплов;

)        waveformData - массив с промежуточными данными сэмплов;

)        repeatStart - начальное время для рекурсии воспроизведения;

)        repeatStop - конечное время для рекурсии воспроизведения;

)        inRepeatSet - переменная для индикации рекурсии проигрывания;

)        mp3_or_wav - переменная, которая показывает, какой открыт файл mp3 или wav.

Методы:

)        GenerateWaveformData - метод для генерации массива с данными для аудио волны;

)        StopAndCloseStream - метод для остановки проигрывания и освобождения ресурсов;

)        Stop - метод для остановки проигрывания;

)        Pause - метод для приостановки проигрывания;

)        Play - метод для начала проигрывания аудио файла;

)        OpenFile - метод для открытия аудио файла;

Обработчики событий:

)        waveformGenerateWorker_RunWorkerCompleted - обработчик события, сигнализирующий о том, что поток обрабатывающий данные сэмплов завершил работу;

)        waveformGenerateWorker_DoWork - обработчик события, который показывает, что нужно сделать потоку;

)        waveStream_Sample - обработчик события, для занесения сэмплов в массив;

)        positionTimer_Tick - обработчик события, для изменения времени воспроизведения;

)        inputStream_Sample - обработчик события, для реализации рекурсии;

)        PropertyChanged - обработчик события, который показывает, что какое либо свойство в данном классе изменилось.

 


Рисунок 3.4 - Диаграмма классов разрабатываемой программы

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

3.6 Разработка алгоритмов работы программы

Исходя из анализа поставленной задачи, а также разработанной диаграммы классов, был разработан обобщенный алгоритм работы разрабатываемой программы, который представленный в виде диаграммы активности (рисунок 3.5)

Рисунок 3.5 - Обобщенный алгоритм работы разрабатываемой программы

Исходя из анализа поставленной задачи, а также разработанной диаграммы классов, была выделена группа методов, работа которых является особо важной: метод TrimWavFile, TrimMp3, ChangeVolume, speedUpX1_2, speedDownX1_2 класса AudioProcessing. Для этих методов были разработаны обобщенные алгоритмы работы.

3.6.1 Метод TrimWavFile класса AudioProcessing

Метод TrimWavFile класса AudioProcessing, вырезает фрагмент из wav файла и принимает параметры такие как: путь к исходному файлу, путь для сохранения нового файла, время с которого нужно вырезать, время по которое нужно вырезать, коэффициент для амплитуды звука, индекс для выбора метода увеличения или уменьшения скорости проигрывания. Алгоритм работы описанного метода изображен на рисунке 3.10.

Рисунок 3.6 - Алгоритм вырезания фрагмента из wav

3.6.2 Метод TrimMp3 класса AudioProcessing

Метод TrimMp3 класса AudioProcessing, вырезает фрагмент из mp3 файла и принимает параметры такие как: путь к исходному файлу, путь для сохранения нового файла, время с которого нужно вырезать, время по которое нужно вырезать. Алгоритм работы описанного метода изображен на рисунке 3.7.

Рисунок 3.7 - Алгоритм вырезания фрагмента из mp3

3.6.3 Метод ChangeVolume класса AudioProcessing

Метод ChangeVolume класса AudioProcessing, изменяет амплитуду звука у вырезанного фрагмента и принимает параметры такие как: исходный массив байт, коэффициент изменения амплитуды звука, и возвращает измененный массив байт. Алгоритм работы описанного метода изображен на рисунке 3.8.

Рисунок 3.8 - Алгоритм увеличения амплитуды звука


.6.4 Метод speedUpX1_2 класса AudioProcessing

Метод speedUpX1_2 класса AudioProcessing, увеличивает скорость проигрывания у вырезанного фрагмента в 2 раза и принимает в качестве параметра массив байт для преобразования. Другие методы по увеличению скорости проигрывания работают аналогичным образом. Алгоритм работы описанного метода изображен на рисунке 3.9.

Рисунок 3.9 - Алгоритм увеличения скорости проигрывания

3.6.5 Метод speedDownX1_2 класса AudioProcessing

Метод speedDownX1_2 класса AudioProcessing, уменьшает скорость проигрывания у вырезанного фрагмента в 2 раза и принимает в качестве параметра массив байт для преобразования. Другие методы по уменьшению скорости проигрывания работают аналогичным образом. Алгоритм работы описанного метода изображен на рисунке 3.10.

Рисунок 3.10 - Алгоритм увеличения скорости проигрывания

4. ТЕСТИРОВАНИЕ ПРОГРАММЫ

4.1 Тестируемые функции

При разработке данного проекта были реализованы такие функции:

а) функция открытия mp3 и wav файла;

Данная функция выполняется при нажатии на кнопку «Browse». После этого файл можно воспроизвести.

б) функция сохранения вырезанного фрагмента;

Данная функция выполняется после нажатии на кнопку «Trim». Появляется диалоговое окно с выбором каталога для сохранения и ввода имени сохраняемого фрагмента.

а) функция воспроизведения открытого файла;

Данная функция выполняется при нажатии на кнопку «Play». Начинается проигрывание открытого файла.

б) функция приостановки проигрывания открытого файла;

Данная функция выполняется при нажатии на кнопку «Pause». Проигрывание приостанавливается.

в) функция остановки проигрывания открытого файла;

Данная функция выполняется при нажатии на кнопку «Stop». Проигрывание останавливается.

г) функция изменения громкости проигрывания открытого файла;

Данная функция выполняется при перемещении бегунка громкости. Изменяется громкость проигрывания.

а) функция вырезания выбранного фрагмента;

Данная функция выполняется при нажатии на кнопку «Trim». Происходит вырезание выбранного фрагмента.

б) функция выделения вырезаемого фрагмента;

Данная функция выполняется при нажатии и удержании ЛКМ в области визуализации аудио волны, выделении нужного фрагмента и отпускании ЛКМ.

в) функция рекурсии проигрывания фрагмента;

Данная функция выполняется при нажатии и удержании ЛКМ в области визуализации аудио волны, выделении нужного фрагмента и отпускании ЛКМ.

г) функция изменения начального и конечного времени вырезаемого фрагмента;

Данная функция выполняется при изменении времени в «StartTime» и «FinishTime». Изменяется время начала и конца выделенного фрагмента.

а) функция изменения амплитуды звука в вырезаемом фрагменте wav файла;

Данная функция выполняется при перемещении бегунка «Volume».

б) функция изменения скорости проигрывания вырезанного фрагмента wav файла;

Данная функция выполняется при изменении выбранного значения в «Combo box». Она изменяет скорость проигрывания вырезанного фрагмента wav файла.

4.2 Тестирование

С целью проверки корректности работы программного обеспечения, разработанного в данном проекте, было проведено его тестирование. Тесты и результаты их выполнения приведены в таблице 4.1.

Таблица 4.1 - Тестирование и его результаты

Тестируемая функция

Номер теста

Цель теста

Результат теста

1а) функция открытия mp3 и wav файла

1

Проверка выполнения функции при запуске программы

Пройден


2

Проверка выполнения функции при проигрывании аудио файла

Пройден


3

Проверка выполнения функции при приостановке проигрывания аудио файла

Пройден


4

Проверка выполнения функции при остановке проигрывания аудио файла

Пройден


5

Проверка выполнения функции после вырезания фрагмента

Пройден

1б) функция сохранения вырезанного фрагмента

6

Проверка возможности сохранения, если фрагмент не выделен

Пройден

2а) функция воспроизведения открытого файла

7

Проверка возможности проигрывания открытого файла

Пройден

2б) функция приостановки проигрывания открытого файла

8

Проверка возможности приостановки проигрывания открытого файла

Пройден

2в) функция остановки проигрывания открытого файла

9

Проверка возможности остановки проигрывания открытого файла

Пройден

2г) функция изменения громкости проигрывания открытого файла

10

Проверка возможности изменения громкости проигрывания открытого файла

Пройден


11


Пройден

3а) функция вырезания выбранного фрагмента

12

Проверка возможности вырезания, не выделив фрагмент

Пройден


13

Проверка возможности вырезания фрагмента

Пройден

3б) функция выделения вырезаемого фрагмента

14

Проверка возможности выделения вырезаемого фрагмента

Пройден

3в) функция рекурсии проигрывания фрагмента

15

Проверка возможности зацикливания проигрывания выделенного фрагмента

Пройден

3г) функция изменения начального и конечного времени вырезаемого фрагмента

16

Проверка возможности изменения начального и конечного времени выделенного фрагмента

Пройден

4а) функция изменения амплитуды звука в вырезаемом фрагменте wav файла

17

Проверка возможности изменения амплитуды звука в вырезаемом фрагменте

Пройден

4б) функция изменения скорости проигрывания вырезанного фрагмента wav файла

18

Проверка возможности изменения скорости проигрывания в вырезаемом фрагменте

Пройден

Проведенное тестирование показало, что все требования, приведенные, в ТЗ выполнены. Их выполнение подтверждено документально.

5. РУКОВОДСТВО ОПЕРАТОРА

5.1 Назначение программы

Данный программный продукт предназначен прослушивания файлов с расширением mp3 и wav, так же эта программа позволяет вырезать фрагмент, и для wav файлов изменять громкость и скорость проигрывания вырезаемого фрагмента.

Программа поставляется в виде исполнимого кода (.exe-файла) и трех (.dll-файлов), устанавливается на компьютер путем копирования в соответствующую директорию и не нуждается в обслуживании.

5.2 Технические средства для запуска программы

В состав технических средств должен входить персональный компьютер (ПЭВМ), включающий в себя:

а) процессор с тактовой частотой, ГГц - 1.5, не менее;

б) материнскую плату с FSB, МГц - 133, не менее;

в) оперативную память объемом, Мб -256, не менее;

г) свободного дискового пространства для хранения программы, Мб - 10, не менее;

д) дисплей и видеоадаптер такого типа, которые смогут отображать графическую информацию, являющуюся результатом выполнения программы;

е) клавиатуру;

ж) мышь.

з) звуковую карту

и) динамики

к) НЖМД;

Для запуска программы на персональном компьютере необходимо наличие операционной системы Windows 8 и Framework 4.5.

5.3 Работа с программой

Для инсталляции программы на персональный компьютер необходимо скопировать *.exe и три *.dll файла на жесткий диск. После чего программа готова к эксплуатации и может быть запущена путем двойного клика левой кнопки мыши на исполняемом файле (см. рис. 5.1).

Рисунок 5.1 - Внешний вид программы после запуска

Для открытия аудио файла необходимо нажать на кнопку «Browse», после чего выбрать файл и нажать кнопку «Открыть» (рисунок 5.2).

Рисунок 5.2 - Внешний вид программы после нажатия кнопки «Browse»

После открытия файла его можно проиграть, нажав на кнопку .

Также можно приостановить и остановить проигрывание кнопками  и .

Для вырезания фрагмента его нужно выделить и нажать кнопку «Trim», после чего выбрать каталог для сохранения, ввести имя для фрагмента и нажать кнопку «Сохранить» (рисунок 5.3)

Рисунок 5.3 - Выделение вырезаемого фрагмента

Для файлов имеющих расширение wav можно задать дополнительные опции при вырезании фрагмента (рисунок 5.4)

Рисунок 5.4 - Изменение опций для сохраняемого фрагмента

Также выделяемый фрагмент можно задать в элементах управления «TimeEditor» (рисунок 5.5)

Рисунок 5.5 - Изменение опций для сохраняемого фрагмента

Для завершения работы программы нужно нажать крестик в правом верхнем углу.

ВЫВОДЫ

Данный проект посвящен изучению структуры WAV и MP3 файлов. В ходе выполнения работы было разработано системное SDI приложение - Mp3WavCutter.

В проделанной работе было создано программное обеспечение, которое выполняет все функции описанные в техническом задании. Программа может проигрывать mp3 и wav файлы, вырезать из них фрагмент, и обрабатывать его (только для wav файлов).

Данное программное обеспечение написано для операционной системы Windows 8 и работает на основе платформы .Net Framework версии 4.5. Программа была написана при помощи IDE Visual Studio 2012 на объектно-ориентированном языке C# с использованием библиотеки NAudio.

Кроме этого были разработаны диаграмма классов и диаграмма прецедентов. Особо важным шагом проектирования был этап создания алгоритмов работы программы. Затем были составлены варианты использования и проведено тестирование. Итогом выполнения данного проекта было написание руководства оператора.

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

ПЕРЕЧЕНЬ ССЫЛОК

1. Троелсен Эндрю. Язык программирования С# и платформа .NET 2.0, 3-е издание. : Пер. с англ. - М. : дом «Вильямс», 2007 - 1168 с.

. Герберт Шилдт. Полный справочник по C#. : Пер. с англ. - М. : Издательский дом «Вильямс», 2008. - 752 с.

3. Polynomial Interpolators for High-Quality Resampling of Oversampled Audio by Olli Niemitalo in October 2001. Distribute, host and use this paper freely

. Сайт http://naudio.codeplex.com/

5. Сайт http://www.codeproject.com/

 

ПРИЛОЖЕНИЕ А

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1. Введение

.1. Наименование программы

Наименование - «Программа для вырезания и обработки фрагмента из wav и mp3 файлов» (далее по тексту Программа).

1.2. Краткая характеристика области применения

Программа предназначена проигрывания и вырезания фрагмента из mp3 и wav файлов, а также обработку вырезанного фрагмента (только для wav).

2. Основание для разработки

.1. Основание для проведения разработки

Основанием для разработки Программы является задание на курсовой проект кафедры "Компьютерные системы и сети" (503) Национального аэрокосмического университета им. Н.Е. Жуковского "ХАИ".

2.2. Наименование и условное обозначение разработки

Наименование темы разработки - «Разработка программы для вырезания и обработки фрагмента из wav и mp3 файлов».

Условное обозначение темы разработки (шифр темы) - "АО-01".

3. Назначение разработки

.1. Функциональное назначение разработки

Данная программа позволяет пользователю вырезать фрагмент из wav и mp3 файла, а также обрабатывать вырезанный фрагмент (только для wav).

3.2. Эксплуатационное назначение

Данный программный продукт предназначен проигрывания и вырезания фрагмента из mp3 и wav файлов, а также обработку вырезанного фрагмента (только для wav).

Программа поставляется в виде исполнимого кода (.exe-файла) и трех .dll файлов, устанавливается на компьютер путем копирования в соответствующую директорию и не нуждается в обслуживании.

Отказ программы не влечет за собой критических последствий.

4. Требования к программе или программному изделию

.1. Требования к функциональным характеристикам

.1.1. Требования к составу выполняемых функций

Программа должна решать следующие задачи:

) открытие mp3 и wav файлов;

) проигрывание mp3 и wav файлов;

) вырезку и сохранение выделенного фрагмента;

) увеличение амплитуды звука у вырезаемого фрагмента (только для wav);

) увеличение скорости проигрывания у вырезаемого фрагмента (только для wav);

4.1.2. Требования к организации входных данных

Входные данные должны быть организованы в виде файла в заданном формате.

4.1.3. Требования к организации выходных данных

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

4.1.4. Требования к временным характеристикам

Требования к временным характеристикам не предъявляются.

4.2. Требования к надежности

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

4.3. Условия эксплуатации

.3.1. Климатические условия эксплуатации

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

Программа предназначена для эксплуатации на ПК установленных в офисных помещениях и домашних условиях.

4.3.2. Требования к видам обслуживания

После установки на компьютер программа не требует проведения каких-либо видов обслуживания.

4.3.3. Требования к численности и квалификации персонала

Для пользования программой хватает одной штатной единицы - конечный пользователь программы (оператор).

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

Конечный пользователь программы (оператор) должен понимать, каким образом необходимо работать с GUI программы, т.е. должен иметь представление о назначении программы.

4.4. Требования к составу и параметрам технических средств

Для исполнения программы необходим универсальный компьютер любого типа, для которого получен двоичный код, представленный в виде исполнимого файла (.exe-файла), способного выполняться установленным в ПК процессором.

В состав технических средств должен входить персональный компьютер (ПЭВМ), включающий в себя:

а) процессор с тактовой частотой, ГГц - 1.5, не менее;

б) материнскую плату с FSB, МГц - 133, не менее;

в) оперативную память объемом, Мб -256, не менее;

г) свободного дискового пространства для хранения программы, Мб - 30, не менее;

д) дисплей и видеоадаптер такого типа, которые смогут отображать графическую информацию, являющуюся результатом выполнения программы;

е) клавиатуру;

ж) НЖМД;

и) если предполагается работа со сменными дисками, необходимо наличие USB-адаптера;

к) мышь.

л) звуковую карту

м) динамики

4.5.1. Требования к информационным структурам и методам решения

Входные данные должны быть организованы в виде wav или mp3 файла.

Требования к информационным структурам (файлов) на выходе, а также к методам решения не предъявляются.

4.5.2. Требования к исходным кодам и языкам программирования

Для разработки программы в качестве языка программирования должен использоваться язык C# версии 4.0.

Программа должна компилироваться компилятором среды Microsoft Visual Studio 2012.

Исходные тексты программ должны содержать достаточное количество комментариев, позволяющих выполнять их верификацию и валидацию, а также контролировать стиль программирования программиста.

Дополнительные настройки компиляторов не требуются.

4.5.3. Требования к программным средствам, используемым программой

Программа должна быть реализована в виде приложения выполняемого под управлением ОС Windows 7 SP1/8 SP1.

Также на ПК должна быть установлена программная платформа .NET Framework версии 4.5.

.5.4. Требования к защите информации и программ

Требования к защите информации и программ не предъявляются.

4.6. Специальные требования

Программа представляет собой настольное приложение и должна осуществлять взаимодействие с пользователем при помощи GUI.

5. Требования к программной документации

.1. Предварительный состав программной документации

В результате разработки программы должна быть представлена следующая программная документация:

а) техническое задание;

б) схемы алгоритмов;

в) тексты программ;

г) пояснительная записка;

д) руководство оператора.

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

Похожие работы на - Разработка программы по воспроизведению и обрезке mp3 и wav файлов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!