Skip to content

atalabaev/Autoencoder_sound

Repository files navigation

Two-Stage Autoencoder for Audio Reconstruction

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

Цель работы — разработка и исследование двуступенчатого автоэнкодера для сжатия и восстановления аудиосигналов.

Задачи:

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

2. Данные

Используются аудиофайлы в формате WAV.

Параметры данных:

  • моно-сигнал;
  • частота дискретизации — 16 000 Гц;
  • длительность фрагмента — 1–2 секунды.

Перед подачей в модель сигнал:

  • ресэмплируется;
  • приводится к фиксированной длине (padding / обрезка).

3. Архитектура модели

Модель состоит из двух автоэнкодеров.

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

Вторая ступень выполняет дополнительное сжатие латентного представления первой ступени.

Схема: Вход → AE1 → Латент1 → AE2 → Латент2 → Декодирование → Выход


4. Функция потерь

Используется среднеквадратичная ошибка (MSE):

L = MSE(x, x̂₁) + MSE(x, x̂₂)

где:

  • x — исходный сигнал,
  • x̂₁ — реконструкция первой ступени,
  • x̂₂ — реконструкция второй ступени.

5. Обучение

Обучение выполняется оптимизатором Adam.

Пример запуска:

python3 main.py --mode train --epochs 50 --latent-dim-1 512 --latent-dim-2 128 --max-duration-sec 2.0
После обучения модель используется для восстановления аудиофайла:
python3 main.py --mode reconstruct --checkpoint checkpoints/checkpoint_epoch_50.pth --input-wav audio_data/test/sample1.wav --output-wav reconstructed.wav --latent-dim-1 512 --latent-dim-2 128 --max-duration-sec 2.0
Модель демонстрирует способность восстанавливать форму аудиосигнала.
Качество реконструкции повышается при увеличении числа эпох и размерности латентных пространств.
Используемые технологии
Python
PyTorch
TorchAudio
NumPy
SoundFile
Jupyter Notebook

About

Implementation of a two-stage neural autoencoder for audio signal compression and reconstruction.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published