Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

1 - Le matériel et les pilotes ALSA, FFADO, ...

Dernier post

Tablette Lenovo pour MAO ?

nicko510 utilisateur non connecté
Bonjour à tous,
j'ai une tablette Lenovo miix 320 (atom x5/4go de ram) sur laquelle j'ai installé ubuntu Studio connecté à une carte son usb Roland Quad Capture.

Etant batteur je voudrais pouvoir utiliser la tablette en live afin de trigger ma grosse caisse.

J'utilise Ezdrummer grâce à Carla dans Reaper (natif linux). J'arrive à avoir une latence de 12ms avec Jack (512/88200khz) sans craquements mais cela reste trop élevé pour une utilisation live.
J'ai essayé Drumgizmo en pensant que ça demanderait moins de ressources que Ezdrummer, mais le résultat est le même. J'ai également essayé de désactiver tous les sons hormis la grosse caisse dans Ezdrummer en espérant libérer de la ram mais sans résultat non plus :/

Y a-t-il d'autres leviers que le buffer et la fréquence pour espérer abaisser la latence ?
Une distrib plus légère que ubuntu studio ou un plugin léger (peut-être en stand alone, sans utiliser de daw...) ? En fait je ne cherche qu'un son de kick :p

nicko@nicko-Lenovo-MIIX-320-10ICR:~$ cat /proc/asound/cards
 0 [chtrt5645      ]: chtrt5645 - chtrt5645
                      LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216
 1 [Audio          ]: HdmiLpeAudio - Intel HDMI/DP LPE Audio
                      Intel HDMI/DP LPE Audio
 2 [QUADCAPTURE    ]: USB-Audio - QUAD-CAPTURE
                      Roland QUAD-CAPTURE at usb-0000:00:14.0-2.2, high speed


nicko@nicko-Lenovo-MIIX-320-10ICR:~$ aplay -l
**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: chtrt5645 [chtrt5645], périphérique 0: 3 []
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: chtrt5645 [chtrt5645], périphérique 1: Deep-Buffer Audio (*) []
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 1: Audio [Intel HDMI/DP LPE Audio], périphérique 0: HdmiLpeAudio [Intel HDMI/DP LPE Audi]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 1: Audio [Intel HDMI/DP LPE Audio], périphérique 1: HdmiLpeAudio [Intel HDMI/DP LPE Audi]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 1: Audio [Intel HDMI/DP LPE Audio], périphérique 2: HdmiLpeAudio [Intel HDMI/DP LPE Audi]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 2: QUADCAPTURE [QUAD-CAPTURE], périphérique 0: USB Audio [USB Audio]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0


nicko@nicko-Lenovo-MIIX-320-10ICR:~$ uname -a
Linux nicko-Lenovo-MIIX-320-10ICR 5.8.0-48-lowlatency #54~20.04.1-Ubuntu SMP PREEMPT Sat Mar 20 23:24:50 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux


nicko@nicko-Lenovo-MIIX-320-10ICR:~$ cat ~/.config/rncbc.org/QjackCtl.conf
[Defaults]
ConnectionsTabPage=1
MessagesStatusTabPage=0
PatchbayPath=/home/nicko/reaper_linux_x86_64/baie-reaper.xml
SessionSaveVersion=true

[Geometry]
qjackctlConnectionsForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\xc2\0\0\x1\x63\0\0\x3\b\0\0\x2\xbb\0\0\0\xc3\0\0\x1{\0\0\x3\a\0\0\x2\xba\0\0\0\0\0\0\0\0\x5\0\0\0\0\xc3\0\0\x1{\0\0\x3\a\0\0\x2\xba)
qjackctlConnectionsForm\visible=false
qjackctlMainForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x1Q\0\0\x2\x65\0\0\x3N\0\0\x2\xe6\0\0\x1R\0\0\x2}\0\0\x3M\0\0\x2\xe5\0\0\0\0\0\0\0\0\x5\0\0\0\x1R\0\0\x2}\0\0\x3M\0\0\x2\xe5)
qjackctlMainForm\visible=true
qjackctlMessagesStatusForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x1\\\0\0\0K\0\0\x3s\0\0\x2~\0\0\x1]\0\0\0\x63\0\0\x3r\0\0\x2}\0\0\0\0\0\0\0\0\x5\0\0\0\x1]\0\0\0\x63\0\0\x3r\0\0\x2})
qjackctlMessagesStatusForm\visible=false
qjackctlPatchbayForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x1\xc2\0\0\x1\x43\0\0\x4\xa2\0\0\x2\x82\0\0\x1\xc2\0\0\x1\x43\0\0\x4\xa2\0\0\x2\x82\0\0\0\0\0\0\0\0\x5\0\0\0\x1\xc2\0\0\x1\x43\0\0\x4\xa2\0\0\x2\x82)
qjackctlPatchbayForm\visible=false
qjackctlSessionForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x31\0\0\x1\xdf\0\0\x1p\0\0\0\0\0\0\0\x31\0\0\x1\xdf\0\0\x1p\0\0\0\0\0\0\0\0\x5\0\0\0\0\0\0\0\0\x31\0\0\x1\xdf\0\0\x1p)
qjackctlSessionForm\visible=false

[History]
MessagesLogPathComboBox\Item1=qjackctl.log
ServerConfigNameComboBox\Item1=.jackdrc
ServerNameComboBox\Item1=(default)
ServerPrefixComboBox\Item1=/usr/bin/jackd
ServerPrefixComboBox\Item2=jackd
ServerPrefixComboBox\Item3=jackdmp
ServerPrefixComboBox\Item4=jackstart
StartupScriptShellComboBox\Item1=a2jmidid -e &
StartupScriptShellComboBox\Item2=a2midid -e &
XrunRegexComboBox\Item1=xrun of at least ([0-9|\\.]+) msecs
XrunRegexComboBox\Item2=d\xe9synchronisation (XRUN) d'au moins ([0-9|\\.]+) ms

[Options]
ActivePatchbay=false
ActivePatchbayPath=
ActivePatchbayReset=false
AliasesEditing=false
AliasesEnabled=false
AlsaSeqEnabled=true
BaseFontSize=0
BezierLines=false
ConnectionsFont="Noto Sans,9,-1,5,50,0,0,0,0,0"
ConnectionsIconSize=0
DBusEnabled=true
DisplayBlink=true
DisplayEffect=true
DisplayFont1="Noto Sans,14,-1,5,75,0,0,0,0,0"
DisplayFont2="Noto Sans,8,-1,5,50,0,0,0,0,0"
JackClientPortAlias=0
JackClientPortMetadata=false
JackDBusEnabled=false
KeepOnTop=false
LeftButtons=true
MessagesFont="Noto Sans,9,-1,5,50,0,0,0,0,0"
MessagesLimit=true
MessagesLimitLines=1000
MessagesLog=false
MessagesLogPath=qjackctl.log
PostShutdownScript=false
PostShutdownScriptShell=
PostStartupScript=false
PostStartupScriptShell=
QueryClose=true
QueryDisconnect=true
QueryShutdown=true
RightButtons=true
ServerConfig=true
ServerConfigName=.jackdrc
ServerConfigTemp=false
ShutdownScript=false
ShutdownScriptShell=
Singleton=true
StartJack=false
StartMinimized=false
StartupScript=false
StartupScriptShell=
StdoutCapture=true
StopJack=true
SystemTray=false
SystemTrayQueryClose=true
TextLabels=true
TimeDisplay=0
TimeFormat=0
TransportButtons=true
XrunRegex=xrun of at least ([0-9|\\.]+) msecs

[Presets]
DefPreset=(default)

[Program]
Version=0.5.0

[Settings]
Audio=0
Chan=0
Dither=0
Driver=alsa
Frames=512
HWMeter=false
HWMon=false
IgnoreHW=false
InChannels=0
InDevice="hw:QUADCAPTURE,0"
InLatency=0
Interface=
MidiDriver=seq
Monitor=false
NoMemLock=false
OutChannels=0
OutDevice="hw:QUADCAPTURE,0"
OutLatency=0
Periods=2
PortMax=512
Priority=95
Realtime=true
SampleRate=48000
Server=/usr/bin/jackd
ServerName=
ServerSuffix=
Shorts=false
SoftMode=false
StartDelay=2
Timeout=500
UnlockMem=false
Verbose=false
Wait=21333
WordLength=16

