Розробка програмного забезпечення для аналізу цифрового звуку

Содержание

Слайд 2

Метою випускної роботи є розробка програмного забезпечення для аналізу цифрового звуку.

Метою випускної роботи є розробка програмного забезпечення для аналізу цифрового звуку.

Об'єкт

проектування – файли з цифровими звукозаписами.
Предмет проектування – додаток для аналізу цифрового звуку.
Метод проектування – вільне крос-платформне середовище розробки Code::Blocks, мова програмування C++, бібліотеки wxWidgets, WAVE PCM.

Розроблений програмний додаток має такі функціональні можливості:
Імпорт та експорт файлів у форматі WAVE PCM.
Базові операції редагування файлів (вирізання, копіювання, вставка та видалення).
Зміна висоти тону без зміни темпу та навпаки.
Видалення статичного шуму, гулу, шипіння та інших постійних шумових дефектів запису.
Детальний аналіз частотних характеристик.
Спектрографічний режим відображення доріжок.
Програмний додаток підтримує роботу з форматом даних WAVE PCM soundfile format.

Слайд 3

Архітекрура програмного додатку має модульну структуру.

Архітекрура програмного додатку має модульну структуру.

Слайд 4

Головний модуль програмного продукту призначено для взаємодії з програмними модулями «Системні

Головний модуль програмного продукту призначено для взаємодії з програмними модулями «Системні

бібліотеки», «Програмні бібліотеки» та модулем «Sources».
Програмний модуль «Системні бібліотеки» використовує бібліотечні функції та залежить від наступних системних бібліотек: gdi32.dll, user32.dll, kernel32.dll, comctl32.dll, ole32.dll.
Програмний модуль «Програмні бібліотеки» використовує бібліотеки KISSFFT та WAVE.
KISSFFT – бібліотека, що має у складі методи, які реалізують швидке перетворення Фурье.
WAVE – бібліотека, що має у складі методи, для роботи із мультимедійними файлами у форматі WAVE PCM.
Програмний модуль «Sources» має у складі такі класи:
Клас Line (файл Line.h – опис модуля, реалізація класу в файлі Line.cpp).
Клас TextFormat (файл TextFormat.h – опис модуля, реалізація класу в файлі TextFormat.cpp).
Клас Axis (файл Axis.h – опис модуля, реалізація класу в файлі Axis.cpp).
Клас AxisX (файл AxisX.h – опис модуля, реалізація класу в файлі AxisX.cpp).
Клас AxisY (файл AxisY.h – опис модуля, реалізація класу в файлі AxisY.cpp).
Клас Graph (файл Graph.h – опис модуля, реалізація класу в файлі Graph.cpp).
Слайд 5

Модульна структура програмного додатку у середовищі розробки Code::Blocks Модуль dlgMain.cpp описує

Модульна структура програмного додатку у середовищі розробки Code::Blocks

Модуль dlgMain.cpp описує основі

функції діалогового вікна, реалізації цих функцій у файлі dlgMain.cpp відповідно.
Слайд 6

Line.cpp –модуль створено для зміни значення кольору та формату ліній поточного

Line.cpp –модуль створено для зміни значення кольору та формату ліній поточного

контексту пристрою.
TextFormat.cpp – модуль створено для зміни значення кольору, вирівнювання та формату рядка поточного контексту пристрою.
Axis.cpp –модуль створено як базовий клас координатна вісь.
AxisX.cpp –модуль створено на базовому класі координатна вісь Axis, він описує вісь абсцис.

AxisY.cpp –модуль створено на базовому класі координатна вісь Axis, він описує вісь ординат.

Бібліотеки модуля AxisX.cpp

Бібліотеки модуля AxisY.cpp

Слайд 7

Graph.cpp – модуль створено за допомогою агрегації класів Series, AxisX і

Graph.cpp – модуль створено за допомогою агрегації класів Series, AxisX і

AxisY, він описує функціонал для роботі із графіком.

Бібліотеки модуля Graph.cpp

Main.cpp – головний модуль програмного додатку.

Бібліотеки модуля Main.cpp

Слайд 8

Діаграма варіантів використання

Діаграма варіантів використання

Слайд 9

Ієрархія класів програмного додатку Для розробки програмного додатку було обрано крос-платформне

Ієрархія класів програмного додатку

Для розробки програмного додатку було обрано крос-платформне середовище

розробки Code::Blocks та мову програмування С.
Слайд 10

Головне вікно програми (після запуску). Аналіз файлу 1k4416.wav Головне меню програми

Головне вікно програми (після запуску).

Аналіз файлу 1k4416.wav

Головне меню програми містить наступні

елементи: File, Setting, Analyze, Help відповідно кожне меню має своє підменю. Меню файл має пункти відкрити файл та закрити програму.
Слайд 11

Додаткова інформація на графіку У стандартному інтерфейсі програми є підказка у

Додаткова інформація на графіку

У стандартному інтерфейсі програми є підказка у нижньому

лівому куті графіка, яка відображає координати вказівника миші на зображені в координатах графіка x та y і в віртуальних координатах на графіку.

Підказка у лівому нижньому куті змінюється, коли змінюються координати вказівника миші. Для зображення на рис. 5 по логічних координатах x:444 y:441 (відмічена червоним хрестиком) відображено значення 12013,7 Hz та -170,3 dB.
Також є додаткова інформація у лівому верхньому куті – це час за який оновлюється зображення після натисканняі кнопки миші.