LINUX.ORG.RU

Вот блин! Есть же настоящие погромисты! Не то, что я - калькуляторописатель... :(
Сторонние либлиотеки использовал? На чём написана? Если не сложно будет могу принять участие в сборке под win/mac/bsd(:D), установщики и т.д.
Сорцы не смотрел, просто хочу понять, есть ли смысл туда заглядывать или мне это ничего не даст.
Нарыл:

Install dependencies:
C++ compiler
Qt5 Widgets
Qt5 Core
w2midi

w2midi - это своё или что-то стороннее?

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Ответ на: комментарий от realbarmaley

Полностью портабельны

Это хорошо

Jack это библиотека и для нее нужен сервер.

Ссылку на ман можно? Боюсь это будет затыком для меня...

xwicked ★★☆
()
Ответ на: комментарий от realbarmaley

Посмотрите qjackctl, работает и на bsd и на mac и на win

Нашёл этот ман, буду пробовать по нему. ТАм есть упоминание про qjackctl.

xwicked ★★☆
()
Ответ на: комментарий от realbarmaley

Если вы сможете портировать мою программу, буду очень благодарен!

Постараюсь. Сейчас у меня стресс. Снёс все игры с 7, поставил 10 и играю в Diablo II Resurrected. 😄
Попозже. Гитары у меня нет, поэтому проверить не смогу, но постараюсь всё логически уловить.

xwicked ★★☆
()
Ответ на: комментарий от realbarmaley

Можно петь в микрофон. Можно плеер подключить. Вообще любой звук

Ок, буду иметь в виду.

xwicked ★★☆
()
Ответ на: комментарий от kott

Чтобы какафония не получалась лучше к электрогитаре подключать, очень сильно анализ зависит от шумов.

realbarmaley ★★
() автор топика
Ответ на: комментарий от kott

Waon лучше для записи нот работает, у меня задержка ниже

realbarmaley ★★
() автор топика
Ответ на: комментарий от kott

Размер буфера можно побольше поставить, порог срабатывания в Дб побольше

realbarmaley ★★
() автор топика
Ответ на: комментарий от Original

Вы можете подключить mpv к w2midi через JACK и хоть FLAC, хоть mp3 анализировать, а выход w2midi к секвенцору!

realbarmaley ★★
() автор топика
Ответ на: комментарий от R_He_Po6oT

Основная задержка, оказывается, это USB и аудиокарта. Если аппаратура дорогая, то задержка низкая будет!

realbarmaley ★★
() автор топика
Ответ на: комментарий от R_He_Po6oT

Солировать на сборке гитара + w2midi я не рекомендую, но подыгрывать ритм или какие то фоновые звуки самое то

realbarmaley ★★
() автор топика

я не знаю, что это, о будет прикольно, если ты сделаешь скрин в галерею с описанием.

crypt ★★★★★
()
Ответ на: комментарий от realbarmaley

после постинга оно попадет в неподтвержденные и какое-то время там повисит, пока модераторы не решат, что пора обновить ленту. зато на главной это увидят пара человек, которые интересуются звуком, а не только токсы.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от realbarmaley

Вот мне интересно, как Line6 Variax работают? Пусть у них каждая струна снимается своим датчиком и обрабатывается отдельно, но задержки нет. Можно ли также сделать на классическом звукоснимателе/усбинтерфейсе и компе? Там же даже полупериода не проходит, даже на низких струнах.

R_He_Po6oT ★★★★★
()

Смотрел с глубоким интересом. Когда дошло до аккордов, осторожно вернул на место отпавшую челюсть.

Shadow ★★★★★
()
Ответ на: комментарий от realbarmaley

Как процесс портирования?

Сейчас у меня стресс.

Думаешь стресс так быстро проходит за 5 дней? :D
Люди неделями запивают или заедают его, а я вот медитирую. :D
Пока никак. Сейчас решил форсировать, закачал jack, fftw и твои исходники. Схожу искупаюсь, почитаю Readme, закачаю Qt нужной версии и буду пробовать собирать.

xwicked ★★☆
()
Ответ на: комментарий от realbarmaley

D:\develop\w2midi>c:\mingw64\bin\mingw32-make.exe
cc -c -std=c99 -pedantic -Wall -Werror w2midi.c -o w2midi.o
process_begin: CreateProcess(NULL, cc -c -std=c99 -pedantic -Wall -Werror w2midi.c -o w2midi.o, ...) failed.
make (e=2): ═х єфрхЄё  эрщЄш єърчрээ√щ Їрщы.
mingw32-make: *** [Makefile:11: w2midi.o] Error 2

Qt ещё не установил. Установил mingw в C:\mingw64. Запускаю make и такая петрушка. Наверное тебе нужно мне подсказать как правильно подключать сторонние либы. Переменные / пути куда прописать или что-то ещё? Jack я установил, но сервер не запустился. Возможно из-за того, что нет микрофона. Завтра с работы принесу и попробую ещё раз, так как нет input device, наверное. FFTW скачал, но как установить ещё не понял... В своих программах я использовал всё своё. С таким ещё не сталкивался, так как это не мой уровень.

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 2)
Ответ на: комментарий от realbarmaley

