На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Обратное преобразование?
Здравствуйте! Хотелось бы получить ответ на такой простые вопросы:
1. Существуют ли какие либо области применения результатов обратного преобразования, где это могло бы быть единственно возможным решением?
2. Может ли качество обратного преобразования каким либо параметром характеризовать качество прямого преобразования?
(оба эти вопроса естественно касаются спектрального анализа речевого сигнала)
Ничего не понятно. Надо вопрос разъяснить, если хочется получить ответ.
http://nshmyrev.blogspot.com
Цитата nsh @
Надо вопрос разъяснить

Спасибо и за такой ответ, попытаюсь более подробно пояснить. Сразу оговорюсь что я не математик и не профессиональный программист (хотя и пишу программы на delpfi под конкретные нужды в узких рамках задачи.
В нете достаточно много примеров с кодами спектрального анализа звука использующих прямое или быстрое преобразование Фурье (суть описывать не буду). Но мне нигде не встречался вариант с обратным преобразованием. Мне интересно как на слух сумма всех дискретных значений отличается от оригинала.
Если быть уж совсем наглым я хотел бы чтобы кто нибудь кто занимается программированием анализа звука выложил бы здесь 2 двоичных файлика не кода, а результа кода (например форматом 20х600,8000х16, фразы типа "мама мыла раму") один до анализа, ну и второй естественно после разборки на "запчасти" и последующей сборки (можно даже с обработкой по шумам для большего качества). Так вот хотелось бы оценить современный уровень обработки сигнала.... и сравнить его с тем, что получилось у меня, потому как оценить насколько хорошо это вышло у меня не сравнивая с другим образцом я этого сделать не могу.
Могу ещё добавить что для получения спектра не использовал прямое преобразование Фурье.
Ну вообще-то, если в прямом/обратном преобразованиях Фурье не допущено грубых ошибок, то, в теории, сигнал восстанавливается точно - матрицы прямого и обратного преобразования являются взаимно обратными. Искажения связаны главным образом с желанием получить какое-то сжатие, для чего проводится усечение коэффициентов преобразования, отбрасывается информация о фазе коэффициентов для низких и высоких частот, и т.п.

И ещё, быстрое преобразование фурье - это всего лищь быстрый алгоритм дискретного преобразования Фурье, а не какое-то отличное от него преобразование. Просто для прямого вычисления ДПФ требуется O(N2) операций, а быстрые алгоритмы обходятся O(N log N), а особо быстрые даже O(N log log N) операциями. У последних правда коэффициент великоват, так что обычно обходятся алгоритмом Кули-Тьюки. Причём даже не в общей форме (в библиотеке FFTPACK он оптимизирован для N = 2n·3m·5l), а только для степеней 2.
Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
Цитата amk @
то, в теории, сигнал восстанавливается точно

Не совсем понимаю такую оценку. Это как понимать, что если в оригинальной выборке есть набор 12345, а после обратного преобразования 12346, то это теоретически точно, а 02346 неточно?
Только что не зная о чём я пишу рядом сотрудник рассказал анекдот как раз в тему) Корреспондент на улице задаёт мужику вопрос: как вы оцениваете что вон из-за того угла сейчас выйдет динозавр. Мужик почесал репу: ну... приблизительно один шанс на миллион. А сейчас зададим этот вопрос женщине. Женщина не задумываясь: 50х50. КАК!?!?! Ну как, как? Или выйдет или нет!
Как видите оценка даже в цифрах не всегда однозначна.
Поскольку лично для меня вопросы касаются анализа речи, то мне бы было интересно не прочитать мнение, а хотя бы услышать и с чем нибудь сравнить. Хотя допускаю что это каждому человеку может подойти. Простой пример: моя жена когда слушает музыку или каких нибудь исполнителей песен совершенно не замечает фальшивых нот, которые по моему мнению совершенно нельзя не заметить, но... парадокс, поёт она совершенно идеально в отличие от меня когда моё пение сложно отличить от кота, которого тянут за хвост)
Уважаемый amk если вы прекрасно разбираетесь во всех этих математических методах анализа звуков, можно ли как нибудь выложить или переслать в личку двоичную матрицу сигнала с микрофона и выходную матрицу сигнала для воспроизведения через waveoutwrite
Цитата olegfamus @
Не совсем понимаю такую оценку. Это как понимать, что если в оригинальной выборке есть набор 12345, а после обратного преобразования 12346, то это теоретически точно, а 02346 неточно?

С точки зрения математики если мы оперируем рациональными числами, то если применить прямое, а затем обратное преобразование то результат в точности совпадёт. Что касается. Компьютера то тут числа не трансцендентные, а усечённые. Для БПФ хорошо изучен и известен порядок ошибки. Причем это младший разряд.

http://www.daemonology.net/tricl/fftconv_c.pdf

Цитата
The maximum absolute error in a single complex element of a length-2^n convolution computed using this code is less than |x|*|y| *(14.3* n + 2.3)* eps, where |x| and |y| are the Euclidean norms of the input vectors and eps = 2^(-53).
Сообщение отредактировано: Pavia -
Правильный обед должен состоять из 5 блюд приготовленных из 33 ингредиентов.
Цитата Pavia @
Что касается. Компьютера то тут числа не трансцендентные, а усечённые

Меня конечно можно и убить чистой математикой), потому как я не математик, я об этом уже писал где то выше... но смысл написанного я понимаю.
Вообще то в этой теме я не собирался обсуждать возможности обратного преобразования фурье и тем более решать вопросы о его допустимости применения, я обратился даже не к математикам, а специалиста, которые используют прямое преобразование (скорее всего программистам), в надежде что кто нибудь ответит на поставленные достаточно узкие вопросы), пока не более
зы думал что ответы получу достаточно быстро тем более при таком количестве просмотров темы (такое впечатление что просматривали по 100 раз два-три человека))
Сообщение отредактировано: olegfamus -
Цитата olegfamus @
в надежде что кто нибудь ответит на поставленные достаточно узкие вопросы), пока не более
Проблема в том, что вопросы оказались такие узкие, что их просто не видно. Первый, при первом прочтении вообще выглядит бессмыслицей. Второй, в своей "узкой" форме имеет вполне для тех, кто хоть немного знаком с преобразованием Фурье и математикой вообще, имеет единственный ответ - нет.

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

К тому же, обработка звука не единственная область где применяется программирование, нельзя рассчитывать, что среди участников окажется кто-то занимающийся тем же, что и человек, задающий вопрос. Поэтому и приходится тщательно формулировать вопрос, чтобы и не выдать лишнего, и чтобы проблема была понятна и тем, кто работает хотя бы не слишком далеко от проблемной области.
Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
olegfamus
Цитата olegfamus @
Вообще то в этой теме я не собирался обсуждать возможности обратного преобразования фурье и тем более решать вопросы о его допустимости применения, я обратился даже не к математикам, а

Тогда зачем вы в первом сообщении спрашивали про обратное преобразование? :blink:

Основная проблема то, что понять вас невозможно.

Цитата olegfamus @
1. Существуют ли какие либо области применения результатов обратного преобразования, где это могло бы быть единственно возможным решением?

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

Цитата olegfamus @
2. Может ли качество обратного преобразования каким либо параметром характеризовать качество прямого преобразования?
(оба эти вопроса естественно касаются спектрального анализа речевого сигнала)

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

Цитата olegfamus @
Не совсем понимаю такую оценку. Это как понимать, что если в оригинальной выборке есть набор 12345, а после обратного преобразования 12346, то это теоретически точно, а 02346 неточно?

Цитата
Мне интересно как на слух сумма всех дискретных значений отличается от оригинала.

Никак не отличается. 3 секунды звука даже ни одного бита не изменится, ни потеряется. Вот больше будут единичные ошибки но на слух вы их не отличите. Так как слух берёт максимальные амплитуды, а ошибки у нас с минимальной амплитудой.
Правда так никто не делает.
Есть два пути:
1. Потоковая обработка БИХ или КИХ фильтрами или ещё каким.
2. Обработка скользящим окном.

