Debian 10.2 MIDI teszt Asrock Fatal1ty B450 Gaming-ITX/ac AMD Ryzen 3 2200G-vel

apt install linux-source build-essential libncurses-dev bison flex libssl-dev libelf-dev fluidsynth jackd2 rosegarden
apt build-dep linux (ha esetleg hiányozna valami még ...)
cd /usr/src/
unxz -v linux-patch-4.19-rt.patch.xz
tar -xvf linux-source-4.19.tar 
cd linux-source-4.19/
patch -p1 < ../linux-patch-4.19-rt.patch 
cp ../linux-config-4.19/config.amd64_rt_amd64.xz .
unxz -v config.amd64_rt_amd64.xz 
mv config.amd64_rt_amd64 .config
make menuconfig
(Processor type and features -> Preemption Model -> Fully Preemptible Kernel (RT))
(Processor type and features ->Timer Frequency: 1000 Hz)
(General setup -> Local version - append to kernel release : -tf-1000)
scripts/config --disable DEBUG_INFO
make clean

make -j4 deb-pkg
dpkg -i linux-image-4.19.67-rt24-tf-1000_4.19.67-rt24-tf-1000-1_amd64.deb

Rebootot neki ...

root@debian:/usr/src# uname -a
Linux debian 4.19.67-rt24-tf-1000 #1 SMP PREEMPT RT Wed Nov 27 17:00:12 CET 2019 x86_64 GNU/Linux

root@debian:/usr/src# grep -i "^CONFIG_HZ" /boot/config-4.19.67-rt24-tf-1000 
CONFIG_HZ_1000=y
CONFIG_HZ=1000

ice@debian:~/bin$ cat audio.sh 
#!/bin/bash

# Script to launch audio servers for music-making.
# By Ted Felix : http://tedfelix.com/linux/linux-midi.html

case $1 in

  start )
    echo Starting JACK...

    pasuspender -- \
        jackd -d alsa --device hw:0,7 --rate 48000 --period 1024 \
            &>/tmp/jackd.out &

    sleep .5

    echo Starting fluidsynth...

    # Start fluidsynth
    fluidsynth --server --no-shell --audio-driver=jack \
        --connect-jack-outputs --reverb=0 --chorus=0 --gain=0.8 \
        /usr/share/sounds/sf2/FluidR3_GM.sf2 \
        &>/tmp/fluidsynth.out &

    sleep 1

    if pgrep -l jackd && pgrep -l fluidsynth
    then
      echo Audio servers running.
    else
      echo There was a problem starting the audio servers.
    fi

    ;;

  stop )
    killall fluidsynth
    killall jackd
    echo Audio servers stopped.
    ;;

  * )
    echo Please specify start or stop...
    ;;
esac

audio.sh start-tal indul a mandula aztán lehet indítani a rosegardent.

Letesztelve.

Hozzászólások

És rt kernellel milyen latencyt lehet mostanában elérni a többi rendszerhez képest? 10 éve elég gyász volt, főleg a Core Audiohoz képest, de gondolom azóta fejlődött.

Szerkesztve: 2019. 11. 29., p - 12:45

Ennyit álltítottam be jackd2-nek ez a default:

21.3333333333 ms

"The JACK capture latency in seconds is --period divided by --rate" AKA 1024/48000 in seconds.

Ha kevesebbet állítok be akkor  a MIDI lejátszásnál(Rosegarden) totál "torz" hang lesz.