Если хотите успокоится после стресса, лучше прекратить портирование на шинду :) это боль…

Не, это теперь уже дело чести. Али я не программист? Я свои проги на Solaris 10 собирал, что я шинду не одолею? :D

xwicked ★★☆
()
Ответ на: комментарий от xwicked

Процесс сдвинулся. Верхнюю ошибку поборол прописыванием

set path=c:\mingw64\bin
и сборка пошла. Чтобы создать lib-файл, чтобы можно было статически прилинковать к проге, скачал Visual Studio Community Edition и прогой lib сделал это, по другому никак:
lib /def:libfftw3f-3.def
lib /def:libjack64.def
lib находится по следующему пути:

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\bin\Hostx64\x86\lib.exe

Положил lib и dll в папку «w2midi». Поправил Makefile:

LIBS = -L -ljack64 -L -lfftw3-3 -lm -lpthread

Добавил "-L", так как в текущем каталоге не видел и изменил названия на фактические имена файлов.

jack\jack.h

не видел ни в какую, хоть и в переменную path добавлял, решил грубым хаком: закинул папку jack с заголовочниками в

C:\mingw64\x86_64-w64-mingw32\include

где находится stdio.h. FFTW3 прилинковался без проблем, а вот с jack аот такая ошибка:

D:\develop\w2midi>C:\mingw64\bin\mingw32-make.exe
gcc w2midi.o -o w2midi -L -ljack64 -L -lfftw3-3 -lm -lpthread
w2midi.o:w2midi.c:(.text+0x9a): undefined reference to `jack_activate'
w2midi.o:w2midi.c:(.text+0xec): undefined reference to `jack_client_close'
w2midi.o:w2midi.c:(.text+0x32b): undefined reference to `jack_client_open'
w2midi.o:w2midi.c:(.text+0x398): undefined reference to `jack_set_process_callback'
w2midi.o:w2midi.c:(.text+0x3cf): undefined reference to `jack_port_register'
w2midi.o:w2midi.c:(.text+0x40a): undefined reference to `jack_port_register'
w2midi.o:w2midi.c:(.text+0x486): undefined reference to `jack_set_buffer_size'
w2midi.o:w2midi.c:(.text+0x498): undefined reference to `jack_get_sample_rate'
w2midi.o:w2midi.c:(.text+0x4bc): undefined reference to `__imp_fftwf_malloc'
w2midi.o:w2midi.c:(.text+0x5d5): undefined reference to `__imp_fftwf_malloc'
w2midi.o:w2midi.c:(.text+0x613): undefined reference to `__imp_fftwf_plan_dft_r2c_1d'
w2midi.o:w2midi.c:(.text+0x6c9): undefined reference to `jack_port_get_buffer'
w2midi.o:w2midi.c:(.text+0x6e2): undefined reference to `jack_port_get_buffer'
w2midi.o:w2midi.c:(.text+0x6f2): undefined reference to `jack_midi_clear_buffer'
w2midi.o:w2midi.c:(.text+0x78f): undefined reference to `__imp_fftwf_execute'
w2midi.o:w2midi.c:(.text+0xddb): undefined reference to `jack_midi_event_reserve'
w2midi.o:w2midi.c:(.text+0xe8a): undefined reference to `jack_midi_event_reserve'
collect2.exe: error: ld returned 1 exit status
mingw32-make: *** [Makefile:8: w2midi] Error 1
Здесь написано, что эта ошибка решилась перестановкой параметров командной строки:
gcc -o simple_client `pkg-config --cflags --libs jack` simple_client.c
на
gcc -o simple_client simple_client.c `pkg-config --cflags --libs jack`
Или что тут произошло и как мне поправить Makefile чтобы заработало? Завтра буду дальше разбираться.

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.