Comments 38
Это даже интереснее самой статьи… БУ lcd монитор можно же в пределах тысячи купить...
Тема забавная, но как-то наколеночно сделано…
1) Зачем Excel, если есть C? Запросить 2 числа (размер в пикселях известен и так) и выдать результат — две строчки
2) Да и зачем вообще выдавать и копировать из одних полей ввода в другие? Пусть программа сама сделает — писать wav не сильно сложнее, чем PCM. fseek в начале, fseek в конце и fwrite одну структурку, в которой надо вычислить пару-тройку полей (на пять с плюсом — не забывая про big endian машины :)
3) чем делать бинаризацию руками, ее можно сделать в программе из серой картинки. Для такого характерного сигнала не сложнее, чем прочитать уже бинаризованный — просто найти индекс не элемента с значением 0, а с минимальным значением
4) можно не требовать высоту именно 256 пикселей, а прочитать фактическую высоту и выравнивать результат под нее.
4) и вообще, зачем нам серая картинка? Можно же прочитать RGB картинку, а бинаризовать только по красному каналу (в котором миллиметровка вообще практически не видна).
На это все уйдет максимум час времени, а вот пользоваться станет в сто раз удобнее — останется только вырезать нужный фрагмент картинки (+ мазнуть ластиком по оставшимся надписям), повернуть его и экспортировать в BMP — и загнать в программу. А на выходе будет файл, который можно грузить в любой звуковой редактор без доп. настроек.
2) Я знаю. Делал такое ранее, даже более сложный вариант для AVI. Но в данном случае так более понятно для некоторых читателей. Разнообразие лишним не бывает. Иначе получится сырое программирование.
3) Можно, но цель была… читай статью ещё раз.
4) Можно, только осторожно.
4) Можно. А можно и не преобразовывать в BMP, а читать JPG. Подумаешь, пара-тройка функций, и готовые библиотеки чтения JPG есть. Получится полноценный продукт для конвертирования нарисованной волны в звук. Вопрос: а зачем он нужен? Кому интересно, те сами напишут, и не хуже. А остальным это не только неинтересно, но и вообще, не будут иметь представления, о чём эта статья.
Читаю заголовок "перевод бумажной кардиограммы в WAV-формат". Читаю теги — "звук, С". Читаю статью — делаем то руками, делаем это руками, делаем wav руками, делаем руками все, что только можно.
Если рассматривать статью как практическое руководство к действию по переводу одного конкретного взятого бумажного рулончика в файл wav, то вопросов нет, кроме одного — "почему это в хабе C?". Если же считать, что целевую аудиторию интересуют вопросы программирования… связанные со звуком… может быть, с wav… и, может быть, немножко с графикой или базовым CV — то, по-моему, было бы несколько полезнее (особенно для новичков) сделать не, извините, огрызок, а чуть более законченную программу. Или, еще нагляднее и полезнее, показать ручной способ, а показать, как автоматизировать часть шагов.
На втором рисунке изображено сразу несколько кардиограмм.
Кардиограмма там все-таки одна. Просто несколько отведений.
Ммм… Тёплый ламповый телек вместо холодного транзисторного монитора!
А как послушать? Ссылка битая (
На днях перезалью. Но слышно будет не на всех колонках из-за очень низкой частоты.
Но слышно будет не на всех колонках из-за очень низкой частоты - это конечно засада... И если так низко, то может и не в колонках дело - ухо тоже не слышит низкие звуки...
Но напишите, как зальёте, я попробую послушать - а то открыл - думал послушать - и не смог )))
На С1, на хороших колонках явно слышно сердце. В принципе, как обычное сердце звучит, ничего особенного. На маленьких колонках ничего не слышно. Спасибо.
Стоит понимать, что это не звук сердца, а электрический сигнал, формируемый сердцем. И звуком сердца данный сигнал назвать можно только условно, тем более это инфразвук. А в качестве звука сердца (в озвучке фильмов, к примеру) обычно принимают некую имитацию, которая слышна на любых колонках. Ну или тупо, можно подставить к сердцу микрофон и записать его звучание.
Как звучит сердцебиение: перевод бумажной кардиограммы в WAV-формат