[Splitter]
AlsaConnectView\sizes=38, 20, 38
AudioConnectView\sizes=269, 90, 269
InfraClientSplitter\sizes=12, 12
MidiConnectView\sizes=257, 43, 257
PatchbayView\sizes=38, 20, 38


olinuxx utilisateur non connecté France
L'interface audio dont tu parles, c'est bien la Roland quad-capture UA-55 ?

Citation :
[...] ou un plugin léger (peut-être en stand alone, sans utiliser de daw...)


drumgizmo peut s'utiliser en ligne de commande -> pas besoin d'une STAN.

nicko510 utilisateur non connecté
Oui c'est bien cette carte son que j'ai :-)

Je ne savais pas qu'on pouvait l'utiliser direct depuis le terminal, je vais essayer ça !

piratebab utilisateur non connecté
Salut collègue batteur, je comprends ton problème, j'y suis moi aussi confronté. Il faut commencer par mesurer la latence de boucle de ton matériel. Pour cela utilise jack_iodelay. Ensuite il faut tâtonner pour voir quelle partie de la chaîne ralenti le système.
Je suis actuellement à 8ms de latence de boucle. Pour mon utilisation, ça reste correct (140 à 150 bpm max à la noire), mais j'essaie de faire mieux
Si tu veux triguer ta grosse caisse, est ce pour du métal à haute vitesse ? il te faudrait dans ce cas 4 ou 5 ms idéalement. Il faut être assez agressif dans les réglages de Jack (48 kHz, 64 de tampon), sans xruns.

nicko510 utilisateur non connecté
Ok je vais tester ça également.
Oui plutôt metal avec des tempos qui peuvent avoisiner les 220/240bpm. ^^
Sur ma config fixe sous windows je suis effectivement dans les 3ms.

J'essaie de voir ça aujourd'hui sinon ce week-end et je vous tiendrai au courant ;)

piratebab utilisateur non connecté
Lorsque tu mets tes paramètres dans jack, il te donne déjà sa latence théorique. Avec les paramètres que je t'ai indiqué, j'ai déjà 2,67 ms rien que pour jack. Ce n'est pas une machine très récente. Et sur ma machine principale bien plus puissante, même réglage, j'ai la même valeur, c'est indépendant de la puissance de la machine.
Il te faudrait mettre une fréquence d’échantillonnage encore plus rapide, et baisser la taille du tampon. Mais surveille les xruns.

Ensuite tu pourras travailler sur le reste (midi, audio, et conversion midi--> audio)
Comment sors tu l'audio (le son après trig)

Pour te donner un ordre de grandeur, à 240 bpm à la noire, ça te fais un coup toute les 250 ms (4 coups par seconde).
en double croche, c'est 16 fois moins , soit 15 ms. 5 ms c'est 1/3 de la double croche, à ces vitesses là, c'est acceptable.

olinuxx utilisateur non connecté France
Citation :
il te donne déjà sa latence théorique.


Ça n'est pas une latence "théorique", c'est la latence introduite par JACK.

piratebab utilisateur non connecté
Théorique dans le sens "calculée" avec le taux d’échantillonnage, la taille de buffer, etc.
J'ai tourné ce soir en 96000 Hz et 32 de buffer, pas de xruns.
Jack en dessous de la ms, léger mieux sur le live.
Niko510, tu devrais essayer ces réglages plus agressifs de jack, tout en surveillant les xruns.
Rien que là tu gagnes plusieurs ms.

olinuxx utilisateur non connecté France
Je maintiens ici que l'utilisation de "latence théorique" de JACK dans le contexte d'utilisation MAO est une mauvaise idée et semble dénoter d'une mauvaise compréhension de ta part.

La latence donnée par JACK, c'est la latence qu'induit l'utilisation de JACK sur un système. Elle ne donne pas pas la latence totale du système (il faut ajouter les temps de conversion des DAC/ADC par exemple, et d'autres choses également), elle donne uniquement la latence que l'utilisation de JACK ajoute. Elle n'est pas plus théorique que pratique.

Quand JACK affiche une latence de 2,7 ms, c'est qu'il induit une latence supplémentaire de 2,7 ms. Point barre.

piratebab utilisateur non connecté
Olinux, je n'ai jamais dit le contraire. C'est pour ça que le test de boucle est important.

olinuxx utilisateur non connecté France
Tu mélanges beaucoup de concept et de mots.
J'en reviens à mon point de base : parler de "latence théorique de JACK" n'a pas de sens. La latence de jack est la latence de jack. Point barre. Elle n'est pas plus théorique que pratique.

jujudusud utilisateur non connecté France
Pas de latence ajoutée par JACK ?

Je suis allé lire la foire aux questions sur le site officiel et voilà la belle page qu'on y trouve : FAQ JACK Image .

nicko510 écrit :
Y a-t-il d'autres leviers que le buffer et la fréquence pour espérer abaisser la latence ?


Pour répondre à la question du fil, il y a beaucoup de levier pour abaisser la latence. En fait il faut commencer par être sur d'avoir mis en place tout ce qu'il faut pour atteindre le traitement du son à basse latence par ta distribution. Je ne connais pas Ubuntu Studio mais j'espère que c'est le cas.

Ensuite il faut effectivement appliquer les bons réglages de lancement de JACK et lui donner la bonne valeur de priorité. Elle doit être plus basse que les choses plus essentielles que le son et plus haute que celle des choses qui sont moins essentielles pour nous.
Plus le taux d'échantillonage est haut, plus la latence baisse. mais certains greffons ne supportent pas plus de 48kHz... bref c'est fonction de ce que tu utilises. De plus, l'utilisation du CPU va grimper à chaque hausse (le DSP aussi). C'est à doser donc.

La taille des tampons doit être réglée pour éviter les décrochages. Plus le tampon est petit, plus la latence est basse et plus le CPU est chargé (le DSP aussi). Pareil, trouver le bon dosage.

Ensuite il faudra éviter tout ce qui peut perturber la machine dans le traitement du son pour pouvoir atteindre le traitement le plus rapide et donc la plus faible latence.

un système allégé, effectivement, si tu dois ne traiter qu'un seul trig pour ta grosse caisse, il faut surement éviter de charger des gros logiciels qui savent faire énormément de choses qui ne vont pas te servir.

Une piste pourrait être d'utiliser un noyau temps réel si le noyau d'ubuntu studio ne te donne pas satisfaction.

olinuxx utilisateur non connecté France
@jujudusud : le lien que tu as mis ne parle pas de la même chose que ce dont on parlait dans cette discussion. L'utilisation de JACK ajoute un délai connu sous le nom de "latence de bloc" ("bloc latency" Image ) qui est fonction des configurations appliquées à JACK.

jujudusud utilisateur non connecté France
@olinuxx : D'accord. Merci.

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

calixtus06, 14:33, jeu. 28 mars 2024: Bonjour et bienvenue à b.vl :-)
calixtus06, 09:30, mer. 27 mars 2024: Bonjour et bienvenue à Noar :-)
olinuxx, 18:50, lun. 25 mars 2024: Bonjour et bienvenue à Ted Demore cool
olinuxx, 17:52, dim. 24 mars 2024: Bonjour et bienvenue à Noitavon cool
calixtus06, 11:07, jeu. 21 mars 2024: Bonjour et bienvenue à obds, ceric :-)
obds, 16:12, mar. 19 mars 2024: Cet édito est juste parfait. Trop beau !
olinuxx, 11:48, ven. 15 mars 2024: Bonjour et bienvenue à Jerry cool
calixtus06, 18:03, mer. 13 mars 2024: Bonjour et bienvenue à tanguero :-)
olinuxx, 11:01, dim. 10 mars 2024: Bonjour et bienvenue à lolo cool
bda, 16:59, sam. 09 mars 2024: Chapeau pour l'édito. Vous êtes au top les gars :-)
allany, 07:20, jeu. 07 mars 2024: Ça ne fait jamais de mal, c'est l'éditorial ! [Lien]
olinuxx, 19:52, mer. 06 mars 2024: Bonjour et bienvenue à TrkNrk cool