PaintCAD для Windows - журнал разработки

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Чт фев 20, 2014 2:20 pm

Разработка продолжается.

В меню Утилиты была добавлена еще одна команда, на этот раз это извлечение WAV-озвучки из AVI-видео.

Меню Утилиты стало очень длинным, поэтому теперь оно будет разделено на 4 части: обработка AVI, обработка GIF, обработка BMP/JPG/GIF кадров для AVI/GIF, работа с двухмерной мозаикой.

Изображение

Изображение

Команда извлечения озвучки AVI вкупе с командой добавления/замены озвучки позволит:
- достать озвучку из любого avi
- изменить ее в Qmpot (как обычный wav-файл)
- засунуть обратно в AVI измененную озвучку (заменив ту, которая там была до этого)

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Сб мар 01, 2014 1:00 pm

Настройки Qmpot

В настройках добавлены варианты работы с основным файлом и с инструментами/буфером через HDD (жесткий диск) либо RAM (оперативку).

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

Изображение

Новые кнопки

Окно дополнилось новыми кнопками по работе с буфером и выделением (вырезать Ctrl+X, копировать Ctrl+C, вставить Ctrl+V, удалить Del, эффекты Ctrl+E). Также появилась мини-кнопка вывода информации об отсчете под курсором и о выделении (включается по Ctrl+I).

Изображение

Запись звука

возможна:
- с веб-камеры - уже работает, записывает с камеры минивидео 160х120 точек со звуком, потом выдирает из видео аудио, а видео удаляет. По другому аудио с вебкамеры (вроде бы) не списать =) Очень удобно на нетбуке, качество конечно звука не ахти, но можно создавать "пропеванием" в вебкамеру над экраном свои собственные "инструменты" и использовать их в своих мелодиях.
- и с микрофона (в разработке).

Изображение

Кнопка информации

об отсчете/выделении:

Включается по Ctrl+I, выводит в левом верхнем углу окна рядом с позицией отсчета информацию об амплитуде U отсчета и "наклоне" K следующего отсчета по отношению к текущему.

Изображение

Если выделен фрагмент - то справа вверху помимо границ выделения показываются параметры начала и конца выделения dU - разница амплитуд начального и конечного отсчета, dK - разница наклонов начального и конечного отсчета. Удобно искать циклы (loopы) - выделяешь до тех пор, пока dU и dK не будут как можно меньше. Потом сразу можно сохранить текущий звук с выбранным выделением как INS+WAV инструмент, чтоб использовать его в своих QMP-программах.

Изображение

В случае работы со стереозвуком - можно подбирать циклы и в них, в этом случае отображаются dU и dK для обоих каналов (dU1, dK1, dU2, dK2).

Изображение

Работа с буфером

Как обычно - это Ctrl+X, Ctrl+C, Ctrl+V и Delete. Срабатывает только если закрыто поле ввода QMP-программы (а если открыто - то эти сочетания работают в поле ввода QMP-программы).

При вставке ранее вырезанного/скопированного куска можно выбрать варианты:

Изображение

- Сдвиг-вставка, вставляет фрагмент в текущее положение курсора, а все что было - сдвигает вправо. При этом если что-то уедет за границу текущей длины звука - то оно пропадет. В "Эффектах" будет функция увеличение длительности текущего звука.

- Замена-вставка, вставляет фрагмент в текущее положение курсора, затирая все, что было до этого в этом месте.

- Микс-вставка (100% громкость), вставляет фрагмент в текущее положение курсора, суммируя вставляемое с тем, что было в этом месте до вставки.

- Микс-вставка (указать громкость), вставляет фрагмент в текущее положение курсора, суммируя (с домножением на выбранную в процентах громкость) вставляемое с тем, что было в этом месте до вставки. Можно выбрать любую громкость, даже отрицательную (перевернув звук, таким образом сбив фазу) или большую (1000%, 10000%). Если вручную со сдвигом вставлять фрагмент с громкостью 100%, 50%, 25% и т.д. - можно сделать эдакое ручное эхо. Автоматическое эхо и прочие эффекты будут позже под кнопку "Эффекты" добавлены.

При удалении или вырезании фрагмента можно либо убрать образовавшуюся дыру в звуке (тогда все что было за выделенным фрагментом - сдвинется назад на длину выделенного фрагмента), либо залить ее "тишиной" (нулевой амплитудой):

Изображение

Проигрывание сначала

Т.к. F5 продолжает играть с предыдущего места паузы, то в Плеер (Ctrl+F5) была добавлена возможность проигрывания с начала, чтоб лишний раз не вызывать перемещение курсора к началу.

Изображение

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Вс мар 09, 2014 10:10 am

"Эффекты" были превращены в 2 кнопки: "Эффекты" - обработка звуковых данных и "Команды" - работа с выделением, звуком и буфером.

Изображение

В команды было перенесено все, что не изменяет данные редактируемого звука, но очень помогает если нужно:
- выделить все в текущем канале,
- выделить нужный фрагмент,
- поправить сдвигом курсора начало или конец выделения,
- оставить только выделение (crop),
- обменять звук и скопированный в буфер кусок звука местами,
- переконвертировать формат (частоту дискретизации, битность, количество каналов),
- уменьшить/увеличить длительность звука.

Изображение

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Пт мар 21, 2014 10:14 pm

Бета 1.3.0.976 доступна по ссылке http://blackstrip.ru/paintcad.exe

Новое в Qmpot по сравнению с описаниями в предыдущих постах:
1) команда "изменить длину" разделена на две: "длина массива" и "длина звука" (по аналогии с паинткадовскими "размер холста" и "размер растра", меняют размер массива звука без изменения наполнения или с натягиванием наполнения на новую длину).

2) реализованы эффекты (Ctrl+E):
- громкость/градиент,
- фильтр - по аналогии с паинткадовскими "сглаживанием" и "резкостью", позволяет глушить или выделять ВЧ составляющие звука,
- подавление шума - глушит все отсчеты ниже выбранного порога через квадратный корень (в будущем, возможно, здесь будет более продвинутая технология подавления шумов)
- случайная вставка (по выделению) - случайно раскидывает N экземпляров буфера по выделенному фрагменту, удобно, если нужно создать фон природы из всяких рандомно расставленных звуков леса, всплесков, пения птиц и т.д.
- вставка с повтором - раскладывает N экземпляров буфера с выбранным шагом и с выбранным затуханием (можно просто повторы сделать, если выбрать нулевое затухание, либо сделать эффект эхо, если ненулевое)
- еще не реализована "математика", применяющая разные обработки к выделенному фрагменту (появится позже)

3) QMP-скрипты: новая команда SE устанавливает параметры повторов/эхо для инструмента

Вот такой скрипт с командой SE:
Изображение

и четыре ноты пианино после команды SE превращаются в двадцать вот таких: http://blackstrip.ru/tmp/pcw130/echosamp.wav

А вот такой скрипт:
Изображение

дает вот такие ноты с одиночным эхом: http://blackstrip.ru/tmp/pcw130/echosamp2.wav

4) Появились команды перехода (Ctrl+G) на случайный отсчет и случайный отсчет в пределах выделения. Для ручной "случайной" расстановки звуков и эффектов.

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Сб мар 22, 2014 12:35 am

Инструменты для Qmpot будут выкладываться в теме viewtopic.php?f=8&t=526

Гайд по созданию инструментов из готовых SF2, DLS баз в теме viewtopic.php?f=8&t=527

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Ср мар 26, 2014 10:01 pm

Бета 1.3.0.978 доступна по ссылке http://blackstrip.ru/paintcad.exe

1) новая QMP-команда "SS коэф" - устанавливает коэффициент скорости (темпа), например, 2.0 - все в 2 раза быстрее (и задержки, и длительности, но на эхо не влияет, его параметры выставляются отдельно через SE команду)
2) подавление шума переписано под амплитудо-зависимое усреднение шумов ниже порога (чем ближе к нулю, тем сильней усреднение)
3) для всех "повторов" эффектов сделана индикация в заголовке окна qmpot
4) интерфейс Qmpot переведен на английский (можно увидеть если выбрать English в меню Язык паинткада)
5) добавлена возможность записи с метрономом (графическим и MIDI) с установкой темпа и размера (пока только с вебкамеры пишет, потом с микрофона тоже будет)

Изображение

6) команда P,PL,PR может теперь использовать дробные значения транспонирования (меньше полутона)
7) если вебкамера не найдена - то запись звука в Qmpot не начнется, будет выдано сообщение об ошибке

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Чт мар 27, 2014 10:52 pm

Бета 1.3.0.981 доступна по ссылке http://blackstrip.ru/paintcad.exe

- qmpot: файл отмены данных undodata.tmp и файл данных буфера waveclip.tmp теперь удаляются из каталога pcw при выходе из паинткада
- доступна запись с микрофона с метрономом и без него (форматы записи предлагаются любые, но если в процессе записи или по окончании вылетает ошибка - значит такой формат записи ваша (выбранная в винде по умолчанию) звуковая карта не поддерживает через MCI).
- в Эффекты добавлен вариант фильтра "Убрать постоянную составляющую"

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Вт апр 08, 2014 10:59 pm

Бета 1.3.0.984 доступна по ссылке http://blackstrip.ru/paintcad.exe

- ноты отсчитываются теперь не от нулевой ноты Ля, а от нулевой ноты До первой октавы (С4) везде, включая Скриптаинтовские скрипты генерации звука.
- добавлена система "Ввод нот". Подробнее:

1) Написание "программы" в окне Qmpot требует точного указания тона ноты (в полутонах), как последнего параметра команд P, PL, PR. Но каждый раз в при этом представлять в голове клавиатуру фортепиано - проблематично, а заранее прослушать как будет звучать сочетание тех или иных нот - в этом случае вообще невозможно. Нужно было добавить окно, которое позволит легко выбирать ноты, оценивать их звучание, и если все устраивает - то переносить выбранные ноты в "программу" Qmpot. Для вызова этого окна в блок кнопок управления qmp-программой была добавлена кнопка "Ввод нот (Shift+F7)".

Изображение

2) По нажатию на нее вызывается окно ввода нот:

Изображение

3) Слева отображается клавиатура фортепиано. Можно бегать синим курсором по клавишам и выделять (или снимать выделение) их Пробелом (тогда они становятся красными).

Изображение

По нажатию Enter - выбранные ноты одновременно проигрываются через MIDI, можно послушать выбранный аккорд или ноту по текущему положению курсора (если ничего не выбрано). А по Ctrl+Q можно послушать текущий звук, записанный в Qmpot - это позволит установить насколько надо транспонировать звук вашего инструмента чтобы притянуть его к ноте С4, являющейся, обычно, опорной для всех инструментов (т.е. без транспонирования звук любого инструмента должен звучать как С4, тогда несколько инструментов в вашей музыке будут звучать, как положено, в одной и той же тональности).

4) По нажатию Ctrl+Enter - выбранный аккорд добавляется в поле программы справа в виде команд PL. Потом их можно скопировать по нажатию Ctrl+C (чтоб перенести в основное окно Qmpot в программу), либо очистить программу по Ctrl+X.

Изображение

При этом можно заранее выбрать кнопками внизу окна текущий номер инструмента (Ctrl+I), временное Смещение вставляемых нот в секундах (Ctrl+A - указать напрямую, Ctrl и '+'/'-' - увеличить/уменьшить текущее смещение на величину шага), Шаг изменения смещения (Ctrl+S), Длину (длительность) нот (Ctrl+D). Также можно включить по Ctrl+P режим "Авто+", тогда после вставки по Ctrl+Enter смещение будет автоматически увеличено на величину шага.

5) По Ctrl+G - можно перейти от фортепиано к шестиструнной гитаре, набирать на ней аккорды, прослушивать их и добавлять в программу. Вот, например, Am:

Изображение

ПРИМЕЧАНИЕ: эксклюзивно для 6-тиструнной гитары - дополнительно зажатый Shift позволяет играть (Enter) и добавлять (Ctrl+Enter) в программу только ту струну, на которой сейчас курсор, а не все зажатые струны. Таким образом можно "играть" на гитаре переборами, пострунно (особенно удобно при Записи, см.ниже).

6) Игра на клавиатуре как на фортепиано, а также запись сыгранного - теперь возможна во "Вводе нот". В окно был добавлен метроном, похожий на метроном записи звука с микрофона/вебкамеры. Он имеет также 2 режима: видеометроном (меняющееся количество шариков на экране) и MIDI-метроном (цыкает в выбранном темпе в такт шарикам). Чтобы ноты вводились ровно - введен параметр Квант (Ctrl+F). Время между каждыми двумя ударами делится на выбранное количество кусков (квантов), например, квант 1/4 - время делится на 4 части. При темпе 120 ударов в минуту (0.5 секунды на каждый удар) - каждый квант есть 0.5/4 = 0.125 секунды. В примере на скриншоте квант выбран как 1/1, поэтому все ноты привязываются к ближайшим отметкам в 0.5 сек (см. текст программы на скриншоте).

Изображение

Ввод нот при записи осуществляется прямо с qwerty-клавиатуры. Можно также просто играть на клавиатуре без включения записи.