Так вот для первого известны все оценки качества. Для второго обычно эксперементальным путём.
Собираете набор звуков(датасет) собирается выборка от пользователей которые обрабатывают звук вручную. А потом уже автоматические алгоритмы подгоняют под ручные результаты. Это уже обучение всяких НС.
Под ручной обработкой понимается всё что угодно. Для примеру проставка оценки: нравится не нравится мелодия. Или разбиение песен по жанрам или ручное выписывание ритма(быстрый, или средний, или медленный, или 60 ударов в секунду).
Конкретно звуком я не занимаюсь, но работаю в смежной области графики. Поэтому пример привести не смогу. Но ответить могу на большинство вопросов.

Добавлено
Цитата olegfamus @
есть набор 12345, а после обратного преобразования 12346, то это теоретически точно, а 02346 неточно?

Для сравнения можно применять метрику. Это функция которая выдаст число от двух параметров. К примеру

// Среднеквадратичное отклонение ошибки (англ. Mean squared error)
function MSE(a,b: TArrayReal):Real; Overload;
//Пиковое отношение сигнала к шуму (англ. peak signal-to-noise ratio)
function PSNR(a,b: TArrayReal):Real; Overload; //dB

// Квадратичное среднее sqrt(сумма(sqr(x[i]))/n)
function RMS(a: TArrayReal):Real;Overload;
Правильный обед должен состоять из 5 блюд приготовленных из 33 ингредиентов.
Цитата amk @
понять его может только тот, кто работает над проблемной задачей - тот, кто его задал.

Полностью согласен, но для этого принято задавать уточняющие вопросы?)
Цитата amk @
Первый, при первом прочтении вообще выглядит бессмыслицей

вот видите... только при первом прочтении, значит не такая уж бессмыслица? тем более что на эту бессмыслицу нашёлся ответ)
Цитата amk @
с преобразованием Фурье и математикой вообще, имеет единственный ответ - нет.

Можете обосновать? (задаю уточняющий вопрос), потому как слово нет уж очень похоже на аксиому, что для меня является уж очень узким ответом
Цитата amk @
нельзя рассчитывать, что среди участников окажется кто-то занимающийся тем же

наверно вы очень серьёзно относитесь к задаваемым мной вопросам, где возможно я пытаюсь по возможности пошутить, но упаси бог кого то высмеять или поучить, на этом форуме я скорее дилетант, или по крайней мере ученик. Очень признателен всем тем кто мне отвечает) В данном случае любой ответ это опыт, хотя с некоторыми ответами я в корне не согласен, например ответ нет, поэтому и интересно почему же всё таки нет?
Сообщение отредактировано: olegfamus -
Цитата amk @

Никак не отличается. 3 секунды звука даже ни одного бита не изменится

Ну вот! Спасибо что-то подобное и ожидал услышать. Только я привык работать в основном с числами, или в крайнем случае со своим слуховым аппаратом), хотелось бы пощупать то о чём вы сказали, очень жаль что вы не работаете с речью
Цитата Pavia @
Среднеквадратичное отклонение ошибки
это тоже мне понятно, иэто тоже
Цитата Pavia @
Квадратичное среднее
- с этим не согласен, с моей точки зрения это характеризует лишь качество шумоподавления, если его применяют и тогда оно обязательно будет вносить искажения в основной сигнал матрицы, или просто уровень наличия шума в том или ином сигнале, не более.
Вообще если честно меня не столько преобразование сигнал-символы, сигнал-звуки, сигнал-слова, сигнал-предложения (не путайте с сигнал-смысл)интересуют, это в той или иной степени уже реализовано. Меня интересуют какие ещё способы этого преобразования можно использовать, и какая численная разница между этими способами... при условии например что уровень полезного сигнала становиться соизмерим с уровнем белого шума, или фона музыки. Человеку с моей точки зрения в большинстве случаев удаётся легко определить порядок звуков... тем более сказанных шёпотом. Пока выделение этих звуков я и занимаюсь, и вот когда появились более-менее приличные результаты, выяснилось что надо бы их с чем то сравнить, а сравнивать пока не с чем.
остаётся одно из двух или изучит досконально например метод фурье (тем более примеров скодами предостаточно)
или просто обратиться к кому нибудь кто этим занимается непосредственно. Как то так)
Сообщение отредактировано: olegfamus -
что то не зацитировалось)правильно так:
Цитата Pavia @
//Пиковое отношение сигнала к шуму (англ. peak signal-to-noise ratio)

- с этим не согласен, с моей точки зрения....
Сообщение отредактировано: olegfamus -
olegfamus
Можно выделять звуки ниже уровня музыки. Для этого нужно выделить основные тона речи которые чаще всего встречаются и ослаблять те что реже встречаются.
Либо просто тренировать нейронную сеть на датасети с шумами.
Причем НС будут работать по лучше так как они локально будут подстраиваться, в отличии от первого метода.

Цитата olegfamus @
с уровнем белого шума, или фона музыки. Человеку с моей точки зрения в большинстве случаев удаётся легко определить порядок звуков...

Потом отпишусь.

Цитата olegfamus @
- с этим не согласен, с моей точки зрения это характеризует лишь качество шумоподавления, если его применяют и тогда оно обязательно будет вносить искажения в основной сигнал матрицы, или просто уровень наличия шума в том или ином сигнале, не более.
Вообще если честно меня не столько преобразование сигнал-символы, сигнал-звуки, сигнал-слова, сигнал-предложения (не путайте с сигнал-смысл)интересуют, это в той или иной степени уже реализовано. Меня интересуют какие ещё способы этого преобразования можно использовать, и какая численная разница между этими способами...

Берёте датасет речи без шумов. Затем зашумляете, накладываете музыку, снижает громкость или проще говоря заглубляете. Потом пробуте вашем алгоритмом остановить и сравниваете с оригиналом.

Для первого приближения хватит MSE, оно покажет качественен лучше или хуже работает алгоритм. А так конечно лучше всего оценка людьми лучше или хуже. Но где их взять? Скорее всего нигде поэтому ставиться лучше на стандартных метриках.

Добавлено
Цитата olegfamus @
- с этим не согласен, с моей точки зрения....


Цитата olegfamus @
что то не зацитировалось)правильно так:
Цитата Pavia @ 18 января, 22:09
//Пиковое отношение сигнала к шуму (англ. peak signal-to-noise ratio)

- с этим не согласен, с моей точки зрения....

Чётких критериев по выборку метрик не существует. PSNR у меня не реализовано так как в каждой области своё понятие сигнал и шум. Просто я вам из практики скажу что пиковое значение более качественно чем просто усреднить(найти СКО).

Потому что в естественных данных частенько преобладает экспоненциальное распределение данных.
user posted image
Сообщение отредактировано: Pavia -
Правильный обед должен состоять из 5 блюд приготовленных из 33 ингредиентов.
Цитата Pavia @
Берёте датасет речи без шумов

Считаю что уже в этом варианте кроется серьёзная ошибка. я могу сбросить входной файлик с которым мне приходится работать (реальные полевые испытания алгоритма), самое большое, что вы можете на начальном этапе выжать это уровень шумов (абсолютное значение) и спектр(относительное). Понятно, что алгоритм дальнейшей обработки должен тренироваться (в вашем понимании) и найти закономерности в моём
зы как выложить файлик пока не понял практически) буду изучать правила форума)
пока не получается возможно 24к слишком много)
Сообщение отредактировано: olegfamus -
Цитата olegfamus @
пока не получается возможно 24к слишком много

вроде до 100 разрешено, правда не нашёл пока про расширение
Прикреплённый файлПрикреплённый файлM20x600.rar (11,62 Кбайт, скачиваний: 7)
получилось!
зы очень интересно мнение о возможности распознавания в таком варианте?
Сообщение отредактировано: olegfamus -
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
0 пользователей:


Рейтинг@Mail.ru
[ Script Execution time: 0,1536 ]   [ 21 queries used ]   [ Generated: 23.01.20, 02:02 GMT ]