Hi,
i hope this is the right place regarding my question..
I have problems with a Netjack connection between two Machines whenever,
as it seems, a certain amount
of channels are being added and i cannot figure out the cause.
Machine 1 runs Ubuntu Eean and Ardour 5 on a I3-3210 with 4 GB RAM and a
huge swap (just to avoid running out of memory)
Machine 2 runs W7 on a i5-4570, 8GB of RAM with Jack Netdriver (1.9.11)
and a rather old Version of FL Studio, using Jack Netrouter as audio
Device, unsing onboard Audio
Jack Netdriver on the Windows side is so configured that it offers 2
capture channels and 32 Playback channels in Async mode.
Jack on the Server side (Ubuntu) runs in RT (also tried non-RT) 2048/2,
44.1 KHz
Link between both is 1 GBit/sec. Afaik bow cards are idenitified as RTL8169.
First problem:
- transferring more than two audio channels simultaneously usually leds
into "stutter" on Ardour.
Second Problem:
-transferring Audio over more than 10 Channels kills JackD immediate on
the server side. Log is on the end of this mail.
Done an iperf(3) between both machines shows no sign of Packet loss (TCP
and UDP), Transfer speed is about 903 GBit/sec. Ping is between 0.2 and
0.3 msec
Tried with different MTU´s on both sides between 1500 and 9000, before i
replaced my old Slave machine with the I3 it sometimes helped to switch
between 1500-900-1500 while Playback of the Slave machine to get rid of
the stutter.
I also recompiled JackD on the master machine from 1.9.12 to 1.9.14 with
additional DBUS-support, but it doesn´t make any difference.
Firewalls are off while testing. also killed Pulseaudio.
Tried to turn off anything which has to do with Speedstepping, set with
cpufreqd everything to "performance", no success at all. Even fillding
around with sync, async, different Buffer sizes, periods- no chance.
Yes, according to the log i recognize the missing data packets, but have
no clue what could be the cause - Jack itsef, the Jack Netdriver on the
Windows side....
Before Ardour connects to Jackd, i also get a lot of
"ProcessGrapMasterASync"-Errors....and sometimes in between.
Any help would be greatly appreciated, because i run out of ideas....
Best regards
Stef
Logs:
//
....<lots of missing Data packets>...
Wed Feb 19 10:48:31 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:31 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:32 2020: NetMaster : missing last data packet from
'bla2-PC'
10:48:32.602 XRUN callback (16 übersprungen).
Wed Feb 19 10:48:32 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:32 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:32 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:32 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:32 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:32 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:32 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
10:48:33.176 Schaubild der JACK-Verbindungen geändert.
10:48:34.104 Schaubild der JACK-Verbindungen geändert.
Wed Feb 19 10:48:33 2020: Disconnecting 'bla2-PC-01:from_slave_7' from
'ardour:OBXDLR/audio_in 1'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:33 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:34 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:34 2020: Disconnecting 'bla2-PC-01:from_slave_8' from
'ardour:OBXDLR/audio_in 2'
10:48:34.615 XRUN callback (13 übersprungen).
10:48:34.940 Schaubild der JACK-Verbindungen geändert.
Wed Feb 19 10:48:34 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:34 2020: Connecting 'bla2-PC-01:from_slave_4' to
'ardour:OBXDLR/audio_in 1'
Wed Feb 19 10:48:35 2020: NetMaster : missing last data packet from
'bla2-PC'
10:48:35.660 Schaubild der JACK-Verbindungen geändert.
10:48:35.789 Benachrichtigung zum Herunterfahren.
10:48:35.808 Client deaktiviert.
10:48:35.811 D-BUS: JACK-Server wurde angehalten (org.jackaudio.service
aka jackdbus).
Cannot read socket fd = 25 err = Erfolg
CheckRes error
JackSocketClientChannel read fail
Server is not running
Server is not running
Wed Feb 19 10:48:35 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:35 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:35 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:35 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:35 2020: Connecting 'bla2-PC-01:from_slave_5' to
'ardour:OBXDLR/audio_in 2'
Wed Feb 19 10:48:35 2020: NetMaster : missing last data packet from
'bla2-PC'
Wed Feb 19 10:48:35 2020: ERROR: Segmentation Fault!
Wed Feb 19 10:48:35 2020: ERROR: info.si_signo = 11
Wed Feb 19 10:48:35 2020: ERROR: info.si_errno = 0
Wed Feb 19 10:48:35 2020: ERROR: info.si_code = 1 (SEGV_MAPERR)
Wed Feb 19 10:48:35 2020: ERROR: info.si_addr = 0x7f458dace558
Wed Feb 19 10:48:35 2020: ERROR: reg[00] = 0x0000000040800000
Wed Feb 19 10:48:35 2020: ERROR: reg[01] = 0x0000000000000000
Wed Feb 19 10:48:35 2020: ERROR: reg[02] = 0x0000000000000000
Wed Feb 19 10:48:35 2020: ERROR: reg[03] = 0x0000000000000246
Wed Feb 19 10:48:35 2020: ERROR: reg[04] = 0x00007f47eb77d704
Wed Feb 19 10:48:35 2020: ERROR: reg[05] = 0x00007f47eb03f66f
Wed Feb 19 10:48:35 2020: ERROR: reg[06] = 0x00007f47eb03f720
Wed Feb 19 10:48:35 2020: ERROR: reg[07] = 0x00007f47eaf3df40
Wed Feb 19 10:48:35 2020: ERROR: reg[08] = 0x00007f47d4010b10
Wed Feb 19 10:48:35 2020: ERROR: reg[09] = 0x00007f47d400d48c
Wed Feb 19 10:48:35 2020: ERROR: reg[10] = 0x00007f47eaf3dc60
Wed Feb 19 10:48:35 2020: ERROR: reg[11] = 0x00007f47d400c6c0
Wed Feb 19 10:48:35 2020: ERROR: reg[12] = 0xfffffffdb9abd9e8
Wed Feb 19 10:48:35 2020: ERROR: reg[13] = 0x00007f458dace558
Wed Feb 19 10:48:35 2020: ERROR: reg[14] = 0x0000000000000000
Wed Feb 19 10:48:35 2020: ERROR: reg[15] = 0x00007f47eaf3dc40
Wed Feb 19 10:48:35 2020: ERROR: reg[16] = 0x00007f47ec18ceab
Wed Feb 19 10:48:35 2020: ERROR: reg[17] = 0x0000000000010203
Wed Feb 19 10:48:35 2020: ERROR: reg[18] = 0x002b000000000033
Wed Feb 19 10:48:35 2020: ERROR: reg[19] = 0x0000000000000004
Wed Feb 19 10:48:35 2020: ERROR: reg[20] = 0x000000000000000e
Wed Feb 19 10:48:35 2020: ERROR: reg[21] = 0x0000000000005a07
Wed Feb 19 10:48:35 2020: ERROR: reg[22] = 0x00007f458dace558
Wed Feb 19 10:48:35 2020: ERROR: Stack trace:
Wed Feb 19 10:48:35 2020: ERROR: 1: 0x7f47ec18ceab
<Jack::NetFloatAudioBuffer::RenderFromNetwork(char*, int, int)+47>
(/usr/local/lib/libjackserver.so.0)
Wed Feb 19 10:48:35 2020: ERROR: 2: 0x7f47ec18cdad
<Jack::NetFloatAudioBuffer::RenderFromNetwork(int, int, unsigned
int)+153> (/usr/local/lib/libjackserver.so.0)
Wed Feb 19 10:48:35 2020: ERROR: 3: 0x7f47ec18fe3f
<Jack::JackNetInterface::AudioRecv(Jack::_packet_header*,
Jack::NetAudioBuffer*)+205> (/usr/local/lib/libjackserver.so.0)
Wed Feb 19 10:48:35 2020: ERROR: 4: 0x7f47ec190e37
<Jack::JackNetMasterInterface::DataRecv()+275>
(/usr/local/lib/libjackserver.so.0)
Wed Feb 19 10:48:35 2020: ERROR: 5: 0x7f47eb77dbd5 <(null)+3950500821>
(/usr/local/lib/jack/netmanager.so)
Wed Feb 19 10:48:35 2020: ERROR: 6: 0x7f47eb77d724 <(null)+3950499620>
(/usr/local/lib/jack/netmanager.so)
Wed Feb 19 10:48:35 2020: ERROR: 7: 0x7f47ec14778f
<Jack::JackClient::CallProcessCallback()+85>
(/usr/local/lib/libjackserver.so.0)
Wed Feb 19 10:48:35 2020: ERROR: 8: 0x7f47ec14768a
<Jack::JackClient::ExecuteThread()+40> (/usr/local/lib/libjackserver.so.0)
Wed Feb 19 10:48:35 2020: ERROR: 9: 0x7f47ec144c87
<Jack::JackClient::Execute()+85> (/usr/local/lib/libjackserver.so.0)
Wed Feb 19 10:48:35 2020: ERROR: 10: 0x7f47ec1670e8
<Jack::JackPosixThread::ThreadHandler(void*)+252>
(/usr/local/lib/libjackserver.so.0)
Wed Feb 19 10:48:35 2020: ERROR: End of stack trace
No, the goal is to run Jackd on RTOSor patch Jackd to make it run on
RTOS (not yet started !) .
Cheers
Jean-Louis
Le 17/02/2020 à 22:07, Ralf Mattes a écrit :
>
> Am Montag, 17. Februar 2020 21:03 CET, Jean-Louis Mounier <jean-louis.mounier(a)laposte.net> schrieb:
>
>> Hello friends,
>>
>> do you think it is possible to compile and run JackAudio on ESP32.
> You got linux running on an ESP32? Wow!
>
> Cheers, RalfD
>
>
>
Hello friends,
do you think it is possible to compile and run JackAudio on ESP32. It
could become a nice platform to connect "in ear" headphones or
microphones for example. ESP32 is a powerfull, cheap and low-power
platform having WiFi (2.4Ghz) and bluetooth capabilities.
This idea can be a platform to build a wireless (Wifi) for live
performance, avoiding cable use.
I'll try to work on this subject but, as a newbie, it may take a long
time. Hope some of you will bring some help.
Forgive my poor English as I am French speaking
Thank you in advance
Regards
Jean-Louis Mounier
Hello JACKies,
i tinkered this thing https://github.com/oskude/jackplot that plots jack audio data with opengl in real-time (and am a really happy puppy :D). but as i'm a c, jack and opengl noob, i was hoping to get some help here. (at least for the jack part)
so i set the jack data (pointer) to a global variable
https://github.com/oskude/jackplot/blob/bcac59813b01b3bf7c2ebebd4988b22f5bf…
and read that data in opengl draw function (when ever its ready to draw)
https://github.com/oskude/jackplot/blob/bcac59813b01b3bf7c2ebebd4988b22f5bf…
(ignoring the function i read it in, am i even reading the jack data correctly?)
i'm suprised that it works, and hasn't crashed!
but i have the feeling that this is a bad/unsafe way to do it...
any thoughts? tips? links?
Cheers,
Andre Osku Schmidt
ps. i know about error checking, but i would like to keep this code as small as possible, until i understand the core jack-audio-data-to-opengl-points part.
Hi,
Thank you for your great support in Jack.
I am trying to build a real-time application on basis of Jack Server and
Client architecture. But Jack capture and playback latency is failing me to
make the application sample accurate.
*My Jack server configuration (jackd -dalsa):*
*JACK server starting in realtime mode with priority 10 self-connect-mode
is "Don't restrict self connect requests" audio_reservation_init Acquire
audio card Audio0 creating alsa driver ...
hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz,
period = 1024 frames (21.3 ms), buffer = 2 periods ALSA: final selected
sample format for capture: 32bit integer little-endian ALSA: use 2 periods
for capture ALSA: final selected sample format for playback: 32bit integer
little-endian ALSA: use 2 periods for playback*
*My Understanding :*
0. Realtime mode = Yes, 10 priority
1. Sampling Rate = 48000Hz
2. 1 Periods = 1024 frames
3. Buffer Size = 2 Periods = 2048 frames
4. Capture Latency = 2 periods = 1 Buffer = 21.3 x2 ms
5. Playback Latency = 2 periods = 1 Buffer = 21.3 x2 ms
*Apllication:*
passthru/simple_client.c of Jack2 repositry with one client for both sterio
capture and mono playback
*My application pipeline:*
input -----------> capture left channel (stage 1) ------------> playback
left channel (stage 2) --------------> capture right channel (stage 3)
*Latency calculation:*
After stage 1 --------------- 2 periods = 42.6 ms
After stage 2 --------------- 2 + 2 periods = 85.2 ms
After stage 3 --------------- 2 + 2 + 2 periods = 127.8 ms
*Difference between stage 3 and stage 1*
6 periods - 2 periods = 4 periods
Latency difference should be 4 periods but I am getting larger than 4
periods like 4 periods which also differs with different trials.
*So, how can I make my application sample accurate or what is the correct
procedure?*
It will be a great help and advance thanks.
Best Regards
Ruhul Amin
Hi,
Thank you for your great support in Jack.
I am trying to build a real-time application on basis of Jack Server and
Client architecture. But Jack capture and playback latency is failing me to
make the application sample accurate.
*JACK server starting in realtime mode with priority 10self-connect-mode is
"Don't restrict self connect requests"audio_reservation_initAcquire audio
card Audio0creating alsa driver ...
hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bitconfiguring for 48000Hz,
period = 1024 frames (21.3 ms), buffer = 2 periodsALSA: final selected
sample format for capture: 32bit integer little-endianALSA: use 2 periods
for captureALSA: final selected sample format for playback: 32bit integer
little-endianALSA: use 2 periods for playback*