Опорная октава звучания и ввода зависит от того, где сейчас стоит курсор на клавиатуре фортепиано/грифе гитары. От нее отсчитываются по рядам:

а) белые клавиши - ASDFGHJKL:"
б) черные над ними - WETYUOP}
в) белые клавиши на октаву ниже - ZXCVBNM<>?
г) черные клавиши на октаву ниже - 2356790=

Такая расстановка клавиш позволяет играть мелодию на основной октаве посреди клавы, а баcы нажимать второй рукой в ряду ZXCVBNM<>? и 2356790=.

ПРИМЕЧАНИЕ: Разные клавиатуры поддерживают разное количество одновременно нажимаемых клавиш, кроме того, некоторые клавиши могут и по 3 и по 4 одновременно нажиматься, а некоторые другие - только по 2 и не более.

ПРИМЕЧАНИЕ ПО MIDI: В зависимости от мощности компьютера MIDI микшируется с маленькой или большооой задержкой (это всё винда виновата). Поэтому если MIDI-метроном лагает и глотает удары, а ноты звучат спустя секунду от реального их нажатия на клавиатуре - смиритесь, у вас слабый комп либо лагучий миди (у меня так на мощном компе, а на нетбуке вообще можно повеситься). Попробуйте перейти на запись фрагментов в более медленном темпе, а потом в qmp-программе добавьте в начало команду SS N, что увеличит скорость проигрывания вашей программы в N раз.

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Чт апр 10, 2014 12:45 am

Бета 1.3.0.986 доступна по ссылке http://blackstrip.ru/paintcad.exe

- ввод нот: поправлена слишком широкая отрисовка клавиатуры после разворачивания и сворачивания окна
- ввод нот: добавлена кнопка и настраиваемое значение "Сдвиг (Ctrl+H)", позволяющая добавлять ноты выделенного аккорда со сдвигом друг относительно друга
- оптимизированы алгоритмы P,PL,PR под использование файловых потоков/потоков памяти
- исправлена ошибка превращения задержек типа 1мс, 10 мс в 0.1S при записи и Ctrl+Enter-добавлении нот
- добавлена команда SH, позволяющая очеловечить генерируемую музыку, рандомно раскидав по указанным отклонениям ноты по времени, тону и амплитуде от своих основных значений

Подробнее:

Сдвиг

Если ввести по Ctrl+Enter с гитары 6 зажатых одновременно струн - то получается это :

Изображение

и звучит как http://blackstrip.ru/tmp/pcw130/beforeshift.wav

Новой кнопкой "Сдвиг" можно установить задержку, тогда струны (а также фортепианные клавиши) будут вноситься в программу с указанным сдвигом. Причем можно указать отрицательный сдвиг, тогда они будут внесены в обратном порядке.

Изображение

и звучать это станет как http://blackstrip.ru/tmp/pcw130/aftershift.wav

Команда SH
- установка параметров "хуманизации" (очеловечивания) музыки

Была музыка http://blackstrip.ru/tmp/pcw130/beforehuman.wav - ровные ноты, громкости и задержки.

А если вставить в начало QMP-программы команду SH 1,0.05S,0.1,0.2 - то это будет означать "раскидать случайным образом ноты 1 инструмента так, чтоб задержки сместились от основного положения в пределах +/-0.05 секунды, тон сместился бы на +/-0.1полутона максимум, амплитуда сместилась бы на +/-20% максимум.

После применения такой обработки - ноты гуляют, задержки тоже слегка, и амплитуды. Получается более "живая" музыка, нероботизированная: http://blackstrip.ru/tmp/pcw130/afterhuman.wav . Хотя конечно гулять по тонам могут только те инструменты, где это физически возможно (например, скрипку можно зажимать от балды, т.к. там нет привязки к полутонам, как в гитаре к порожкам на грифе, например).

Аватара пользователя
blackstrip
Админ
Сообщения: 1009
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows

Сообщение blackstrip » Чт апр 10, 2014 9:19 pm

Бета 1.3.0.988 доступна по ссылке http://blackstrip.ru/paintcad.exe

- параметр разброса по времени в команде SH теперь влияет также на длину ноты (для PL)
- исправлена ошибка выполнения команд P,PL,PR после выполнения команды N (был сбой обращения к новому потоку, из-за этого почему-то только создание звуков командой N с дробной длительностью приводило к краху программы, а с целой длительностью прокатывало и поэтому было замечено не сразу)

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя