Страница 4 из 5 Первая ... 2345 Последняя
Показано с 61 по 80 из 82

Тема: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

  1. #1 Показать/скрыть первое сообщение.
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Задача – нужен отдельный компьютер полностью оптимизированный аппаратно и программно для высококачественного воспроизведения, с возможностью FIR коррекции и выводом на любое количество каналов. Так же необходима возможность подключения к серверу любых устройств на базе операционных систем Windows, Unix.
    Основой нашего сервера будет звуковой сервер Jack http://www.jackaudio.org/
    Звуковой сервер Jack возможно установить практически на любую ОС - Windows, Linux, BSD, MacOS.
    Связь между сервером и клиентом Jack возможна по трем протоколам
    NetJack https://github.com/jackaudio/jackaud...h_User_NetJack
    NetJack2 https://github.com/jackaudio/jackaud..._User_NetJack2
    Jacktrip https://ccrma.stanford.edu/groups/so...ware/jacktrip/
    Все три подходят под наши задачи, будем выбирать какой удобнее в конкретном случае.
    Какую выбрать ОС для сервера ?
    Windows – нет подходящего под наши задачи FIR фильтра и отсутствие полного контроля, но вариант рабочий.
    Linux – есть Brutefir http://www.ludd.luth.se/~torger/brutefir.html возможно управление эквалайзером brutefir через сеть и полный контроль над системой.
    Начну с Linux.
    За последний месяц попробовал почти все основные сборки, самая удобная и оптимизированная для аудио Tango Studio http://tangostudio.tuxfamily.org/ у меня стоит как вторая (основная) система на PC.
    Для сервера остановился на компактном antiX Linux http://antix.mepis.org/index.php?title=Main_Page он собран на Debian, все необходимые пакеты есть в репозитории Debian.
    Железная основа сервера – в принципе любая на сколько позволяет кошелек и фантазия.
    У меня, пока старый PC из чулана на одноядерном Pentium 4 и 700Мб памяти.
    Звук - m audio audiophile 192 и старушка SB Live!
    В качестве жесткого диска решил использовать обычную флешку , лучше USB3 (370руб 8Гб)

    1. Установка ОС Linux на сервер

    Скрытый текст

    Устанавливать и настраивать ОС лучше из VirtualBox, в качестве рабочей (основной) ОС Tango Studio.
    Как примонтировать реальный диск к VirtualBox смотрите здесь http://mnorin.com/ispol-zovanie-fizicheskogo-diska-v-virtualbox.html

    Можно по привычному с CD.

    Для создания таблицы разделов и форматирования флешки используем GParted

    1. create patrition table / msdos
    2. new patrition ext4
    Устанавливаем Tango Studio, установка в графическом режиме.
    После завершения установки если ставили из VirtualBox, загружаемся в реальной системе и делаем от root

    update-initramfs -v -u -k `uname -r` -t

    Система в принципе полностью настроенна и все установленно, единственное нужно установить Brutefir

    apt-get update
    apt-get install brutefir

    И настроить jack для работы в RT режиме в файл /etc/security/limits.conf добовляем

    @realtime - rtprio 99
    @realtime - memlock unlimited

    Создаем группу realtime и добавляем пользователей

    groupadd realtime
    usermod -a -G realtime root
    usermod -a -G realtime ваш_логин
    usermod -a -G audio root
    usermod -a -G audio ваш_логин

    Через netmaneger прописываем статический IP
    192.168.123.1
    255.255.255.0
    192.168.123.255


    Этот шаг можно пропустить
    Для подключения через NetJack2 нужно настроить UDP
    устанавливаем smcroute
    apt-get install smcroute
    echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    */etc/init.d/smcroute* restart

    smcroute -j eth0 225.3.19.154

    Настраиваем qjackctl, запускаем.

    jack_load netmanager

    Все сервер NetJack2 запущен, теперь с любой машины с установленным Jack подключаемся к серверу

    jackd -R -d net -a 192.168.123.1 асинхронный режим
    jackd -R -S -d net -a 192.168.123.1 синхронный режим

    Для контроля и настройки сервера лучше установить tigervnc http://tigervnc.org/
    Настройка сервера здесь http://ubuntuforums.org/showthread.php?t=1885744

    Настраиваем автологин, в нашем случае лучше все делать от root.
    В файле /etc/lightdm/lightdm.conf раскомментируем строчку

    # autologin-user=

    приводим ее в такой вид

    autologin-user=root (или ваш ник)

    Отключаем видеокарту, встроенную графику - через BIOS.

    [свернуть]

    2. Установка ОС Linux на сервер (консольный вариант)

    Скрытый текст

    Устанавливать и настраивать ОС лучше из VirtualBox, в качестве рабочей (основной) ОС Tango Studio.
    Как примонтировать реальный диск к VirtualBox смотрите здесь http://mnorin.com/ispol-zovanie-fizicheskogo-diska-v-virtualbox.html

    Можно по привычному с CD.

    Для создания таблицы разделов и форматирования флешки используем GParted

    1. create patrition table / msdos
    2. new patrition ext4 / создаем два раздела в моем случае по 3,7Гб

    Установка , сначала в второй раздел ставим antiX-15-V_386-base с минимальным рабочим окружением, может понадобится для отладки и настройки. Установка в графическом режиме.

    После, ставим в первый раздел antiX-15-V_386-core-libre

    Установка в консольном режиме.

    root
    root
    cli-installer
    repartition disk - no
    root patrition - sda1
    home patrition - no
    anix-net - no
    Копирует файлы далее Enter
    User name
    Password
    Все перезагрузка reboot

    В случае если загрузчик Grub не установился, то.
    Снова загрузка с CD antiX-15-V_386-core-libre

    root
    root
    mount /dev/sda1 /mnt
    mount --bind /dev /mnt/dev
    mount --bind /sys /mnt/sys
    mount --bind /proc /mnt/proc
    chroot /mnt
    grub-install /dev/sda
    update-grub
    exit
    reboot

    По умолчанию будет antiX-15-V_386-core-libre минимальная ОС без графического интерфейса (он нам на сервере не нужен, контроль через SSH).
    Загружаемся в antiX-15-V_386-core-libre. Настраиваем сеть (в VirtualBox чем хорошо, все автоматом и находимся в основной системе).

    Устанавливаем нужный нам софт

    apt-get update
    apt-get install alsa-base alsa-utils alsa-tools jackd1 jacktrip brutefir openssh-server wicd wicd-curses aj-snapshot

    При установке jackd вылезит окно - выбераем YES

    Настраиваем локальную сеть

    wicd-curses

    в окне вводим
    static IP
    192.168.123.1
    255.255.255.0
    192.168.123.255

    Настраиваем SSH сервер

    nano /etc/ssh/sshd_configure

    В строке
    PermitRootLogin without-password меняем на yes

    После

    service ssh restart

    ssh root@192.168.123.1 проверяем подключение

    Настраиваем jack для работы в RT режиме в файл /etc/security/limits.conf добовляем

    @realtime - rtprio 99
    @realtime - memlock unlimited

    Создаем группу realtime и добавляем пользователей

    groupadd realtime
    usermod -a -G realtime root
    usermod -a -G realtime ваш_логин
    usermod -a -G audio root
    usermod -a -G audio ваш_логин

    Ставим RT kernel отсюда http://www.pengutronix.de/software/l...debian_en.html

    Загружаемся с новым ядром, удаляем старое

    apt-get remove linux-image-4.0.5*

    Если ставили через virtualbox, то загружаемся в реальном сервере и пересобираем initramfs

    update-initramfs -v -u -k `uname -r` -t

    Все, сервер готов к работе.
    [свернуть]

    3. Установка ОС Windows на сервер

    Скрытый текст


    Установка Windows XP на сервер.
    Устанавливать будем на флешку.
    Образ системы адаптированной для работы с USB флеш берём на рутрекере WinXP-2009-USB-Virtual-Universal-aleks2009 подробное описание установки там же.
    После установки системы (лучше через VirtualBox как монтировать реальный диск к VirtualBox смотрите здесь http://mnorin.com/ispol-zovanie-fizicheskogo-diska-v-virtualbox.html )
    загружаемся на реальном сервере, предварительно в BIOS отключаем все лишние у-ва IDE, Audio... у меня осталось только Lan и USB, устанавливаем драйвера. Настраиваем сеть, прописоваем адрес 192.168.123.1 255.255.255.0 отключаем брандмауэр, запускаем сеть.
    Настройка и контроль через RDP, чтобы подключаться без пароля

    выполнить - gpedit.msc
    Конфигурация компьютера - Конфигурация Windows - Локальные политики - Параметры безопасности - Учетные записи: ограничить использование пустых паролей только для консольного входа - поставить "Отключить".

    Проверяем подключение RDP, отключаем видеокарту, если встроенная графика, то через BIOS.

    Устанавливаем jack http://www.jackaudio.org/downloads/

    Открываем Jack Control настраиваем,
    Нажмите на изображение для увеличения. 

Название:	Снимок1.PNG 
Просмотров:	713 
Размер:	22.2 Кб 
ID:	249514
    Start

    Открываем Jack Command пишем такую строку
    jack_load netmanager -i "-a 192.168.123.1"
    Жмем Enter Запускаем Netjack
    Нажмите на изображение для увеличения. 

Название:	Снимок2.PNG 
Просмотров:	517 
Размер:	80.9 Кб 
ID:	249515


    На машине клиенте открываем Jack Command
    jackd -R -d net -a 192.168.123.1 #асинхронный режим
    jackd -R -S -d net -a 192.168.123.1 #синхронный режим
    Жмем Enter подключаемся к серверу,
    Нажмите на изображение для увеличения. 

Название:	Снимок3.PNG 
Просмотров:	651 
Размер:	54.4 Кб 
ID:	249516


    в плеере вывод выбераем JackRouter(ASIO)
    Нажмите на изображение для увеличения. 

Название:	Снимок4.PNG 
Просмотров:	675 
Размер:	84.0 Кб 
ID:	249517

    [свернуть]

    Нажмите на изображение для увеличения. 

Название:	Снимок5.PNG 
Просмотров:	1063 
Размер:	870.3 Кб 
ID:	249524

    Настройка Brutefir.
    Установить лучше последнюю версию, с сайта программы. из репо Debian тож нормально работает.
    Нужно создать файл с настройками, подробное описание на сайте программы
    Вот несколько примеров

    FIR фильтр на два канала, обязательно нужно соблюдать синтаксис

    Скрытый текст


    ## DEFAULT GENERAL SETTINGS ##

    float_bits: 32;
    sampling_rate: 48000;
    filter_length: 65536;
    modules_path: "/usr/lib/brutefir";
    convolver_config: ".fftw3ampir";
    monitor_rate: true; # monitor sample rate
    powersave: true; # pause filtering when input is zero
    lock_memory: true; # try to lock memory if realtime prio is set

    ## COEFF DEFAULTS ## # здесь указать путь к txt файлу фильтра из rePhase

    coeff "leftpl" {
    filename: "/home/ampir/brutefir/fir/pl64-48.txt";
    format: "text"; # file format
    attenuation: 0.0; # attenuation in dB
    };

    coeff "rightpl" {
    filename: "/home/ampir/brutefir/fir/pl64-48.txt";
    format: "text"; # file format
    attenuation: 0.0; # attenuation in dB
    };



    ## INPUT DEFAULTS ## # описание входов brutefir для jack

    input "left-in", "right-in" {
    device: "jack" { };
    sample: "AUTO";
    channels: 2;
    };


    # соединение выходов brutefir на у-ва jack

    output "left-pl", "right-pl" {
    device: "jack" { ports: "system:playback_1", "system:playback_2"; };
    sample: "AUTO";
    channels: 2/0,1;
    delay: 0,0; # delay in samples for each channel
    maxdelay: -1; # max delay for variable delays
    };

    ## FILTER DEFAULTS ## # описание коммутации фильтров


    filter "leftplfilter" {
    from_inputs: "left-in";
    to_outputs: "left-pl";
    coeff: "leftpl";
    };

    filter "rightplfilter" {
    from_inputs: "right-in";
    to_outputs: "right-pl";
    coeff: "rightpl";
    };


    СИНТАКСИС, выше не сохроняется
    Нажмите на изображение для увеличения. 

Название:	24.png 
Просмотров:	736 
Размер:	83.6 Кб 
ID:	249502
    [свернуть]

    FIR фильтр на 6 каналов, 17 полосный эквалайзер АЧХ и ФЧХ, эквалайзером можно управлять через CLI интерфейс

    Скрытый текст


    float_bits: 64;
    sampling_rate: 192000;
    filter_length: 32768,8;
    modules_path: "/usr/lib/brutefir";
    convolver_config: ".fftw3ampir";
    monitor_rate: true; # monitor sample rate
    powersave: true; # pause filtering when input is zero
    lock_memory: true; # try to lock memory if realtime prio is set


    logic: "cli" { port: 3000; },
    "eq" {
    {
    coeff: "equalizer";
    bands: 20, 40, 60, 100, 800, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 12000, 16000;
    magnitude: 20/0.0, 40/0.0, 60/0.0, 100/0.0, 800/0.0, 1000/0.0, 2000/0.0, 3000/0.0, 4000/0.0, 5000/0.0, 6000/0.0, 7000/0.0, 8000/0.0, 9000/0.0, 10000/0.0, 12000/0.0, 16000/0.0;
    };

    };




    coeff "equalizer" {
    filename: "dirac pulse";
    shared_mem: true;
    blocks: 4;
    };

    ## COEFF DEFAULTS ##

    coeff "leftmid" {
    filename: "/home/ampir/brutefir/fir/mid64-192.txt";
    format: "text"; # file format
    attenuation: 0.0; # attenuation in dB
    };

    coeff "rightmid" {
    filename: "/home/ampir/brutefir/fir/mid64-192.txt";
    format: "text"; # file format
    attenuation: 0.0; # attenuation in dB
    };

    coeff "lefthi" {
    filename: "/home/ampir/brutefir/fir/hi64-192.txt";
    format: "text"; # file format
    attenuation: 0.0; # attenuation in dB
    };

    coeff "righthi" {
    filename: "/home/ampir/brutefir/fir/hi64-192.txt";
    format: "text"; # file format
    attenuation: 0.0; # attenuation in dB
    };

    coeff "leftsab" {
    filename: "/home/ampir/brutefir/fir/sab64-192.txt";
    format: "text"; # file format
    attenuation: 0.0; # attenuation in dB
    };

    coeff "rightsab" {
    filename: "/home/ampir/brutefir/fir/sab64-192.txt";
    format: "text"; # file format
    attenuation: 0.0; # attenuation in dB
    };



    ## INPUT DEFAULTS ##

    input "left-in", "right-in" {
    device: "jack" { };
    sample: "AUTO";
    channels: 2;
    };

    output "left-mid", "right-mid", "left-hi", "right-hi", "left-sab", "right-sab" {
    device: "jack" { ports: "system:playback_1", "system:playback_2",
    "system:playback_3", "system:playback_4", "system:playback_5", "system:playback_6"; };
    sample: "AUTO";
    channels: 6/0,1,2,3,4,5;
    delay: 0,0,0,0,0,0; # delay in samples for each channel
    maxdelay: -1; # max delay for variable delays
    };

    ## FILTER DEFAULTS ##


    filter "eq_l" {
    from_inputs: "left-in";
    to_filters: "leftmidfilter", "lefthifilter", "leftsabfilter";
    coeff: "equalizer";
    };

    filter "eq_r" {
    from_inputs: "right-in";
    to_filters: "rightmidfilter", "righthifilter", "rightsabfilter";
    coeff: "equalizer";
    };



    filter "leftmidfilter" {
    from_filters: "eq_l";
    to_outputs: "left-mid";
    coeff: "leftmid";
    };

    filter "rightmidfilter" {
    from_filters: "eq_r";
    to_outputs: "right-mid";
    coeff: "rightmid";
    };

    filter "lefthifilter" {
    from_filters: "eq_l";
    to_outputs: "left-hi";
    coeff: "lefthi";
    };

    filter "righthifilter" {
    from_filters: "eq_r";
    to_outputs: "right-hi";
    coeff: "righthi";
    };

    filter "leftsabfilter" {
    from_filters: "eq_l";
    to_outputs: "left-sab";
    coeff: "leftsab";
    };

    filter "rightsabfilter" {
    from_filters: "eq_r";
    to_outputs: "right-sab";
    coeff: "rightsab";
    };
    [свернуть]

    Запуск Brutefir
    brutefir -nodefault /.../конф.файл



    Буду постепенно дополнять описание всех настроек и .....
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Снимок-5.png 
Просмотров:	1511 
Размер:	129.0 Кб 
ID:	249414  
    Последний раз редактировалось anpir; 06.02.2016 в 00:07.

  2. #61
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от Alex Посмотреть сообщение
    Это как? Опиши подробнее.
    В коммутаторе Jack, выход Brutefir бросаю на baudline, сигнал с плеера
    Нажмите на изображение для увеличения. 

Название:	11.png 
Просмотров:	276 
Размер:	74.1 Кб 
ID:	251126

    Нажмите на изображение для увеличения. 

Название:	Снимок-1.png 
Просмотров:	233 
Размер:	145.5 Кб 
ID:	251127

  3. #62
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    39,183

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от anpir Посмотреть сообщение
    В коммутаторе Jack, выход Brutefir бросаю на baudline, сигнал с плеера
    Я мало что их этого понял.
    Измеряешь на том-же компе, той-же ЗК или другой ЗК на отдельном компе?
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  4. #63
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от Alex Посмотреть сообщение
    Я мало что их этого понял.
    Измеряешь на том-же компе, той-же ЗК или другой ЗК на отдельном компе?
    Можно на софт уровне, минуя ЗК. Генератор - Brutefir - Baudline

    В посте 64 проверял цепочку без ЗК
    Генератор 1 kHz (на рабочем ПК) -- NetJack2 -- "Brutefir - Baudline (на сервере) "

    В посте 60 замерял с железом
    Генератор 1 kHz (на рабочем ПК) -- NetJack2 -- "Brutefir - VIA Tremor (на сервере)" -- "AP 192 - SpectraPlus (на рабочем ПК)"
    Последний раз редактировалось anpir; 22.11.2015 в 00:43.

  5. #64
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    39,183

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от anpir Посмотреть сообщение
    Можно на софт уровне, минуя ЗК.
    ТАк не интересует.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  6. #65
    Был...

    Регистрация
    09.06.2010
    Адрес
    г.Брянск
    Возраст
    46
    Сообщений
    3,741

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от Alex Посмотреть сообщение
    ТАк не интересует
    Динамики с дырками вокруг помнишь? Тут будет тоже самое, я хотя не понимаю половины из того что написано но уже въехал что тоже самое что с дырками, движение есть, эффекта нет или наоборот но абсолютно ни чего нового, там ещё с дырками я сказал что если приложить этот ум по назначению то будет польза и толк но треба направить а рядом нет ни кто

  7. #66
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от voldemar72664 Посмотреть сообщение
    Динамики с дырками вокруг помнишь? Тут будет тоже самое, я хотя не понимаю половины из того что написано но уже въехал что тоже самое что с дырками, движение есть, эффекта нет или наоборот но абсолютно ни чего нового, там ещё с дырками я сказал что если приложить этот ум по назначению то будет польза и толк но треба направить а рядом нет ни кто
    А если кто то не понимает, я не виноват ....
    Здесь вроде как в основном любители, для которых звук - хобби, ну некоторые зарабатывают копейку, а для "ума по назначению" есть основная моя работа, которая приносит пользу и в которой я профессионал (ну или пытаюсь), а звук и общение здесь это способ отвлечься от дел, с пользой для ума ....
    Так что ни теба, нафиг ....

    .

    Выше было:
    "Не честный FIR" - использует FFT для ускорения работы (меньшее число вычислений).
    А замеры мы делаем, в программах которые используют FFT - все не честно, беда
    Последний раз редактировалось anpir; 22.11.2015 в 00:36.

  8. #67
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    39,183

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от anpir Посмотреть сообщение
    Выше было:
    "Не честный FIR" - использует FFT для ускорения работы (меньшее число вычислений).
    А замеры мы делаем, в программах которые используют FFT - все не честно, беда
    это совсем разные вещи - анализ и фильтрация, ну как канал и канализация
    так что, перестать бредить о том, в чем ты ничего не понимаешь.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  9. #68
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Нашел свежее и интересное решение для FIR коррекции.
    Folve - FUSE convolve https://github.com/hzeller/folve
    В сущности, Folve обеспечивает файловую систему, которая свертывает FLAC файлы на лету используя Zita Convolver - JConvolver http://kokkinizita.linuxaudio.org/linuxaudio/index.html.
    Когда файл FLAC доступен через точку монтирования, Folve автоматически свертывает его на лету с конечной импульсной характеристикой (FIR) фильтра.
    Фильтры можно переключать через веб интерфейс, тож на лету.
    Воспроизводить подготовленные Folve файлы можно любым медиа устройством, которое имеет доступ к папке, смонтированной через FUSE.
    Нажмите на изображение для увеличения. 

Название:	Снимок-2.png 
Просмотров:	259 
Размер:	114.6 Кб 
ID:	257393


    Все работает ...


    Установка и настройки


    Folve - seamlessly FIR convolving audio file fuse filesystem with gapless support.
    https://github.com/hzeller/folve

    Подробное описание установки на деб. систему
    https://volumio.org/forum/dsp-with-r...olve-t672.html
    Последний раз редактировалось anpir; 06.02.2016 в 00:33.

  10. #69
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,386

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от anpir Посмотреть сообщение
    Нашел свежее и интересное решение для FIR коррекции.
    Folve - FUSE convolve https://github.com/hzeller/folve
    ...
    Никак не могу избавиться от ощущения, что это решение чересчур переусложнено.
    В чём его преимущество? Чем "точки монтирования" предпочтительнее обычной файловой навигации?

  11. #70
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Никак не могу избавиться от ощущения, что это решение чересчур переусложнено.
    В чём его преимущество? Чем "точки монтирования" предпочтительнее обычной файловой навигации?
    In essence, Folve provides a filesystem that convolves files as a media server or application reads them; many media servers or applications do not provide an independent convolve option, but they all can read files.

    Filesystem accesses are optimized for streaming. If files are read sequentially, we only need to convolve whatever is requested, which minimizes CPU use if you do not need the full file. Simply playing a file in real-time will use very little CPU (on my fairly old notebook ~3% on one core). So this should work as well on low-CPU machines; on a Raspberry Pi 2, the CPU load to convolve a 44.1kHz/16 Bit file is about 22%. Folve can make use of multiple cores in parallel file accesses. Many NAS systems have enough CPU to transparently run folve even for sophisticated filters




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

    Файловая система оптимизированна для потоковой передачи.
    If files are read sequentially, we only need to convolve whatever is requested, which minimizes CPU use if you do not need the full file. Воспроизведение файла в режиме реального времени будет использовать очень мало ресурсов CPU (на моем довольно старом ноуте ~ 3% на одном ядре).
    На Raspberry Pi 2, чтобы свернуть файл 44.1кГц / 16бит загрузка процессора около 22%.
    У многих NAS систем достаточно мощности процессора, чтобы прозрачно работать с folve, даже для сложных фильтров.

  12. #71
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,386

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Zita Convolver использует FFTW, поэтому работает действительно предельно быстро.

    ---------- Сообщение добавлено 02.02.2016 в 08.54 ---------- Предыдущее сообщение было 01.02.2016 в 22.43 ----------

    Однако что толку от высокой производительности, если при этом не хватает необходимой функциональности? Ну будет у вас загрузка процессора не 25%, а 75% - разницы никакой, т.к. других задач всё равно нет. Тут даже скорее наоборот - если уж мы и выделяем отдельное устройство для какой-то конкретной задачи, то пусть оно и отрабатывает на все 100%.

    Я так понимаю, что готового решения для X-ампинга на линуксе нет и единственный способ ему там появиться - только если конкретно вы сами его и напишете. Теоретически это должно быть даже проще, чем на windows - все ключевые задачи уже решены и доступны в open source, остаётся их только скомпоновать должным образом. Ну или добавить недостающий функционал в уже готовый open source проект.

  13. #72
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Я так понимаю, что готового решения для X-ампинга на линуксе нет и единственный способ ему там появиться - только если конкретно вы сами его и напишете. Теоретически это должно быть даже проще, чем на windows - все ключевые задачи уже решены и доступны в open source, остаётся их только скомпоновать должным образом. Ну или добавить недостающий функционал в уже готовый open source проект.
    Решение есть Brutefir + Jack, хватит этого практически для любой реализации X-ампинга на линуксе, плюс эквалайзер АЧХ ФЧХ с управлением через Command line interface CLI, румкоррекция.
    Единственный минус, для обычного пользователя это отсутствие интерфейса, работа в команндной строке и с конф. файлами для многих "темный лес".
    Я не понимаю, почему за столько лет, ни кто не написал к Brutefir GUI. Профф. не нужно, а для нас простых .... написать некому, многие хотят рубить бабло, изобретая велосипед.
    Сейчас ищу удобное решение для коррекции.
    А Folve - FUSE convolve, просто интересно, кому то пригодится
    Последний раз редактировалось anpir; 02.02.2016 в 10:23.

  14. #73
    Suum cuique Аватар для _Summit_
    Регистрация
    21.04.2010
    Адрес
    Россия
    Возраст
    43
    Сообщений
    3,214

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от anpir Посмотреть сообщение
    На Raspberry Pi 2, чтобы свернуть файл 44.1кГц / 16бит загрузка процессора около 22%.
    Вот мучаю 2малинку. Что-то я не совсем в теме. Это что за операция? У меня NAS на атоме. По работе в консоли, атом не на много шустрее малины. Играет 16/44 вообще не напрягаясь.

  15. #74
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,386

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от anpir Посмотреть сообщение
    Единственный минус, для обычного пользователя это отсутствие интерфейса, работа в команндной строке с конф. файлами для многих "темный лес".
    Дело-то тут вовсе в неудобстве, а в отсутствии информации. Фильтры - это же графики в первую очередь, которые друг с другом накладываются и пересекаются. Совершенно естественно желание их видеть, и видеть, как на них влияет изменение разнообразных параметров.

    Цитата Сообщение от anpir Посмотреть сообщение
    Сейчас ищу удобное решение для румкоррекции.
    DRC: Digital Room Correction
    Насколько я знаю, оно - единственное. Если и есть другие в открытом доступе, то они так или иначе на нём и основаны, поскольку никаких других источников информации о room correction лично мне найти не удалось. GUI к нему также не попадался.

    ---------- Сообщение добавлено 15.56 ---------- Предыдущее сообщение было 13.18 ----------

    Цитата Сообщение от anpir Посмотреть сообщение
    Я не понимаю, почему за столько лет, ни кто не написал к Brutefir GUI.
    Brutefir - это движок. Им можно и ворота в гараж открывать, и космические корабли на луну отправлять. Поэтому GUI зависит от применения. Да и вообще подобная постановка вопроса - это явное следствие злоупотребления CLI

    Offтопик:

    GUI вовсе не обязательно рассматривать как надстройку над CLI, поскольку у них разное предназначение.

    Command Line Interface - это команда - от терминала к серверу обычно. Она не обязательно должна быть в виде текста - может быть и в виде последовательности тонов разной частоты. Совсем не обязательно, что их визуализация добавит ясности юзеру).

    Graphic User Interface - интерфейс взаимодействия с пользователем посредством графики. Телевизор, например). Или визуализация и управление каким-нибудь промышленным процессом. Его, конечно, можно выполнить через CLI... Вот только количество элементов в системах автоматизации исчисляется тысячами, десятками и сотнями тысяч. А там важно реагировать мгновенно.

    Последний раз редактировалось E.Sokol; 02.02.2016 в 16:00.

  16. #75
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    DRC: Digital Room Correction
    Насколько я знаю, оно - единственное. Если и есть другие в открытом доступе, то они так или иначе на нём и основаны, поскольку никаких других источников информации о room correction лично мне найти не удалось. GUI к нему также не попадался.
    Digital Room Correction есть довольно много вариантов интерфейса (надстроек для удобства использования), вот под Win
    http://www.alanjordan.org/DRCDesigne...ignerHelp.html
    http://www.ohl.to/about-audio/audio-...the-final-cut/
    http://www.ohl.to/about-audio/audio-softwares/align
    http://www.ohl.to/about-audio/audio-softwares/align2
    От итальянцев отличный "комбайн"
    http://www.italianarobot.com/DRC/DRC.htm но только на it.

    Под Linux только http://www.alanjordan.org/DRCDesigne...ignerHelp.html
    и заброшенный http://www.matrixhifi.com/ENG_index.htm

    Кроме Digital Room Correction http://drc-fir.sourceforge.net/
    есть проект Python Open Room Correction (PORC) https://github.com/zzzzrrr/porc который мне кажется интересней.

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Brutefir - это движок. Им можно и ворота в гараж открывать, и космические корабли на луну отправлять. Поэтому GUI зависит от применения. Да и вообще подобная постановка вопроса - это явное следствие злоупотребления CLI
    CLI в Brutefir применяется только для эквалайзера (через telnet и т.п. через сеть), ну я так понял, не пробовал.

    Я вот про что, для jconvolver ( Zita Convolver) http://kokkinizita.linuxaudio.org/linuxaudio/index.html есть GUI https://github.com/zzzzrrr/jcgui
    Нажмите на изображение для увеличения. 

Название:	Снимок-3.png 
Просмотров:	243 
Размер:	165.1 Кб 
ID:	257751
    такой бы для Brutefir, но с большим количеством настроек, соответственно
    Последний раз редактировалось anpir; 02.02.2016 в 15:37.

  17. #76
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,386

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от anpir Посмотреть сообщение
    Digital Room Correction есть довольно много вариантов интерфейса (надстроек для удобства использования)
    ...
    По мне, так все они - фигня не охватывают всех возможностей DRC.

    Цитата Сообщение от anpir Посмотреть сообщение
    есть проект Python Open Room Correction (PORC) https://github.com/zzzzrrr/porc который мне кажется интересней.
    А чем именно?

    DRC интересен своей документацией, написанной крайне интересно и доступным языком (хотя сам автор - итальянец, что видно по исходникам). Правда, по окончании чтения у меня появилось стойкое убеждение, что такой подход в корне неверный и для room correction нужно искать более хитрое решение.

  18. #77
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    А чем именно?

    DRC интересен своей документацией, написанной крайне интересно и доступным языком (хотя сам автор - итальянец, что видно по исходникам). Правда, по окончании чтения у меня появилось стойкое убеждение, что такой подход в корне неверный и для room correction нужно искать более хитрое решение.
    Тема автора Python Open Room Correction (PORC) http://www.diyaudio.com/forums/digit...tion-porc.html.

    Фильтр основан на работе Dr. Bank*s http://home.mit.bme.hu/~bank/parfilt/


    http://www.diyaudio.com/forums/digital-line-level/215529-python-open-room-correction-porc-2.html#post3086284

    -----------------------------
    Я хотел бы знать, вы или кто-то другой сравнили коррекцию, полученную из Python Open Room Correction (PORC) с DRC
    ---------------------------
    Я имел хорошие результаты с DRC-FIR. Моя цель PORC, чтобы сделать сценарий более простым в использовании, а также использовать алгоритм фильтра хорошо документированный в литературе. Я считаю, что результаты вполне хорошие.............
    Я фанат Python и хотел сделать MATLAB скрипты Dr. Bank*s более доступными. Есть ряд очень дорогих коммерческих пакетов, которые ............
    .

    Буду пробовать .....

  19. #78
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,386

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Цитата Сообщение от anpir Посмотреть сообщение
    Фильтр основан на работе Dr. Bank*s http://home.mit.bme.hu/~bank/parfilt/
    Я его уже тоже нашёл, выглядит просто нереально круто (Тут он 16-ю параллельными фильтрами аппроксимировал импульс, записанный с микрофона):

  20. #79
    Забанен (навсегда)
    Автор темы
    Аватар для anpir
    Регистрация
    28.03.2014
    Адрес
    Нижний Новгород
    Сообщений
    690

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Попробовал PORC https://github.com/zzzzrrr/porc, действительно все просто.

    Устанавливаем
    1) Python 2.7
    2) Scientific Python: SciPy, Numpy, & Matplotlib

    В виндовс можно использовать http://www.ohl.to/about-audio/audio-softwares/align2 в нем есть поддержка PORC, и установить нужные пакеты Python можно через align2
    Setup>Download links
    Нажмите на изображение для увеличения. 

Название:	Снимок-5.png 
Просмотров:	509 
Размер:	32.0 Кб 
ID:	257885

    Делам замер в Arta, левый и правый канал
    Нажмите на изображение для увеличения. 

Название:	Снимок-6.png 
Просмотров:	503 
Размер:	35.3 Кб 
ID:	257886
    Нажмите на изображение для увеличения. 

Название:	Снимок-7.png 
Просмотров:	518 
Размер:	30.1 Кб 
ID:	257887
    File>export> ...wav соответственно у меня 44l.wav и 44r.wav
    Но дальше получилась засада, PORC отказывался проглатить вавку - почему не понимаю.
    Проблема решилась через Audacity, просто открыть файл и сохранить файл>экспорт>wav 16bit
    Нажмите на изображение для увеличения. 

Название:	Снимок-8.png 
Просмотров:	411 
Размер:	76.6 Кб 
ID:	257889

    В папку PORC ложим вавки 44l.wav и 44r.wav и файл tact30f.txt из папки PORC/data

    cd */home/alex/bin/porc-master* ------ переходим в папку PORC

    python porc.py --mixed -t tact30f.txt -n 32768 -o wav 44l.wav leq44.wav ------получаем файл коррекции лев. канала leq44.wav

    или

    python porc.py --mixed -t tact30f.txt -n 32768 -o bin 44l.wav leq44.bin ------- получаем файл коррекции лев. канала leq44.bin

    "-n 32768" укажите число тапов

    Нажмите на изображение для увеличения. 

Название:	Снимок-4.png 
Просмотров:	540 
Размер:	72.9 Кб 
ID:	257890

    sox -M leq.wav req44.wav equalizer.wav ------- если нужно single stereo .wav

    python porc.py -h --------хелп программы

    Полученный файл в foobar2000 convolver, JRiver Media Center, jconvolver, brutefir или в .....

    В вин можно через align2, не пробовал.

    ---------- Сообщение добавлено 20.52 ---------- Предыдущее сообщение было 01.26 ----------

    Послушал, замерял с коррекцией PORC, предварительно коррекцию фазы 20-300 Гц делал в ручную https://forum.vegalab.ru/showthread....=1#post2162581
    Результат отличный, просто поразительный.
    Особенно сылшно там где, .... особенно хорошо слышно.
    Результаты замеров выложу позже.
    Решил переделать всю систему ... с учетом на возможности цифровой коррекции.
    За основу возьму замечательный проект JBL Paragon D44000 http://ldsound.ru/jbl-paragon-d44000/
    Последний раз редактировалось anpir; 05.02.2016 в 22:59.

  21. #80
    Завсегдатай
    Регистрация
    14.04.2009
    Адрес
    рядом с Москвой
    Сообщений
    4,446

    По умолчанию Re: Звуковой сервер на основе Jack и Brutefir, X-ампинг, FIR коррекция.

    Paragon — супер! Может тогда и кроссовер цифровой, и раздельные цапы и усилители на каждый канал?

Страница 4 из 5 Первая ... 2345 Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •