motofan logo
2 страниц V < 1 2        
> 

Написал тут программу, кому интересно - качаем, тестируем

@SEM*
сообщение 24.11.2024, 16:23 Закрепленное сообщение!


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 507
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 320



Приветствую всех!
Для желающих протестировать и использовать решил выложить программу для записи звука, точнее диктофон с расширенным функционалом.

В общем, решил вспомнить молодость и доделать один проект. Когда-то это была лабораторная работа по дисциплине "Обработка звука"..
С тех пор программа внешне и внутренне была значительно переработана. Также значительно дополнил и расширил функционал (перемотка аудио, улучшена обрезка аудио, визуальное отображение графика звука и перегрузки, визуализация для 24-битного звука и т.д.).
В принципе, основной заложенный функционал программа выполняет нормально, но есть ещё много идей для усовершенствования, если будет время и ресурсы, то буду понемногу доделывать.

Из возможных глюков:

- во время воспроизведения лучше не двигать и не масштабировать окно программы (возможны пропуски отдельных фрагментов при воспроизведении);
- во время записи лучше не двигать и не масштабировать окно программы (возможны пропуски отдельных фрагментов при записи)(в версии 3.6.x в большинстве сценариев устранено);
- в Windows c русской локализацией всё отображается нормально, в английской и прочих локализациях, скорее всего, вместо русского шрифта будут кракозябры. О проблеме знаю, надо полностью переписывать код программы под использование Юникода (возможно, когда-то сделаю). Как вариант - пробуйте запустить другие версии (в папке "Old version)(в версии 3.x.x код переписан);
- возможны небольшие смещения надписей и некорректный масштаб отображения окна (даже не знаю почему так, версии RC (Release Candidate) должны корректно отображаться). Как вариант, в случае проблемы - пробуйте различные режимы совместимости при запуске программы (настраивается в контекстном меню начиная с Windows 7);
- eсли у вас некорректно отображаются некоторые элементы интерфейса во время записи/воспроизведения - РЕШЕНИЕ.


В архиве внизу данного поста (файл "Example_short_16Bit_44KHz_Stereo.zip") приложил аудио файл для проверки в приложении. У кого не работает запись звука (нет микрофона или других устройств записи), можете проверить функционал с помощью этого файла (добавить файл в приложении через меню "Файл -> Открыть").

Ну и самое главное - кто установил и у кого запустилось (или не запустилось), напишите свой отзыв, впечатления и пожелания. Это мотивирует автора дальше заниматься проектом.

Ссылка на актуальную версию программы (V3.6.9 Alpha 3)

Ссылки на предыдущие версии программы


Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение

Сообщение отредактировал @SEM* - 11.6.2025, 15:35
Прикрепленный файл Example_short_16Bit_44KHz_Stereo.zip   ( 1.56 мегабайт ) Кол-во скачиваний: 1656
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 23.1.2025, 9:42


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 140
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4654



@SEM*,
По "sound_rec Версия 3.4.9 Beta 1" в окружении Wine -- заметил, что если запускать программу "в фоне", то бишь запустить и быстро переключиться на другое окно ещё до того как программа полностью запустилась, чёрнота снова появляется.

Прикрепленное изображение

Фикс этой проблемы как-то зависит от фокуса окна?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 23.1.2025, 9:48


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 140
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4654



@SEM*,
Концепция и идея игрушки Jumping Ball v0.9.3 Alpha 3 прикольная smile.gif

Под Wine работает. Вот только непонятно понятно почему при промахе и потере жизни есть небольшое подтормаживание? Так и задумывалось?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 28.1.2025, 19:25


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 507
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 320



Цитата(EXL @ 23.1.2025, 12:42) *

@SEM*,
По "sound_rec Версия 3.4.9 Beta 1" в окружении Wine -- заметил, что если запускать программу "в фоне", то бишь запустить и быстро переключиться на другое окно ещё до того как программа полностью запустилась, чёрнота снова появляется.

Фикс этой проблемы как-то зависит от фокуса окна?

Это, скорее всего, особенности библиотек Wine. Я для устранения этого эффекта при инициализации (первичное создание окна) выбирал его принудительную перерисовку (по сути, в Windows эта перерисовка выполняется и так, а в Wine нет, таким образом в текущей версии для совместимости с Wine эта перерисовка выполняется дважды). Так что тут, скорее всего, уже ничего не поделаешь, костыли они такие костыли.. Как говорил классик в одном из видео: "Ну в этой ситуации мы просто наше, это самое, мы уже, здесь наши полномочия все, окончены." laugh.gif
P.S. Вообще эти GroupBox c какого-то перепуга не перерисовываются автоматический (их перерисовка внутри дополнительной функции), а точнее ихний фон (помню что это было связано со свойствами главного окна). Но если поменять свойства главного окна, тогда что-то другое будет криво работать (уже точно не помню что). В общем, в идеале, программу надо основательно переписывать. Как минимум обработчик сообщений от звукового устройства должен быть в отдельном потоке, а не в обработчике главного окна (из-за этого если во время записи изменять размеры окна, то могут быть пропуски в записи или воспроизведении звука). Также было бы неплохо область вывода графика звука запихнуть в отдельное окно, как у многих других программ (например, GoldWave), это бы тоже много упростило. Но это уже переписывать минимум пол кода программы, а в идеале делать всё с нуля. А с учётом такого количества скачиваний это уже не имеет смысла, даже при наличии свободного времени.

Сообщение отредактировал @SEM* - 28.1.2025, 19:26
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 17.4.2025, 18:22


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 507
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 320



Версия 3.5.3 Alpha 1

Тестовая версия, некоторые функции будут дорабатываться

Главным изменением в версиях 3.5.x является добавления отображения уровня звука (VU meter).

Список изменений:

- добавил отображение уровня звука для МОНО сигнала при записи и воспроизведении;
- отображение уровня звука МОНО сигнала для 8, 16 и 24 битного звука;
- визуализация уровня звука для МОНО сигнала тремя разными цветами (зелёный - уровень в пределах нормы, жёлтый - близко к границе перегрузки, оранжевый - возможны перегрузки).

Что собственно от вас требуется.
Во-первых, оценить саму визуализацию (я ничего лучше не придумал как разместить VU meter вверху справа внутри области визуализации), стиль визуализации (цвета, размер точек и их количество).
Во-вторых, насколько визуализация корректна (для этого нужно сравнить визуализацию в сравнении с другой подобной программой во время записи или воспроизведения звука). Как вариант - субъективное восприятие (лично мне по субъективным ощущениям эти настройки визуализации VU meter понравились, возможно, у вас иначе, поделитесь своим мнением).

Пока не начал реализовывать визуализацию для СТЕРЕО сигнала (там работы гораздо больше) хотелось бы прочитать ваши пожелания и замечания.

Хеш-суммы архива:

CRC32: 3F5B5272
MD5: 63B542127196CE203453B60697808998
SHA-1: 600248E5FD5DD11C7EDB2B39F86ABE1AFD992D37

Сообщение отредактировал @SEM* - 17.4.2025, 18:26
Прикрепленный файл sound_rec_v3.5.3_Alpha1_Unicode.zip   ( 139.01 килобайт ) Кол-во скачиваний: 1181
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 19.4.2025, 13:27


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 507
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 320



Версия 3.5.10 Alpha 3

Тестовая версия, некоторые функции будут дорабатываться

Главным изменением в версиях 3.5.x является добавления отображения уровня звука (VU meter).

Список изменений:

- добавил отображение уровня звука для МОНО и СТЕРЕО сигнала при записи и воспроизведении;
- отображение уровня звука МОНО и СТЕРЕО сигнала для 8, 16 и 24 битного звука;
- визуализация уровня звука для МОНО и СТЕРЕО сигнала тремя разными цветами (зелёный - уровень в пределах нормы, жёлтый - близко к границе перегрузки, оранжевый - возможны перегрузки);
- переделал стиль визуализации для значков перегрузки и уровня звука (теперь выглядит более компактно);
- добавил в главное меню включение/выключение отображение индикатора уровня звука (меню "Вид->Отображать VU meter");
- немного изменил стиль шкалы воспроизведения при проигрывании аудиофайла.

Что собственно от вас требуется.
Во-первых, оценить саму визуализацию (я ничего лучше не придумал как разместить VU meter вверху справа внутри области визуализации), стиль визуализации (цвета, размер точек и их количество).
Во-вторых, насколько визуализация корректна (для этого нужно сравнить визуализацию в сравнении с другой подобной программой во время записи или воспроизведения звука). Как вариант - субъективное восприятие (лично мне по субъективным ощущениям эти настройки визуализации VU meter понравились, возможно, у вас иначе, поделитесь своим мнением).
В-третьих, прошу отписаться если были замечены какие-то недоработки или глюки при работе приложения.

Хеш-суммы архива:
CRC32: 1C34DAA1
MD5: B4715528413A44D8202A4A46F73E0C76
SHA-1: DD4FF915E926DFF664E619568285F763EDB7D012
Прикрепленный файл sound_rec_v3.5.10_Alpha3_Unicode.zip   ( 136.14 килобайт ) Кол-во скачиваний: 1184
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 7.6.2025, 0:04


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 507
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 320



Версия 3.6.5 Alpha 3

Тестовая версия, некоторые функции будут дорабатываться

Главным изменением в версиях 3.6.x является добавление отдельного потока для записи звука. Это должно помочь устранить пропуски звука во время записи, если пользователь изменяет размеры окна.

Протестировал на домашнем ноутбуке - пропуски звука при записи действительно пропали, масштабирование и перетаскивание окна теперь не влияет на запись звука.
Протестировал на Windows XP на виртуальной машине - к сожалению пропуски звука иногда проявляются, хотя их интервал и уменьшился.

Список изменений:

- теперь запись производится в отдельном потоке;
- переработан код для записи звука, созданы отдельная функция для обработки сообщений от буфера записи, отдельная функция для потока, внутри которого производится запись;
- добавил возможность вывода информации о библиотеках и драйверах OpenGL, используемых в приложении (с помощью OpenGL выводится график звука и некоторые другие визуальные элементы); окно открывается через "МЕНЮ->Справка->OpenGL информация";
- оптимизация кода (удаление лишних переменных, переименование некоторых переменных для лучшей наглядности), переработка кода.

Хеш-суммы архива:
CRC32: 0A9161B2
MD5: 435BFCDC25995A120961F9728A11BE2E
SHA-1: B263C5A63F8E313DEBCB9FD4F2BDB2D749913006

Сообщение отредактировал @SEM* - 8.6.2025, 10:16
Прикрепленный файл sound_rec_v3.6.5_Alpha3_Unicode.zip   ( 219.76 килобайт ) Кол-во скачиваний: 1190
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 8.6.2025, 11:35


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 507
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 320



Если у вас некорректно отображаются некоторые элементы интерфейса во время записи/воспроизведения

Например, у меня при тестировании программы на Windows XP в эмуляторе программа отображала значки пиков/перегрузки и VU meter слишком маленького размера (размер отдельных индикаторов 1 пиксель вместо 10 пикселей), или в Windows 10 прогресс бар воспроизведения рисуется слишком тонкой толщины (1 пиксель вместо 8 пикселей).

Экспериментальным методом выяснил, что причина в библиотеках OpenGL, некоторые реализации не поддерживают изменения ширины линий (функция "glLineWidth") и/или размера точек (функция "glPointSize"). Казалось бы, базовые функции, которые были чуть ли не с первой реализации OpenGL, но, как показала практика, они не всегда работают.
У меня в распоряжении оказалась очень старая версия файла "OPENGL32.DLL" версии 4.0.1379.1, которая успешно работает как на Windows 10, так и на Windows XP. Необходимо распаковать файл с архива в папку программы, это помогает устранить проблемы визуализации элементов интерфейса.
Как альтернативный вариант, нашёл старую версию библиотек Mesa для Windows ("MesaForWindows-13.0.6"), которая работает как в Windows XP, так и в Windows 10. Просто распакуйте файлы из архива в одну папку с программой.

Как проверить, используется ли новая библиотека приложением

Перед копированием файлов соответствующей библиотеки запустите программу. Зайдите в меню "Справка - OpenGL Информация" и посмотрите там информацию.
Скопируйте файлы одной из библиотек в папку с программой. Запустите программу. Снова зайдите в меню "Справка - OpenGL Информация" и посмотрите там информацию. Если информация поменялась (должна появится актуальная информация о используемой библиотеке OpenGL), значит вы всё сделали правильно и программа использует новую библиотеку.
[close]


Внимание! Оба варианта альтернативных библиотек OpenGL работают медленнее чем предустановленная версия в вашей системе. Во время записи и воспроизведения это не критично, а вот после окончании записи/воспроизведения (когда визуализируется весь записанный файл) это может быть заметно. Рекомендуется использовать один из вариантов библиотек только в случаях некорректного отображения элементов интерфейса!

Внизу этого сообщения прикреплю обе версии библиотек. Используйте только в случае проблем и только одну из версий. Также даю ссылку на сайт, где скачивал старые библиотеки Mesa для Windows - downloads.fdossena.com

Хеш-суммы архива "OPENGL32DLL_V4.0.1379.1.zip":
CRC32: BD01389E
MD5: 82E45AD964207339F96257E8317227DD
SHA-1: 7069A2CEA7CDDA216C22A30F545C02F96F8B48D9

Хеш-суммы архива "MesaForWindows-13.0.6.zip":
CRC32: 23C95DEA
MD5: 79EF22BB54F0C35EE48E591A27436AEB
SHA-1: 9FCCCFFC8A095313A5C8A9DF4D511406987934FA


Сообщение отредактировал @SEM* - 8.6.2025, 11:59
Прикрепленный файл OPENGL32DLL_V4.0.1379.1.zip   ( 280.33 килобайт ) Кол-во скачиваний: 1022
Прикрепленный файл MesaForWindows-13.0.6.zip   ( 6.22 мегабайт ) Кол-во скачиваний: 1056
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 8.6.2025, 23:36


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 507
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 320



Версия 3.6.9 Alpha 3

Тестовая версия, некоторые функции необходимо дополнительно тестировать.

Главным изменением в версиях 3.6.x является добавление отдельного потока для записи звука. Это должно помочь устранить пропуски звука во время записи, если пользователь изменяет размеры окна.

Протестировал на домашнем ноутбуке - пропуски звука при записи действительно пропали, масштабирование и перетаскивание окна теперь не влияет на запись звука.
Протестировал на Windows XP на виртуальной машине - к сожалению пропуски звука иногда проявляются, хотя их интервал и уменьшился.

Список изменений:

- теперь запись производится в отдельном потоке;
- переработан код для записи звука, созданы отдельная функция для обработки сообщений от буфера записи, отдельная функция для потока, внутри которого производится запись;
- добавил возможность вывода информации о библиотеках и драйверах OpenGL, используемых в приложении (с помощью OpenGL выводится график звука и некоторые другие визуальные элементы); окно открывается через "МЕНЮ->Справка->OpenGL информация";
- оптимизация кода (удаление лишних переменных, переименование некоторых переменных для лучшей наглядности), переработка кода;
- переписал и протестировал часть кода, ответственного за работу потока записи звука - изменил логику обработки ошибок при запуске и остановке устройства записи (теперь все ошибки собираются и выводятся в одном сообщении уже после остановки потока);
- во время тестирования выявил и устранил аварийное завершение программы (возникало при повторной попытке запустить запись в случае отсутствия устройств записи) - теперь перед началом записи программа делает сначала тестовое открытие и закрытие устройства, а лишь затем запускает запись в новом потоке;
- добавил проверку, возможно ли запустить устройство записи с заданными параметрами глубины и частоты дискретизации звука.


Хеш-суммы архива:
CRC32: 965FEB5E
MD5: 56A14EC03FC10D01FC69B81617FAD9A8
SHA-1: 441E4F6CE111AC54B4BDB32EA5299A0292ECF52D

Сообщение отредактировал @SEM* - 8.6.2025, 23:39
Прикрепленный файл sound_rec_v3.6.9_Alpha3_Unicode.zip   ( 220.92 килобайт ) Кол-во скачиваний: 971
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 11.6.2025, 17:04


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 507
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 320



Версия 3.7.3 Alpha 3

Тестовая версия, некоторые функции необходимо дополнительно тестировать.

Главным изменением в версиях 3.7.x является возможность записи звука в Hi-Res качестве - 96 кГц и 192 кГц (при условии, что устройства записи и воспроизведения поддерживают такие частоты дискретизации).

Список изменений:

- добавил возможность записи аудио с частотой дискретизации 96 кГц, протестировал работоспособность этого формата в разных условиях (в сочетании с моно и стерео, в сочетании с разной глубиной звука, запись, воспроизведение, сохранение, загрузка);
- добавил возможность записи аудио с частотой дискретизации 192 кГц, протестировал работоспособность этого формата в разных условиях (в сочетании с моно и стерео, в сочетании с разной глубиной звука, запись, воспроизведение, сохранение, загрузка);
- добавил возможность записи, воспроизведения, сохранения и загрузки аудиофайлов размером более 2 ГБ (ограничение на размер занимаемой оперативной памяти для одного процесса в для WIN32 приложениях); теперь для 32-битных систем ограничение на размер составляет 3ГБ (после редактирования системного файла "boot.ini"), а для 64-битных систем (Windows Vista и выше) максимальный размер теперь ограничен ~3.5-3.8 ГБ (система уже настроена, ничего редактировать не нужно); в настройках компиляции программы добавил флаг "LARGEADDRESSAWARE";
- мелкие правки и исправления.

Проверил работу программы как для 96 кГц, так и для 192 кГц. На моём ноутбуке всё работает быстро и без каких либо зависаний изображения или звука. При записи и воспроизведении затраты на отрисовку одного буфера в пределах 1-9 миллисекунд в зависимости от драйверов (в теории, всё будет работать без проблем с временем отрисовки до 30-45 миллисекунд), так что есть ещё большой запас прочности, всё должно работать стабильно даже на старых ПК (хотя понятие "старый" у всех относительно). Само собой, на высоких значениях дискретизации затрачивается больше ресурсов (больший размер файла при той же продолжительности аудиозаписи, значительно больше времени на отрисовку всего файла), но и качество записи будет получше. В повседневных задачах это не особо нужно, но кому-то, возможно, и пригодится.

Хеш-суммы архива:
CRC32: 93EAB3ED
MD5: 3B902AC50CFDDBB2D6331F210A693143
SHA-1: EE34F08DB77CD19ABF85802634E77D49AA93279B

Сообщение отредактировал @SEM* - 11.6.2025, 17:12
Прикрепленный файл sound_rec_v3.7.3_Alpha3_Unicode.zip   ( 221 килобайт ) Кол-во скачиваний: 598
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Написал тут программу, кому интересно - качаем, тестируем · Компьютеры, операционные системы, софт и железо · Forum
 

2 страниц V < 1 2
Ответ в темуСоздание новой темы
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17.6.2025, 1:41

Форум живёт: