Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
29 / 29 / 5
Регистрация: 21.04.2012
Сообщений: 282
1

Восстановить wav файл

03.12.2015, 22:10. Показов 1588. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Есть такая интересная задача. На вход идет "испорченный" wav файл. Его взяли, разбили на отрезки по 5ms и каким-то образом перемешали. В итоге когда воспроизводишь - получается билиберда. Задача - восстановить исходный wav файл. Считал его через audioread. разбил на куски по 5ms. Теперь думаю так.
Каждый кусок по 5ms - это "хороший" кусок. из них надо сделать некую цепочку, присоединяя очередной кусок к уже имеющемуся.

То есть отклонение последнего значения i-го куска от первого значения i+1 куска должно быть минимальным из всех возможных. Так ли это? и вообще правильно ли я мыслю? Если да, то как это можно примерно реализовать на matlab?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2015, 22:10
Ответы с готовыми решениями:

Написать программу, формирующую по исходному WAV файлу новый WAV файл
Написать программу, формирующую по исходному WAV файлу новый WAV файл, со сглаженным вершинами...

Создать wav файл имея raw файл с данными
Всем хорошего настроения! Пишу программу для обработки аudio данных, и есть необходимость...

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

Проиграть файл .wav
Помогите пожалуйста как мне ето решить uses Sounds; var s: Sound; begin ...

13
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
04.12.2015, 08:57 2
Разбитие на куски по 5 мс, это какой-то явно искуственный процесс (причем возможны ошибки).

Цитата Сообщение от Rabbit13245 Посмотреть сообщение
То есть отклонение последнего значения i-го куска от первого значения i+1 куска должно быть минимальным из всех возможных.
Это очень маловероятно при большом числе кусков.
Посмотрите в нормальном wav файле насколько отличаются амплитуды соседних значений А1-А2 и какова вероятность попадания амплитуд из других кусков в данный диапазон и какова вероятность, что другое значение амплитуды Ai будет ближе к A1 чем А2
0
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 2
05.12.2015, 11:19 3
Решал подобную задачу и успешно.
Готов помочь, пиши в личку
0
29 / 29 / 5
Регистрация: 21.04.2012
Сообщений: 282
05.12.2015, 12:26  [ТС] 4
Oracle228, давай тут) идея-то верная?
0
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 2
05.12.2015, 12:34 5
Добавлено через 1 минуту
Rabbit13245, Пришлите что у Вас есть,
От чего отталкиваться
0
29 / 29 / 5
Регистрация: 21.04.2012
Сообщений: 282
05.12.2015, 19:43  [ТС] 6
Oracle228, нету уже ничего. Не вышла идея с этим( а как Вы решали? Поделитесь идеей

Добавлено через 4 часа 18 минут
Oracle228, появилась новая идея решения задачи. Давайте обсуждать
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
06.12.2016, 16:30 7
Всем привет. И как это можно сделать?
0
29 / 29 / 5
Регистрация: 21.04.2012
Сообщений: 282
07.12.2016, 07:06  [ТС] 8
Rodmistar, ну давайте обсудим ваши варианты
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
07.12.2016, 11:03 9
Rabbit13245, Реализовал дробление аудио с заданным шагом, в моем случае это 0.05 секунды.
После чего нашел первый отрезок, который начинается с нулевой амплитуды.
Отталкиваясь от этого отрезка брал его конечную величину и искал новый отрезок с минимальным начальным отклонением амплитуды
Повторял о тех пор, пока не закончились отрезки
Собрал, воспроизвел, опять белеберда

Открыл спектограмму в adobe audacity, столбцы немного более гармонично встали, но все равно слишком сильные граничные переходы

Какие еще подходы можно реализовать?
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
07.12.2016, 11:11 10
Rabbit13245,
Миниатюры
Восстановить wav файл   Восстановить wav файл  
0
29 / 29 / 5
Регистрация: 21.04.2012
Сообщений: 282
07.12.2016, 14:20  [ТС] 11
Rodmistar, Ну смотрите. почему именно 0.05 секунды? как-то мало очень. может другой период?

У меня есть идея с преобразованиями Фурье, сейчас попробую реализовать!

Добавлено через 46 секунд
Rodmistar, сам файлик-то пришлите!
1
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
07.12.2016, 15:26 12
Сейчас я не могу отправить.
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
07.12.2016, 15:57 13
Вот сам файл.
Вложения
Тип файла: rar 18576.rar (269.2 Кб, 2 просмотров)
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 4
07.12.2016, 16:11 14
Rabbit13245, предлагаю вашу идею с преобразованием Фурье номинировать на самую тупую мысль нашего века.

Добавлено через 12 минут
2Rodmistar, готов решить вашу задачу за 50 литров 98го бензина
0
07.12.2016, 16:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2016, 16:11
Помогаю со студенческими работами здесь

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

Запаковать .WAV файл
Здравствуйте! В моей программе используется .WAV файл, сейчас к нему просто написан путь. Хотелось...

Проиграть Wav-файл
Привет, каким образом можно в pascal проиграть wav файл? Нашел в интернете про mmsystem, но не...

Запись Wav в файл
Пишу на C#. Имеется написанный код для записи звука с микрофона в поток(исходник будет ниже). Мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru