What the world needs now -- is easy, reliable, cross-platform Jacktrip

1,650 views
Skip to first unread message

Mike O'Connor

unread,
Mar 15, 2020, 9:22:07 AM3/15/20
to jacktrip-users
Hi all,

There's this COVID thing.  Perhaps you've heard of it?

Wouldn't it be great if there was a dead-simple Jacktrip installer for Mac and Windows that would let all us suddenly-shut-in musicians gather their friends together for a friendly jam-session?

Perhaps some developers are also suddenly-shut-in and would like to take a run at this?

Sarah Weaver

unread,
Mar 16, 2020, 12:57:29 AM3/16/20
to jacktri...@googlegroups.com
Hi Mike and all,

Yes and there are several build-outs to do on JackTrip that will make the software more compatible with the home internet setting, now quite necessary.

Anyone on the list interested to work together on this? I am also asking around in all my circles. It would be great to assemble a group and tackle this together.

Best wishes,
Sarah


--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/fa0a8b69-87d8-438f-9990-9b2c8c8d152c%40googlegroups.com.

Mike O'Connor

unread,
Mar 16, 2020, 8:33:30 AM3/16/20
to jacktrip-users
Count me in.  I'm a former system-test type person and would love to help test/diagnose the Mac-platform builds. 

Thanks

Mike

On Sunday, March 15, 2020 at 11:57:29 PM UTC-5, Sarah Weaver wrote:
Hi Mike and all,

Yes and there are several build-outs to do on JackTrip that will make the software more compatible with the home internet setting, now quite necessary.

Anyone on the list interested to work together on this? I am also asking around in all my circles. It would be great to assemble a group and tackle this together.

Best wishes,
Sarah


On Sun, Mar 15, 2020 at 9:22 AM Mike O'Connor <oconn...@gmail.com> wrote:
Hi all,

There's this COVID thing.  Perhaps you've heard of it?

Wouldn't it be great if there was a dead-simple Jacktrip installer for Mac and Windows that would let all us suddenly-shut-in musicians gather their friends together for a friendly jam-session?

Perhaps some developers are also suddenly-shut-in and would like to take a run at this?

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

Giorgos Gargalas

unread,
Mar 16, 2020, 8:34:52 AM3/16/20
to jacktri...@googlegroups.com
I am in also

To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/743df22d-a92e-4c04-9d6e-9585b9f59ead%40googlegroups.com.

Chris Chafe

unread,
Mar 16, 2020, 10:22:09 AM3/16/20
to jacktri...@googlegroups.com
Stay tuned for a pull request on the usual github repo mid-week (from Max Waganbach) to merge work done over the past year.


To try it sooner, it's the branch "feature/code_maintenance"

There's apparently an issue with jack itself on the latest Mac OS (Catalina) which Sarah identified. Success on that front would be great to hear about.

Chris

Mike O'Connor

unread,
Mar 16, 2020, 11:27:35 AM3/16/20
to jacktrip-users
Hi Chris,

That sounds great.  Could I lobby that we try for the goal of a "civilian" Mac installer this time around?  It would be terrific if there could be a one-click package (.pkg) installer (and uninstaller) that took care of all the dependencies and so forth.  Or at a minimum a Homebrew (https://brew.sh/) package?  I am hoping that we can bring this capability to a broader audience and many of them are going to shear away if they have to follow the current installation process, especially when it comes to handling all the dependencies that are required.  Extra-super-especially under Catalina, which is where most of the Mac users are going to be at.  It has quite-stringent controls over hardware access.

If some of that needs a little dab of money to get done, I'd like to hear about it.  I'll rummage around in the couch cushions and see what I can come up with.  ;-)

Chris Chafe

unread,
Mar 16, 2020, 11:52:16 AM3/16/20
to jacktri...@googlegroups.com
Here's a .pkg from 18 months ago

and instructions for Mac we've used in recent courses

Thanks for the offer to look under the cushions! If someone's tempted, help is most welcome.

Here's what we've been using for Windows

and older instructions which look dated but are still correct if the above installer is used

Chris

Ken Fields

unread,
Mar 16, 2020, 1:08:11 PM3/16/20
to jacktrip-users
hi mike, artsmesh is a GUI for jacktrip,
download is free, but it's just for MAC.
Ken

Ben Loveridge

unread,
Mar 16, 2020, 4:19:01 PM3/16/20
to jacktrip-users
There are so many dependencies that make a single install and it all just works very challenging but definitely having ways to streamline the process is beneficial. One of our devs built a Jacktrip front end GUI for one of our projects a few years ago to make connecting to other sites a bit easier. Feel free to check it out here: https://github.com/unimelb-networkedsociety/jacktrip-gui

Ben Loveridge

unread,
Mar 16, 2020, 4:22:36 PM3/16/20
to jacktrip-users
Hi Chris, that's a good summary of links which I'll add into our 'getting started document 'https://docs.google.com/document/d/18pbu2xQRv521NKvHuYHjIVXRcLFqcDsqYnfKixyuyGg

One question I have about the instructions in
https://ccrma.stanford.edu/~cc/153resources/robertEdgarJobAids/153macOS2018.pdf is that it says to start JackPilot as well as qjackctl at the same time. From my understanding aren't they just slightly different versions of the same thing and you only need to run one at a time? I tend to prefer just using qjackctl for all of our Jacktrip sessions.

Cheers,
Ben

Synthia Payne

unread,
Mar 16, 2020, 9:53:38 PM3/16/20
to jacktri...@googlegroups.com, Sarah Weaver, Thomas Marsh
Well, I'm in of course, with connecting and supporting the developers in
whatever way I can - have a fresh 10mbps upload from Cox and many
successful collabs. Yippee. Pulling in Thomas Marsh, a brand new recruit
in training, he and his friend could use some additional connections to
do testing at least. Maybe some students would want to take them on?

Synthia here - checking in healthy in the Stormy Southland. Peace out.


On 3/15/2020 9:57 PM, Sarah Weaver wrote:
> Hi Mike and all,
>
> Yes and there are several build-outs to do on JackTrip that will make
> the software more compatible with the home internet setting, now quite
> necessary.
>
> Anyone on the list interested to work together on this? I am also asking
> around in all my circles. It would be great to assemble a group and
> tackle this together.
>
> Best wishes,
> Sarah
>
>
> On Sun, Mar 15, 2020 at 9:22 AM Mike O'Connor <oconn...@gmail.com
> <mailto:oconn...@gmail.com>> wrote:
>
> Hi all,
>
> There's this COVID thing.  Perhaps you've heard of it?
>
> Wouldn't it be great if there was a dead-simple Jacktrip installer
> for Mac and Windows that would let all us suddenly-shut-in musicians
> gather their friends together for a friendly jam-session?
>
> Perhaps some developers are also suddenly-shut-in and would like to
> take a run at this?
>
> --
> You received this message because you are subscribed to the Google
> Groups "jacktrip-users" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to jacktrip-user...@googlegroups.com
> <mailto:jacktrip-user...@googlegroups.com>.
> <https://groups.google.com/d/msgid/jacktrip-users/fa0a8b69-87d8-438f-9990-9b2c8c8d152c%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "jacktrip-users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to jacktrip-user...@googlegroups.com
> <mailto:jacktrip-user...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jacktrip-users/CALwwFR%2BquSNpWEDoQ5SS4oqgmM6-NZHQOWvbzmPr5MPF9qUM6g%40mail.gmail.com
> <https://groups.google.com/d/msgid/jacktrip-users/CALwwFR%2BquSNpWEDoQ5SS4oqgmM6-NZHQOWvbzmPr5MPF9qUM6g%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Sarah Weaver

unread,
Mar 17, 2020, 11:11:01 AM3/17/20
to Thomas Marsh, Synthia Payne, jacktri...@googlegroups.com
Hi Synthia, nice to meet you Thomas! I didn't know about Sofa Sessions, thanks for the link. Sounds similar to "e-jamming" platform from awhile ago too? Great to hear about "Jam Gang". 

Agreed about the threads here that JackTrip "home version" may be just as much about packaging for the public besides building out the code. 
1) Cross-platform
2) Installation designed for the public
3) User interface designed for the public
4) Chart of settings for various bandwidths and quality of service

Any other objectives for "home version"? Easier said than done, but can be useful to collectively identify areas for development.

Also would like to invite anyone interested to take part in the "NowNet Arts Lab Ensemble: Home Internet". I am hosting this at 10pmEDT daily online for the foreseeable future. Other times of day available by request. This lab ensemble is for contemporary artists and technologists to discuss and try out network arts pieces and technology tests on home internet. We will start on the available technologies and migrate to new technologies as they develop. Meet on this Zoom link: https://zoom.us/j/2588885627

More soon!
Sarah


On Tue, Mar 17, 2020 at 7:07 AM Thomas Marsh <mars...@gmail.com> wrote:
Oh. And I’m based in NYC.

All the Best,

Thomas

Sent from my iPhone

> On Mar 16, 2020, at 9:53 PM, Synthia Payne <synthi...@gmail.com> wrote:
>
> Well, I'm in of course, with connecting and supporting the developers in

Sarah Weaver

unread,
Mar 17, 2020, 12:45:07 PM3/17/20
to Thomas Marsh, Synthia Payne, jacktri...@googlegroups.com
Quick update by request: "NowNet Arts Lab Ensemble: Home Internet" will meet daily at both 12pmEDT and 10pmEDT via Zoom: https://zoom.us/j/2588885627

Best wishes,
Sarah

Michael Dessen

unread,
Mar 17, 2020, 1:25:38 PM3/17/20
to jacktri...@googlegroups.com
Ben, about this question:

> One question I have about the instructions in
> https://ccrma.stanford.edu/~cc/153resources/robertEdgarJobAids/153macOS2018.pdf is that it says to start JackPilot as well as qjackctl at the same time. From my understanding aren't they just slightly different versions of the same thing and you only need to run one at a time? I tend to prefer just using qjackctl for all of our Jacktrip sessions.

Yes, that used to work for me too (starting jack from within qjackctl without jack pilot) but stopped with Mojave. I can't speak for Chris' instructions, but I did write to the jackosx list about this a while ago, and couldn't get it solved. On Stephane's advice there I did install the latest version of jackd and qjackctl via macports, but even then I still got errors if I start jack from within qjackctl, without starting jack first (either via jack pilot or Terminal). I sent the error logs to that list but not one replied. It's not really a priority so I don't want to hassle with contacting the qjackctl developer and worrying about it, but FYI...

Michael
> --
> You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/136d7712-3f1d-491e-9755-88575c61677f%40googlegroups.com.

Mike O'Connor

unread,
Mar 17, 2020, 3:47:56 PM3/17/20
to jacktrip-users
Here's another one for the list -- that shouldn't be too hard.

5) A good web site -- and all other web sites pointing at it.

Right now, a search on JackTrip turns up a whole bunch of confusing sites with contradictory information and circular references.  It's really hard to sort out what the true "good/current" implementations are.  A plaintive old-guy request -- please, not a gitHub archive.  I just bought the jacktrip.com and jacktrip.org domain names and will donate them to the cause.  I'm willing to maintain a very sparse web site on them for now, but it would be nice to find/form a stable "home" for the site (and the project). 

Thanks for taking the lead on this Sarah.

Mike

Sarah Weaver

unread,
Mar 17, 2020, 9:49:33 PM3/17/20
to jacktri...@googlegroups.com
Great Mike! I agree a centralized website would be helpful as well. Wonderful to hear about your donation and that you're already getting it going..
Sarah


--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/b38f9b9b-ff8a-4cd1-bd72-632539293e25%40googlegroups.com.

Sarah Weaver

unread,
Mar 19, 2020, 4:57:04 PM3/19/20
to jacktri...@googlegroups.com
From the NowNet Arts Forum and Lab Ensemble, there is another request for the JackTrip "home version":

6) Interaction of JackTrip with other software connected at the same time if needed (e.g. Zoom for video) and the bandwidth issues (needs) or relationship between the two softwares. And communication via a simple chat window as it is the case of Soundjack, perhaps?

A few more topics for home version:

Can we look into wifi/satellite internet version at all? Replace audio dropouts with prior signal in real time? I have seen this done in post-production settings.

Can JackTrip run in a browser?

Is some compression ok? To reduce bandwidth requirements while maintaining passable audio, for those with low-bandwidth at home?

Can we use remote servers to shoulder the bandwidth and to work around system configurations for home use? I know some have tried this already and had success. Maybe we could maintain a remote server or a network of servers for JackTrip as a community, connected to the website?

Best wishes,
Sarah

Mike O'Connor

unread,
Mar 19, 2020, 5:19:45 PM3/19/20
to jacktrip-users
Hi Sarah,

Aannnd, another one.  Some kind of IPERF like capability built into the software to help people diagnose why their connection isn't working.  Or, better still, auto-discovery (like Zoom/Skype/etc) that sorts out the connection automatically and offers diagnostics and suggestions for performance-improvement along the way.  I wrote up my notes for IPERF (on a Mac) back when I took Chris's class on Kadenze and I offer it here as example of a tool that is pretty incomprehensible for the home user.  ;-)

Kenneth Fields

unread,
Mar 19, 2020, 5:27:24 PM3/19/20
to jacktri...@googlegroups.com

On Mar 19, 2020, at 1:56 PM, Sarah Weaver <sarahr...@gmail.com> wrote:

From the NowNet Arts Forum and Lab Ensemble, there is another request for the JackTrip "home version":

6) Interaction of JackTrip with other software connected at the same time if needed (e.g. Zoom for video) and the bandwidth issues (needs) or relationship between the two softwares. And communication via a simple chat window as it is the case of Soundjack, perhaps?

In Artsmesh’s JackAudio/Jacktrip UI:

1. I routed zoom audio into VDMX (live video app) last night during the meeting. voice controlled video parameters. nice.
2. Route Ableton Live into zoom with Zoom original audio on.
3. Artsmesh chat is through OSC messages. An artsmesh group is automatically an osc group (ross bencina).
4. Artsmesh uses syphon video too (inter-application video communication), so you can output live VDMX mix as zoom video source
using ECamm's iGlasses (virtual video device - JackAudio’s counterpart).
5. As mike asks iPerf, yes Artsmesh also runs iPerf.

Ken


A few more topics for home version:

Can we look into wifi/satellite internet version at all? Replace audio dropouts with prior signal in real time? I have seen this done in post-production settings.

Can JackTrip run in a browser?

Is some compression ok? To reduce bandwidth requirements while maintaining passable audio, for those with low-bandwidth at home?

I don’t think so, that’s the whole point of jacktrip. Encoding process takes time - add’s to latency.

You received this message because you are subscribed to a topic in the Google Groups "jacktrip-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jacktrip-users/KrhojQxYy_w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/CALwwFR%2Be0APk_sjG9MXdyJFO%3D4TfMY46qvA6zpr4LSCK1dYRhA%40mail.gmail.com.

Tim Gillespie

unread,
Mar 20, 2020, 3:59:54 PM3/20/20
to jacktrip-users
What about documenting a single configuration that is standalone, like the JamBerry. I have seen the paper on that, but are there details available on how to replicate it?

Miller Puckette

unread,
Mar 21, 2020, 6:32:34 PM3/21/20
to jacktrip-users
HI Sarah -

I've spent a few days thinking in general about how to connect with musicians in rehearsal settings.  At the moment I'm thinking about two approaches, webrtc (the layer underneath Zoom and jitsi) and jacktrip.  The advantage to webrtc is that it allows communication between computers even if neither one has a fixed internet address, and allows clients to "discover" each other.  The (huge) disadvantage is that you either have to run inside a browser or develop a whole new applicationlike Zoom.

So I'll assume jacktrip for the moment.  Its main disadvantage is that it assumes jack.  (I gather I can direct it to use rtaudio instead of jack but I think that would then go to physical I/O devices, which is not what I want either).

Why not wrap jacktrip into a VST plugin / Max/Pd object / supercollider ugen ? I think most musicians could handle at least one of those setups.  (I'm working with a percussionist who uses ableton so I'm after a VST plugin myself.  But if I make a Pd object I can then embed it in VST via camomile).

There's some mumbling in the jacktrip README that you can compile it as a library - should I try to do that and bake a Pd extern with it?  Is that likely to work?  (And/or is there some reason it's not a good idea?)

Thanks
Miller
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

Giorgos Gargalas

unread,
Mar 21, 2020, 6:39:39 PM3/21/20
to jacktri...@googlegroups.com
Good idea Miller!

To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/cdf61a01-871e-4181-b2b7-d8442eac947c%40googlegroups.com.

Michael Dessen

unread,
Mar 21, 2020, 7:25:32 PM3/21/20
to jacktri...@googlegroups.com
Thanks, Miller! I have also long thought that it should be possible to built a VST plugin that you could use in any DAW to enable audio from a remote partner to come directly into the DAW, and that this would save us the hassle of routing audio from the networking app in/out of the DAW. But I'm not a coder so I don't know all the reasons this hasn't happened yet and what would be required. (I would think Abelton or one of the other big companies would see a commercial incentive in this and make it, but people have told me that the networking hassles are what makes it not worth their time yet?)

Also on RTC and your comment about "...develop a whole new applicationlike Zoom": If I understand correctly, this is the idea behind LiveLab, a multipoint video networking platform that the people at CultureHub NYC are developing (we used it in a recent telematic concert). They describe it here:

https://www.culturehub.org/livelab

and one of their developrs shared with me a specs comparison here:

https://docs.google.com/spreadsheets/d/1jJNNtkoSH1FunCPHS2Z05MzdUMkU_KMe71uPimGF94Q/edit#gid=0

We didn't use the audio (we used jacktrip) so I don't know what the quality is like, but I think it's promising maybe. If you want I can put you in touch with them.

Michael
> To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/CAM%2B6LFXXaZo99ehsddyYzNmuFO2WqtfGDV_jV0c%2BKqXLz-SQKw%40mail.gmail.com.

Sarah Weaver

unread,
Mar 21, 2020, 8:12:58 PM3/21/20
to jacktri...@googlegroups.com
Hi Miller,

Currently for those that can't operate jacktrip at home, I am directing them to Zoom with "Original Sound" settings if they have an audio interface or can connect a MIDI instrument. This is 'functional' at the moment for wider communities.

For jacktrip quality audio at home that is accessible to more musicians, yes from my perspective and recent forums, we need these types of buildouts. I will give thoughts on your email, ultimately this is a discussion for Chris Chafe though as the jacktrip author. I am mainly just trying to help coordinate the efforts.

Juan Parra Cancino (Orpheus Institute) also mentioned webrtc as a potential direction. If we can get jacktrip into a browser that would certainly be more accessible. Though difficult. 

I will mention there are discussions in motion to set up some remote servers so we can get around the system configurations at home and shoulder the bandwidth outside of the home internet.

Your ideas to wrap jacktrip into VST plugin/ Max/Pd object / supercollider ugen could work well. This may be a happy medium. Matthias Ziegler mentioned yesterday his team in Zurich thought of Pd potentials regarding jacktrip "home version" buildout, maybe they can assist in some way?

There are multiple a/v communication platforms developed and in development, inside and outside the community, so I would think it's best to do any buildout in audio only, then people can connect it to their chosen video platforms from there. Unless there is a very clear reason to pair it with a particular video platform.

Again these are my thoughts, but ultimately talk with Chris. 
So excited things are in motion!
Sarah


To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/cdf61a01-871e-4181-b2b7-d8442eac947c%40googlegroups.com.

Chris Chafe

unread,
Mar 22, 2020, 11:11:30 AM3/22/20
to jacktri...@googlegroups.com
Hi all,

There's a two-step upgrade in progress that gets github to v.1.2 -- I just merged the "chris gitlab" branch and Max is about to issue the pull request for "feature/code_maintenance".

Many changes over the stable release, v.1.1, and admittedly documentation lags way behind the testing. The biggest motivator was translating IPv6 addressing to fix LAN problems with recent switches and routers, that plus eliminating the priority boost for network sockets (a necessity 15 years ago but a serious blunder these days).

Home networks are proving ok. We used a mixture of v.1.1 and v.1.2, linux, mac and raspbian yesterday in a long 4-way jam with California and Berlin. Best results were mono and 1024 buffer size (48k, 16b) and those settings also worked between win10 and linux in homes in Milan and California last week. It feels good to be in a shared musical space despite the bandwidth constraints.

Miller, fantastic ideas!

There is no library build that I know of. Should be quite doable (I'm saying that from experiences of mangling jacktrip into other C++ projects, for example, the streaming layer for sonification by small devices).

Politecnico di Torino began work on jacktrip -> javascript / WebRTC two months ago. No public code yet but if interested email me off-list and I'll put you in touch with the small team that's formed. It's a project this semester.

Chris
To view this discussion on the web visit 

-- 
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 
To view this discussion on the web visit 

Fernando Lopez-Lezcano

unread,
Mar 22, 2020, 3:16:23 PM3/22/20
to jacktri...@googlegroups.com, Chris Chafe, na...@ccrma.stanford.edu
On 3/22/20 8:11 AM, Chris Chafe wrote:
> Hi all,
...
> Home networks are proving ok.

Hmmm, mostly ok... :-)

> We used a mixture of v.1.1 and v.1.2,
> linux, mac and raspbian yesterday in a long 4-way jam with California
> and Berlin. Best results were mono and 1024 buffer size (48k, 16b) and
> those settings also worked between win10 and linux in homes in Milan and
> California last week. It feels good to be in a shared musical space
> despite the bandwidth constraints.

I participated in a 4 way jam session yesterday (wonderful!) and of the
four participants, I alone was having problems - this is on a cable isp
(ConCast, argh) with 85M down 6M up connection (confirmed by
speedtest.net), so plenty of bandwidth in theory for a mono connection.
I was experiencing periodic udp dropouts, but apparently only on packets
coming my way, since (Chris, is that true?) the others were not hearing
the dropouts. This is still happening when I test alone right now.

(feature request: the message "UDP waiting too long (more than 30ms)..."
should include at least a "sequence number", and maybe the real wait
time if available, once my terminal fills up with errors it is
impossible to know if they are still happening or not)

I have done a bit of testing and I'm getting puzzling results.

I tried to use iperf3 to quantify udp packet loss, with two iperf3
servers running on our jam "hub" on different ports and two clients
running in my laptop, one straight and the other with the -R flag so
that I get bidirectional udp traffic going between my laptop and the server.

And I see no packet loss. How come?

I start to see packet loss above 4-5Mb/s (to be expected) which is far
above the 792Kb/s I see using iftop when connected with jacktrip.

I imagine I am not using the right iperf3 incantation...
On the client side I am using this:

iperf3 -c IP_ADDRESS -p 4484 -u -b 2M -i 0 -t 60 -R
and:
iperf3 -c IP_ADDRESS -p 4494 -u -b 2M -i 0 -t 60

(2Mb/s which is more than twice what jacktrip needs)

I get (from laptop to server):
[ ID] Interval Transfer Bitrate Jitter
Lost/Total Datagrams
[ 5] 0.00-60.00 sec 14.3 MBytes 2.00 Mbits/sec 0.000 ms 0/10359
(0%) sender
[ 5] 0.00-60.01 sec 14.3 MBytes 2.00 Mbits/sec 1.557 ms 0/10359
(0%) receiver

(from server to laptop)
[ ID] Interval Transfer Bitrate Jitter
Lost/Total Datagrams
[ 5] 0.00-60.01 sec 14.3 MBytes 2.00 Mbits/sec 0.000 ms 0/10362
(0%) sender
[ 5] 0.00-60.00 sec 14.3 MBytes 2.00 Mbits/sec 0.442 ms 0/10359
(0%) receiver

So no loss either way according to iperf3.

Maybe jacktrip packets are not the same as the default in iperf3? How
would I emulate them with the right iperf3 flags?

Suggestions welcome....

Since I tried this with two different audio interfaces I don't suspect
(yet) the audio layer as being to blame for this - I am running with
1024 frames x 2, which is big, no xruns in jack.

> Miller, fantastic ideas!

Yes, indeed!

> There is no library build that I know of. Should be quite doable (I'm
> saying that from experiences of mangling jacktrip into other C++
> projects, for example, the streaming layer for sonification by small
> devices).

Anyone working on a plain c implementation?
Best,
-- Fernando

ximena alarcon

unread,
Mar 22, 2020, 3:33:49 PM3/22/20
to jacktri...@googlegroups.com, Chris Chafe, na...@ccrma.stanford.edu
Dear all,

I support Miller's ideas VST plugin, I think it is a great way to go!

I used the TubePlug software as VST plugin, in 2012, with Max/MSP, and any audio other software. The sound quality was very good. It worked very well for home connections, and it was my alternative when I couldn't deal with Jacktrip demands for bandwidth, in the venues where I organised a telematic sonic performance. I don't know what was behind it in terms of code, unfortunately this software was not longer supported:


Best,

Ximena

Dr. Ximena Alarcón
Listening and Sounding - Migratory Artist
Academic Research, NIME, Telematic Sonic Performance, Deep Listening
Marie Skłodowska Curie Post-doctoral Research Fellow 2017-2019
Project Leader INTIMAL: Interfaces for Relational Listening


http://ximenaalarcon.net (Personal website)

http://intimal.net (Art-Technology and Community Research Project)

Tutor at the Center for Deep Listening:
@ximesonic @soundingunder

Resident at The Studio, Bath Spa University


--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/1592d2d8-144a-22ff-c708-cc517ad6bb90%40ccrma.stanford.edu.

Kenneth Fields

unread,
Mar 22, 2020, 3:55:27 PM3/22/20
to jacktri...@googlegroups.com, Chris Chafe, na...@ccrma.stanford.edu
hmm indeed,
instead of saying hi, we should say hm :).
the amount of mmm’s would signal our immediate needs.
I’m sending two mm’s today.

-p, --port nThe server port for the server to listen on and the client to connect to. This should be the same in both client and server. Default is 5201.
--cport nOption to specify the client-side port. (new in iPerf 3.1)

Do we need to set -p and -cport on each of the client and server, to get the right ports tested.
or will the client also follow the -p setting to match the server port?

A vague area of understanding for me is the default packet/block size and MTU settings?
presumably an MTU setting of 1500 is high enough to prevent fragmentation on both ipv4 and 6.
jacktrip won’t control this, the network routing probably takes care of that right?
any issues there?

Chris, I hope you found our (syneme's) code for the ipv6 somewhere in the repository. we use that version we compiled for ipv6 in Artsmesh, 
and have a flag in the jacktrip GUI to use ipv6 when we need it. That must have been about 3 years or more ago.

We might also make a built in NAT hole puncher like OscGroups does (ross bencina) - except that oscgroups has
one static port, while jacktrip has incrementally many.

I’m not sure what is easier, just set your port forwarding on your router - which every gamer does - or deal with NAT hole punching.

In general, network music is complicated enough to justify a pro app and a new industry professional called a Presence Engineer.
Try connecting 4 or 5 people in a jacktrip session with everyone high on coffee and herbe matte (we’ve all been there - I was there yesterday).
making a VST plugin will get the audio there, but there are dozens of other functions that simply get you to and from that point.
Are you all happy typing in ipv6 addresses?

See ya,
Ken




--
You received this message because you are subscribed to a topic in the Google Groups "jacktrip-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jacktrip-users/KrhojQxYy_w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/1592d2d8-144a-22ff-c708-cc517ad6bb90%40ccrma.stanford.edu.

Kenneth Fields

unread,
Mar 22, 2020, 5:37:32 PM3/22/20
to jacktri...@googlegroups.com
just found this:

so if jack audio isn’t updated eventually for Catalina, might we consider something like a ‘BlackTrip?'

Ken






You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/FF149D33-0C3B-4133-AB0C-677C7F413EFA%40gmail.com.

Roman Haefeli

unread,
Mar 23, 2020, 5:14:51 AM3/23/20
to jacktri...@googlegroups.com
Hi

On Sun, 2020-03-22 at 12:16 -0700, Fernando Lopez-Lezcano wrote:
> I have done a bit of testing and I'm getting puzzling results.
>
> I tried to use iperf3 to quantify udp packet loss, with two iperf3
> servers running on our jam "hub" on different ports and two clients
> running in my laptop, one straight and the other with the -R flag so
> that I get bidirectional udp traffic going between my laptop and the
> server.
>
> And I see no packet loss. How come?

Even if you make iperf3 send an UDP packet stream identical to
jacktrip, the result is not the same. One aspect is that packets coming
late are still considered ok by iperf3, but when a jacktrip packet
misses its playback timeframe, it's a lost packet. In other words, a
"jittery" connection is ok for iperf3, but not for jacktrip.
They certainly are not in the default settings of iperf3.

> How
> would I emulate them with the right iperf3 flags?

By calculating the jacktrip UDP packetsizes with the parameter you're
using for jacktrip.

bitres: 16
blocksize: 128
sr: 48000
nchan: 2

Size of UDP payload (jacktrip packet):

header + bitres/8 * nchan * 128 = 528 bytes

packetrate:

sr / blocksize = 375

> Suggestions welcome....

I packed above calculations into a wrapper script for iperf3 that lets
you specify jacktrip parameters as command line arguments. The idea is
to emulate jacktrip traffic with iperf3:


https://gitlab.zhdk.ch/TPF/telematic-performance-format/-/blob/master/tools/tpf-netperf

Kind regards,
Roman


signature.asc

Fernando Lopez-Lezcano

unread,
Mar 23, 2020, 1:54:59 PM3/23/20
to jacktri...@googlegroups.com, Roman Haefeli, na...@ccrma.stanford.edu
On 3/23/20 2:14 AM, Roman Haefeli wrote:
> Hi

Hi and many thanks! Very helpful!

> On Sun, 2020-03-22 at 12:16 -0700, Fernando Lopez-Lezcano wrote:
...
> Even if you make iperf3 send an UDP packet stream identical to
> jacktrip, the result is not the same. One aspect is that packets coming
> late are still considered ok by iperf3, but when a jacktrip packet
> misses its playback timeframe, it's a lost packet. In other words, a
> "jittery" connection is ok for iperf3, but not for jacktrip.

Ah, of course, right. But it looks like it is some traffic shaping
Comcast is doing (see below).
...
> I packed above calculations into a wrapper script for iperf3 that lets
> you specify jacktrip parameters as command line arguments. The idea is
> to emulate jacktrip traffic with iperf3:

Thanks!!! Very nice...

This is what I see when sending to the server:

[ 5] local xx.xx.x.xx port 4494 connected to yy.yy.yy.yy port 46901
[ ID] Interval Transfer Bitrate Jitter
Lost/Total Datagrams
[ 5] 0.00-1.00 sec 52.4 KBytes 429 Kbits/sec 25.476 ms 0/26 (0%)
[ 5] 1.00-2.00 sec 68.5 KBytes 561 Kbits/sec 28.507 ms 0/34 (0%)
[ 5] 2.00-3.00 sec 70.5 KBytes 578 Kbits/sec 29.383 ms 0/35 (0%)
[ 5] 3.00-4.00 sec 74.6 KBytes 611 Kbits/sec 27.397 ms 0/37 (0%)
[ 5] 4.00-5.00 sec 66.5 KBytes 545 Kbits/sec 31.550 ms 0/33 (0%)
[ 5] 5.00-6.00 sec 56.4 KBytes 462 Kbits/sec 32.797 ms 0/28 (0%)
[ 5] 6.00-7.00 sec 56.4 KBytes 462 Kbits/sec 34.813 ms 0/28 (0%)
[ 5] 7.00-8.00 sec 62.5 KBytes 512 Kbits/sec 30.241 ms 0/31 (0%)
[ 5] 8.00-9.00 sec 70.5 KBytes 578 Kbits/sec 26.434 ms 0/35 (0%)
[ 5] 9.00-10.00 sec 66.5 KBytes 545 Kbits/sec 27.958 ms 0/33 (0%)
[ 5] 10.00-11.00 sec 66.5 KBytes 545 Kbits/sec 29.777 ms 0/33 (0%)
[ 5] 11.00-12.00 sec 68.5 KBytes 561 Kbits/sec 23.494 ms 0/34 (0%)
[ 5] 12.00-13.00 sec 58.5 KBytes 479 Kbits/sec 31.928 ms 0/29 (0%)
[ 5] 13.00-14.00 sec 60.5 KBytes 495 Kbits/sec 30.932 ms 0/30 (0%)
[ 5] 14.00-15.00 sec 48.4 KBytes 396 Kbits/sec 42.430 ms 41/65
(63%)
[ 5] 15.00-16.00 sec 58.5 KBytes 479 Kbits/sec 29.683 ms 8/37
(22%)
[ 5] 16.00-17.00 sec 46.4 KBytes 380 Kbits/sec 37.696 ms 25/48
(52%)
[ 5] 17.00-18.00 sec 58.5 KBytes 479 Kbits/sec 27.349 ms 26/55
(47%)
[ 5] 18.00-19.00 sec 40.3 KBytes 330 Kbits/sec 31.478 ms 14/34
(41%)
[ 5] 19.00-20.00 sec 50.4 KBytes 413 Kbits/sec 30.442 ms 17/42
(40%)
[ 5] 20.00-21.00 sec 40.3 KBytes 330 Kbits/sec 27.411 ms 19/39
(49%)
[ 5] 21.00-22.00 sec 44.3 KBytes 363 Kbits/sec 30.160 ms 17/39
(44%)
[ 5] 22.00-23.00 sec 38.3 KBytes 314 Kbits/sec 42.176 ms 7/26
(27%)
[ 5] 23.00-24.00 sec 38.3 KBytes 314 Kbits/sec 40.196 ms 25/44
(57%)
[ 5] 24.00-25.00 sec 42.3 KBytes 347 Kbits/sec 36.975 ms 24/45
(53%)
[ 5] 25.00-26.00 sec 36.3 KBytes 297 Kbits/sec 37.735 ms 21/39
(54%)
[ 5] 26.00-27.00 sec 44.3 KBytes 363 Kbits/sec 41.918 ms 23/45
(51%)
[ 5] 27.00-28.00 sec 36.3 KBytes 297 Kbits/sec 38.866 ms 28/46
(61%)
[ 5] 28.00-29.00 sec 36.3 KBytes 297 Kbits/sec 40.779 ms 33/51
(65%)
[ 5] 29.00-30.00 sec 36.3 KBytes 297 Kbits/sec 39.008 ms 21/39
(54%)
[ 5] 30.00-30.87 sec 28.2 KBytes 265 Kbits/sec 34.229 ms 29/43
(67%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter
Lost/Total Datagrams
[SUM] 0.0-30.9 sec 2 datagrams received out-of-order
[ 5] 0.00-30.87 sec 1.58 MBytes 431 Kbits/sec 34.229 ms
378/1183 (32%) receiver

This is completely repeatable. After 15 seconds something kicks in and
the stream starts dropping packets. Lots of them.

Going in the other direction (from server to my laptop):

warning: UDP block size 2064 exceeds TCP MSS 1448, may result in
fragmentation / drops
Connecting to host xx.xx.xx.xx, port 4494
Reverse mode, remote host xx.xx.xx.xx is sending
[ 5] local yy.yy.yy.yy port 47900 connected to xx.xx.xx.xx port 4494
[ ID] Interval Transfer Bitrate Jitter
Lost/Total Datagrams
[ 5] 0.00-2.00 sec 189 KBytes 776 Kbits/sec 0.235 ms 0/94 (0%)
[ 5] 2.00-4.00 sec 189 KBytes 776 Kbits/sec 0.341 ms 0/94 (0%)
[ 5] 4.00-6.00 sec 187 KBytes 768 Kbits/sec 0.225 ms 0/93 (0%)
[ 5] 6.00-8.00 sec 189 KBytes 776 Kbits/sec 0.249 ms 0/94 (0%)
[ 5] 8.00-10.00 sec 189 KBytes 776 Kbits/sec 0.226 ms 0/94 (0%)
[ 5] 10.00-12.00 sec 187 KBytes 768 Kbits/sec 0.184 ms 0/93 (0%)
[ 5] 12.00-14.00 sec 189 KBytes 776 Kbits/sec 0.465 ms 0/94 (0%)
[ 5] 14.00-16.00 sec 187 KBytes 768 Kbits/sec 0.253 ms 0/93 (0%)
[ 5] 16.00-18.00 sec 189 KBytes 776 Kbits/sec 0.461 ms 0/94 (0%)
[ 5] 18.00-20.00 sec 189 KBytes 776 Kbits/sec 0.209 ms 0/94 (0%)
[ 5] 20.00-22.00 sec 187 KBytes 768 Kbits/sec 0.170 ms 0/93 (0%)
[ 5] 22.00-24.00 sec 189 KBytes 776 Kbits/sec 0.220 ms 0/94 (0%)
[ 5] 24.00-26.00 sec 189 KBytes 776 Kbits/sec 0.189 ms 0/94 (0%)
[ 5] 26.00-28.00 sec 187 KBytes 768 Kbits/sec 0.178 ms 0/93 (0%)
[ 5] 28.00-30.00 sec 189 KBytes 776 Kbits/sec 0.182 ms 0/94 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter
Lost/Total Datagrams
[ 5] 0.00-30.02 sec 2.77 MBytes 773 Kbits/sec 0.000 ms 0/1406
(0%) sender
[ 5] 0.00-30.00 sec 2.77 MBytes 773 Kbits/sec 0.182 ms 0/1405
(0%) receiver

So, yes there is obvious throttling....

It takes longer to happen if I bring down the bandwidth (to, say, 0.5M
or 0.65M), but it eventually happens. It is quite random, except for the
fact that at the beginning of a run I get 0% packet drop for a while
(~15 seconds @ .773M, longer at lower bandwidths).

Sending at 0.3, for example, it mostly works. But, again, it is random
and probably depends on what my neighbors are doing (Chris, you don't
have many neighbors - any? - and that is maybe why it works for you! :-).

If I send tcp you can see the retries shooting up from 0 after a while
(I get about 20 seconds of 0% retries and then it goes up drastically).

-- Fernando

Colin Sullivan

unread,
Mar 23, 2020, 1:58:32 PM3/23/20
to jacktri...@googlegroups.com
FWIW, I have been building cross-platform desktop applications using the Electron framework. It is a powerful way to build cross-platform desktop apps with Node.js & frontend web tooling, it builds and bundles the applications into Mac, Windows, and Linux apps for you.

------
Colin
> To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/71c8ba31-85b7-48a1-8b49-55a43da17fe6%40googlegroups.com.

Miller Puckette

unread,
Mar 23, 2020, 2:25:24 PM3/23/20
to jacktrip-users
I mailed you off-list - maybe I'm in your spam folder? 
.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jacktrip-users/cdf61a01-871e-4181-b2b7-d8442eac947c%40googlegroups.com
.

-- 
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 

Roman Haefeli

unread,
Mar 23, 2020, 5:38:28 PM3/23/20
to jacktri...@googlegroups.com
Hi all

On Sat, 2020-03-21 at 15:32 -0700, Miller Puckette wrote:
>
> I've spent a few days thinking in general about how to connect with
> musicians in rehearsal settings.

I'm pretty excited about you all thinking about these issues.

Please let me mention the tpf tools we have been working on in Zurich
and which I presented last year at the LAC 2019. The tools try to
tackle mainly two obstacles:

* Eliminating the need for a public IP (or port-forwarding
configuration)

* Simplify the management of setups with many endpoints

tpf-client is entirely written in Pd and based on jacktrip abstraction,
which is a Pd version of jacktrip. Jacktrip connections are established
using a UDP proxy running on a central server (tpf-server), thus
eliminating the need for clients to drill holes through NAT. Obviously,
this setup only makes sense, when clients are relatively close to the
tpf-server. There is even experimental support of UDP hole punching
(works for the most common type of NAT).

Now, since the lockdown, I'm also looking for ways to join with my band
peers and it turns out the tpf-client is still too big a hurdle for
most of my peers. Most of them run Windows and would already have a
hard time dealing with JACK (never tried it myself on Windows). Thus, I
was thinking to create a mono-standalone version of tpf-client.pd that
is limited to sending one channel per client and has a simple mixer
already built in. The idea is that my peers have to run not more than
just the Pd patch. It's not ready yet, but I'll post it here, if there
is interest.

For me, Pd being multi-platform and multi-audio-backend (e.g. not tied
to JACK) is a huge plus. Also, it lets me sketch ideas relatively
quickly and test what works well and what not so well. If people are
interested, we maybe can use this to prototype some ideas that might
flow in whatever tool to be developed (be it VST-based, electron etc.).

https://gitlab.zhdk.ch/TPF/tpf-client

https://gitlab.zhdk.ch/TPF/tpf-server

BTW, if you east and west coaster are interested in this, it might make
sense to run your own server in your area. I'm happy to help if you
need help in setting it up.

Regards,
Roman

signature.asc

Roman Haefeli

unread,
Mar 23, 2020, 5:55:47 PM3/23/20
to jacktri...@googlegroups.com
(sending again, now to list)

On Mon, 2020-03-23 at 10:54 -0700, Fernando Lopez-Lezcano wrote:
>
> [ 5] 13.00-14.00 sec 60.5 KBytes 495 Kbits/sec 30.932 ms 0/30
> (0%)
> [ 5] 14.00-15.00 sec 48.4 KBytes 396 Kbits/sec 42.430
> ms 41/65
> (63%)

That's indeed annoying. I haven't experienced myself an ISP doing that
yet. Is only jacktrip affected by this? I assume many popular video
conferencing or VoIP softwares use even more bandwidth than this, don't
they?

The numbers from your iperf3 seem odd, though. I see roughly 30 packets
send per second. Assuming a samplerate 48000, the blocksize you are
using is ~1600 (I know it can't be true, since it is a power of two).
That's pretty large. What params did you use when executing the script?
While the blocksize seems high, the bandwidth used seems pretty low,
even less than one channel would use. How come?

Roman

signature.asc

Miller Puckette

unread,
Mar 23, 2020, 6:39:55 PM3/23/20
to jacktrip-users
zowee, this sounds like exactly what I need (and a year before I realized I needed it :)
Will check it out.
M

Fernando Lopez-Lezcano

unread,
Mar 23, 2020, 7:22:56 PM3/23/20
to jacktri...@googlegroups.com, Roman Haefeli, na...@ccrma.stanford.edu
On 3/23/20 2:55 PM, Roman Haefeli wrote:
> (sending again, now to list)
...
> The numbers from your iperf3 seem odd, though. I see roughly 30 packets
> send per second. Assuming a samplerate 48000, the blocksize you are
> using is ~1600 (I know it can't be true, since it is a power of two).
> That's pretty large. What params did you use when executing the script?
> While the blocksize seems high, the bandwidth used seems pretty low,
> even less than one channel would use. How come?

Probably my interpretation of BLOCKSIZE was wrong? I assumed it was the
jack blocksize without trying to find out... (we are using 1024). Maybe not.

More in a separate email...
-- Fernando

PS: The script generated command is:

iperf3 -u -c IP_ADDRESS -p 4494 -l 2064 -b .773M -i 2 -t 30 -P 1

with (changed the script to accept mono and a different port):

NUMOFCHANNELS=1
BITRES=16
SAMPLERATE=48000
BLOCKSIZE=1024
NUMOFINSTANCES=1
CLIENTOF="IP_ADDRESS"
PORT=4494
DURATION=30

Fernando Lopez-Lezcano

unread,
Mar 23, 2020, 7:28:08 PM3/23/20
to jacktri...@googlegroups.com, Roman Haefeli, na...@ccrma.stanford.edu
On 3/23/20 2:55 PM, Roman Haefeli wrote:
> (sending again, now to list)
>
> On Mon, 2020-03-23 at 10:54 -0700, Fernando Lopez-Lezcano wrote:
>>
>> [ 5] 13.00-14.00 sec 60.5 KBytes 495 Kbits/sec 30.932 ms 0/30
>> (0%)
>> [ 5] 14.00-15.00 sec 48.4 KBytes 396 Kbits/sec 42.430
>> ms 41/65
>> (63%)
>
> That's indeed annoying. I haven't experienced myself an ISP doing that
> yet.

Comcast has something they call PowerBoost. Trademarked. Patented. They
temporarily boost your speed at the beginning of downloads or uploads
for a short time (or, translating to user speak, they don't throttle
your speed to what you agreed / were forced to buy[*] for a short time).

This looks suspiciously like that "feature" in action because I always
seem to get 15 to 20 seconds of "good performance". Once it triggers if
looks like the packet loss is/was outrageous.

...

Why was? Now (4pm PST) the behavior is much better (users are sleeping
the siesta?). At about noon to 1pm I could not even send emails. Just
now sending or receiving with your script shows zero packet loss. But
running jacktrip occasionally triggers errors (this time it could be
jitter). Appears to be less problematic than yesterday but hard to tell.

Iftop shows the same bandwidth being used by the script's generated
iperf3 or jacktrip, so that is fine. Maybe I need to get my hands dirty
with tcpdump and see what is actually being sent/received?

When doing tests yesterday I was running two iperf3 servers on different
ports so I could trigger bidirectional traffic, maybe that also makes a
difference (from the point of view of what Comcast does to the packets).

> Is only jacktrip affected by this?

Nope, other services as well, but less so because they are mostly
adaptive (ie: the voice or video degrades but does not drop out - well,
most of the time). Behavior depends on time of day and activity. With
everyone working from home here in California the network is sometimes
unusable (can't even send email).

> I assume many popular video
> conferencing or VoIP softwares use even more bandwidth than this, don't
> they?

VoIP would use much less (without video), old style uncompressed PCM
would be 64kb/s, new codecs I imagine can use much less. Even video is
also heavily compressed.

This is what Zoom says:

For 1:1 video calling:
600kbps (up/down) for high quality video
<a bit less than mono jacktrip>
1.2 Mbps (up/down) for 720p HD video
Receiving 1080p HD video requires 1.8 Mbps (up/down)
Sending 1080p HD video requires 1.8 Mbps (up/down)
<a bit more than twice of mono jacktrip>

-- Fernando

[*] you can buy very good speeds but absolutely no guarantee exists that
you get anything like that. If nobody uses the service it is great!

Fernando Lopez-Lezcano

unread,
Mar 23, 2020, 8:25:08 PM3/23/20
to jacktri...@googlegroups.com, Fernando Lopez-Lezcano, Roman Haefeli
tcpdump reports this for both jacktrip and iperf3 as above:

----
17:07:09.867660 IP localhost.localdomain.57286 > xxx.4494: UDP, bad
length 2064 > 1472
17:07:09.867666 IP localhost.localdomain > xxx: udp
----

So packets are too long and get fragmented?

If I use a 128 block size in jack, packet lengths are smaller, of course
(and I get no "bad length" message).

Why is jacktrip using big packets?

-- Fernando

Fernando Lopez-Lezcano

unread,
Mar 24, 2020, 12:58:13 AM3/24/20
to jacktri...@googlegroups.com, Fernando Lopez-Lezcano, Roman Haefeli
On 3/23/20 5:25 PM, Fernando Lopez-Lezcano wrote:
> On 3/23/20 4:22 PM, Fernando Lopez-Lezcano wrote:
>> On 3/23/20 2:55 PM, Roman Haefeli wrote:
>>> (sending again, now to list)
>> ...
> tcpdump reports this for both jacktrip and iperf3 as above:
>
> ----
> 17:07:09.867660 IP localhost.localdomain.57286 > xxx.4494: UDP, bad
> length 2064 > 1472
> 17:07:09.867666 IP localhost.localdomain > xxx: udp
> ----
>
> So packets are too long and get fragmented?
>
> If I use a 128 block size in jack, packet lengths are smaller, of course
> (and I get no "bad length" message).
>
> Why is jacktrip using big packets?

Answering my own question (maybe).

Packet size goes up as block size and channel count increase. Jacktrip
uses big packets so that reassembling them from fragmentation is
"somebody else's problem". What jacktrip sees on the receiving end is
the final result of the udp network layer - one big happy packet with
everything in it (one full multichannel frame), or nothing at all.

I tried to do some graphs of inter-packet arrival time (from tcpdump
with the -ttt option on) and it is messy - packets arrive bunched
together - mostly in pairs, big swings in arrival time, problem regions
when there are drops...

-- Fernando

Roman Haefeli

unread,
Mar 24, 2020, 7:06:31 AM3/24/20
to jacktri...@googlegroups.com
On Mon, 2020-03-23 at 16:22 -0700, Fernando Lopez-Lezcano wrote:
>
> PS: The script generated command is:
>
> iperf3 -u -c IP_ADDRESS -p 4494 -l 2064 -b .773M -i 2 -t 30 -P 1
>
> with (changed the script to accept mono and a different port):
>
> NUMOFCHANNELS=1
> BITRES=16
> SAMPLERATE=48000
> BLOCKSIZE=1024
> NUMOFINSTANCES=1
> CLIENTOF="IP_ADDRESS"
> PORT=4494
> DURATION=30


I see. Is there an advantage in using such a large blocksize? With that
configuration, the jacktrip payload ends up being 2064 bytes (see
above) large. Assuming a common MTU of 1500, the UDP packets are split
across at least two IP packets. If one of the IP packets gets lost, the
whole UDP datagram is lost. The likeliness of dropped packets
increases with the degree of fragmentation.

In my (somewhat limited) experience, fragmentation didn't have adverse
effects, at least not to some degree. However, even in the local
network of the university, we experienced a sharp upper limit above
which no transmission was possible. If I recall correctly, that limitwas 17 channels with blocksize=128.

My understanding is that software like Ultragrid perform a Path MTU
Discovery to make sure that UDP packetsizes stay below the Path MTU to
avoid fragmention.

https://en.wikipedia.org/wiki/Path_MTU_Discovery

Roman
signature.asc

Пингвин Михалыч

unread,
Mar 24, 2020, 11:28:17 AM3/24/20
to jacktrip-users
Personally, I plan to use JackTrip for remote sound recording, such as amateur voice acting for films. But while I checked it only within the local network and in Ardour I sometimes get small silks (xrun). I found out that jacktrip is not for this purpose, but then what can be suitable for this?

Interested in what works under linux and is open source.

Fernando Lopez-Lezcano

unread,
Mar 24, 2020, 3:10:57 PM3/24/20
to jacktri...@googlegroups.com, Roman Haefeli, na...@ccrma.stanford.edu
On 3/24/20 4:06 AM, Roman Haefeli wrote:
> On Mon, 2020-03-23 at 16:22 -0700, Fernando Lopez-Lezcano wrote:
>>
>> PS: The script generated command is:
>>
>> iperf3 -u -c IP_ADDRESS -p 4494 -l 2064 -b .773M -i 2 -t 30 -P 1
>>
>> with (changed the script to accept mono and a different port):
>>
>> NUMOFCHANNELS=1
>> BITRES=16
>> SAMPLERATE=48000
>> BLOCKSIZE=1024
>> NUMOFINSTANCES=1
>> CLIENTOF="IP_ADDRESS"
>> PORT=4494
>> DURATION=30
>
> I see. Is there an advantage in using such a large blocksize?

Less chance of xruns (dropouts) in the local jackd instance.

Maybe it would be best to downsize to 512 which makes mono @48KHz fit
into the 1500 "normal" MTU... maybe it would help a little bit with
dropouts.

I think that with a block size of 128 up to 4 channels would fit into
1500 bytes[*].

-- Fernando

[*] maybe a different model for packetizing?

If we define a minimum block size of 128 frames, then any jackd instance
running at higher than that block size would be able to connect if
jacktrip packetizes audio with 128 block size (always).

Senders with higher jack block size would split the jackd buffer into
multiple packets and send them out, receivers with higher jack block
size would accumulate incoming packets into the jackd buffer until they
are all received and then release it to jackd. Missing packets would
mean small silences or repeats within a buffer (I can already see a
problem with stretching the jackd cycle in the client while waiting for
packets).

Probably all sorts of side effects and problems when you actually have
to code this, ha ha.

Running @ 48Khz would mean anything stream with 4 or less channels would
not have fragmented packets.

This would also decouple the block size of different computers sharing
the same "session", which would be nice to have (ie: you could tune your
local latency to whatever you can do in your computer).

Anyway, even if this could work it is probably not worth it...

Juan I Reyes

unread,
Mar 24, 2020, 4:51:06 PM3/24/20
to jacktri...@googlegroups.com


Linux user here, so I suppose I cannot even surface Catalina issues,
nevertheless, should say that IPV6 is welcomed as well as all
improvements on V1.2.

Don't forget that latency is prime while on the net, and If I had to
concentrate my efforts on getting a better world, I would go this way.

The less latency the better but honestly, bureaucracy on getting
symmetric signals and top speed still an issue everywhere.
-Human-factor-; ISPs always want a big $lice of the pie, to say the
least.

Part of this bureaucracy are also video and conferencing apps which on
average eat about 85% of bandwidth. Wish there were a hack to tweak
bandwidth to give audio an advantage.

Not saying that we need 64bit 96K sampling rate and 1.0^-4 ms.
latency but feels good to tease the idea.

-- Juan Reyes



Miller Puckette

unread,
Mar 25, 2020, 1:29:18 PM3/25/20
to jacktrip-users
Here's a bit of a progress report.  I talked with Chris Chafe yesterday and have had a first look at Roman Haefeli's implementation of jacktrip inside Pd.  First off, in case any of you are wanting to get up-to-date jacktrip, it's much better to work from the
feature/code_maintenance
branch of the git repo than master.  (It will get merged eventually but that might take some time to work out.)

Roman's tpf system (https://lac.linuxaudio.org/2019/doc/haefeli.pdf) is very clean and contains an abstraction (jacktrip.pd) that acts as a jacktrip client.  (Chris and I immediately saw the upside of considering jacktrip as a protocol rather than a standalone program).  I haven't finished looking at the server side of tpf but if I understand it correctly it needs a static IP address from which it accepts UDP connections and relays the audio packets between them all.

I think I can pretty quickly make a VST plugin (using Camomile) that just encapsulates Roman's jacktrip client. I'm not sure if I can get the whole of netpd working within a VST because it uses more UI features of Pd than I think Camomile supports.

I have one major need: I'd like to be able to use jacktrip asymmetrically - my ISP's upload speed isn't high enough to match the number of channels I'd like to be able to receive.  I think this is likely to be a common concern - many musicians will want to hear stereo and send mono, or get 8ch in and send 2 out.  (By the way, I think netpd manages exactly this situation somehow but I haven't understood how yet).

Looking beyond that, I think we'll eventually need a way to establish point-to-point jacktrip connections for two clients behind NAT (i.e. without publishable IP addrs), in which one only needs a central server to establish the connection, not to relay theaudio packets.(This is one of many things that webrtc does - I don't remember where I heard it but I think there are protocols running around that don't require all of webrtc to establish connections between clients without public IP addrs.)

Incidentally, long ago Olaf Matthes wrote netsend~ and netreceive~ objects for Pd which establish one-way connections.  I'm giving these a try too in case I can't get jacktrip working asymmetrically.

I'll report back in a couple of days once I've tried a few more things.

Miller

Leonardo O. Gabrielli

unread,
Mar 26, 2020, 4:41:39 AM3/26/20
to jacktri...@googlegroups.com, mpuc...@cloud.ucsd.edu
Dear Miller, and dear all,
I'm chiming in as an old supporter of Puredata and Jacktrip who wrote his PhD thesis about networked music performance owing a lot to this community.
I have left this research field since 2015 but I wanted to put my little works at advantage of anybody who should need them. My objective back then was to build embedded wireless platforms for low latency audio transmission with little setup effort.
Two of my contributions that could be relevant in this moment were:
- a protocol named SABy for simple discovery and connection of endpoints in a wired/wireless LAN
- implementation of this protocol as a puredata external named [netfind] and as a Python GUI for Jack/jacktrip (tested on Linux)

I hesitated for a few days in writing to you guys since all this work was very specific to my use cases and I don't know if this could be adapted to work over a regular ISP connection.
Nonetheless, it could have some usefulness by now.
I can upload the source code on my website and probably also try to put some papers there if I have permission to.

Best regards



To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/958a6ca0-8a98-4985-8f69-b3a8fd6e96fc%40googlegroups.com.

Roman Haefeli

unread,
Mar 26, 2020, 1:19:31 PM3/26/20
to jacktri...@googlegroups.com
Hi Miller

On Wed, 2020-03-25 at 10:29 -0700, Miller Puckette wrote:

> I haven't finished looking at the server side of tpf but
> if I understand it correctly it needs a static IP address from which
> it accepts UDP connections and relays the audio packets between them
> all.

Exactly.

>
> I have one major need: I'd like to be able to use jacktrip
> asymmetrically - my ISP's upload speed isn't high enough to match the
> number of channels I'd like to be able to receive. I think this is
> likely to be a common concern - many musicians will want to hear
> stereo and send mono, or get 8ch in and send 2 out. (By the way, I
> think netpd manages exactly this situation somehow but I haven't
> understood how yet).

There is no constraint on the the protocol side (from what I
understand). My assumption is that jacktrip uses the same number of
channels in both directions because it needs to create jack ports
_before_ it receives something from the other side. The jacktrip
abstraction has just 8 hard-coded audio inlets and outlets and outputs
audio only on those for which it receives something. This also implies
a maximum of 8 channels (both ways). However, it would be simple to
change it to 16 channels or more if need be.

> Looking beyond that, I think we'll eventually need a way to establish
> point-to-point jacktrip connections for two clients behind NAT (i.e.
> without publishable IP addrs), in which one only needs a central
> server to establish the connection, not to relay theaudio
> packets.(This is one of many things that webrtc does - I don't
> remember where I heard it but I think there are protocols running
> around that don't require all of webrtc to establish connections
> between clients without public IP addrs.)

The tpf-client already has experimental support for this. When you
double-click when initiating a connection, the button flashes violet
instead of blue (green instead of yellow on the other end). The
implementation is quite naive, though. Clients ask the server for the
externally used IP address and exchange that and the intended port
number with each other. It seems to work for clients behind typical
home NAT routers. But there is no guarantee that the port number seen
from the outside matches the port number used by the client. Also, the
current implementation does not detect when clients are in the same
local network. For this to work, the client would have to know at least
its own (local) IP address, which currently seems not possible to know
with the existing networking classes (iemnet, [netsend] etc.). Having
this work reliably would be a huge plus. I haven't grasped yet how
webRTC works regarding punching holes, but maybe there is a library
that could be exploited with an external (I don't have a clue how to
code externals myself, unfortunately).

Having said that, I fully agree that peer-to-peer connection should be
the way to go.

Roman


signature.asc

OCH

unread,
Mar 28, 2020, 3:31:47 AM3/28/20
to jacktrip-users
"(...) a way to establish point-to-point jacktrip connections for two clients behind NAT (i.e. without publishable IP addrs), in which one only needs a central server to establish the connection, not to relay the audio packets (This is one of many things that webrtc does - I don't remember where I heard it but I think there are protocols running around that don't require all of webrtc to establish connections between clients without public IP addrs.)"

Yes, signaling [1] [2].

It looks like the best of both worlds will look like something that is part webRTC, part jacktrip, and part audio plugin.
I'm really excited to follow the outcomes of this thread :)

(I'm also replying just to make sure I'm subscribed to this group/thread. thx)

OCH

Senor Blasto

unread,
Apr 8, 2020, 1:58:25 AM4/8/20
to jacktrip-users
I'm working on getting a img file that can be download to an SD card, stuck in a $35 RPI 4 and is already working preconfigured out of the box (with a $5 USB audioinput dongle.   It should work on the $5 RPI zero as well.

I know there is added cost to this idea but lots of people have dozens of pi's laying around doing nothing, and would allow a completely computer illiterate person to connect and audio output they have.

Any reason this might not work?  




I am in also

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

Guy Eastwood

unread,
Apr 8, 2020, 5:31:12 AM4/8/20
to jacktri...@googlegroups.com
I got a rasPi config close to done at the weekend using standard Raspbian. Problem is Raspbian doesn't seem to have portaudio compiled in as a backend to Jack. Nor does Ubuntu so maybe it's a Debian thing.

An additional issue is that broadband-broadband pings are pretty awful, I got 50-70mS to a mate in the next town. To solve this I fired up an AWS Windows nano instance as Amazon has tiny pings - 17mS for me in the middle of the UK to London as a ping.

Using Windows on everything I get an audio roundtrip of ~35mS using the AWS machine to lower latency which is quite usable. Still a few crackles and clicks, though, you'd not play a gig like that but moving the buffer from 256 to 512 makes the latency unusable so 44.1/256 is the best I've got using one nono channel to reduce bandwidth.

Given that you probably need to use a hub server like this for 95% of cases (unless your jam pals are on the same provider and same exchange) your main issue becomes server configuration as when you disconnect an instance Jack's connection panel needs rewiring on a reconnect most of the time so you'd need some script to manage the jack connections.

On my AWS instance I would start a Jacktrip instance per client and then route all jacktrips to each other in Jack's connection window so it shares the audio to everyone. I didn't get the capital -S option to work, maybe that's not it's purpose.

I also checked out Google's GCP but Amazon seemed to have the lower ping.

I don't think you're ever going to have low enough player <-> player latency (at least in the UK) but using a hub server gets round a lot of that at the expense of complexity,

G




To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/0713ac9b-eeb9-4cde-8ed9-dcb78bf098e6%40googlegroups.com.

Senor Blasto

unread,
Apr 8, 2020, 5:50:08 AM4/8/20
to jacktri...@googlegroups.com
We're you using a Pi 4 ?

I plan on creating the imagine using Diet-Pi as it allows setting up all of the install automatically at boot and should theoretically have improved latency as compared to raspbian.  

The pi4 is a huge upgrade compared to the 3 

Guy Eastwood

unread,
Apr 8, 2020, 7:09:10 AM4/8/20
to jacktri...@googlegroups.com
No I was using a spare 3B I have lying around. I'm not sure the Compute unit's latency is going to shave much off by using DietPi, not that it matters if it's a better suited approach. The network round trip inside the Pi is surely sub millisecond even for a Pi3?

My problem was no portaudio backend in Jack, tbh. I really didn't want to have to find all the deps for Jack to faff around recompiling it. I notice Chris Chafe's(?) paper for JT on a Pi uses a Fedora image, perhaps Fedora has portaudio compiled into Jack in its repo?

I thought the -S server option was to create a 'conference hub' (which is presumably what I'm after) but when I tried it on V1.2 either the client or the server exited back to the cmd prompt after a few seconds of seeing each other and the feature seems otherwise undocumented :/ 

G




Guy Eastwood

unread,
Apr 8, 2020, 7:13:26 AM4/8/20
to jacktri...@googlegroups.com
Talking of security (and this is likely one for ChrisC or the others) the connection should ideally have some basic auth to prevent people knowing the IP from 'stealing' your channel otherwise you're into IP filtering and other messy stuff. Presumably a simple option like --pasword could be put it e.g.

jacktrip -s -n1 --bindport 4464 --user tim37
jacktrip -s -n1 --bindport 4465 --user bob12

with corresponding:

jacktrip -c <someip> -n1 --peerport 4464 -user tim37
jacktrip -c <someip> -n1 --peerport 4465 -user bob12

etc

G




On Wed, 8 Apr 2020 at 10:50, Senor Blasto <senor...@gmail.com> wrote:

Tim Gillespie

unread,
Apr 8, 2020, 8:21:38 AM4/8/20
to jacktrip-users
Senor Blasto,

I have been working on the same thing and yes, it does work.

You can find the details as well as the image here:


It works much better with a $20 I2S card over a usb interface though.

Chris Chafe

unread,
Apr 8, 2020, 12:52:24 PM4/8/20
to jacktri...@googlegroups.com
Here's a Raspbian image

That project used a backend hub server for creating a "party connection" in which each client always hears everyone plus their own signal. The server is invoked with -S and the party mode is a mode invoked with -p4 which automatically wires the necessary jack patch as clients come and go.

...and on the security front... it's a great idea if someone has the time to implement it.
I'd be happy to think together off-list with interested contributors.

Chris

Tim Gillespie

unread,
Apr 8, 2020, 2:19:34 PM4/8/20
to jacktrip-users
Chris, how do clients connect to the server when in -S mode?  I tried to connect the same way I do when using -s and was not able to establish a connection.

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

Chris Chafe

unread,
Apr 10, 2020, 10:51:25 AM4/10/20
to jacktri...@googlegroups.com
The argument -C is used to connect as a client to a -S server (as opposed to the two-way mode which is -c and -s )

Chris

Robert Wafle

unread,
Apr 22, 2020, 1:15:02 AM4/22/20
to jacktrip-users
Hi Mike and Sarah. 

I'm thinking about setting up some automation to be able to deploy a "hub" on a cloud server, amazon, azure, google cloud, etc.. 

That could help eliminate one of the challenges of everyone jamming together.

But, like you say here, the client side setup could also use some automation (or at a minimum solid easy to follow instructions). 

Ideally, the automation could also detect the router model on the network and help inform the user if their network supports QoS, and guide them to set it up.

I may be interested in contributing.   It seems this discussion got quiet over the past 12 days, but wow there are SO MANY exciting ideas here.  Have there been any meetings outside of the group?

Thx!

Rob

Sarah Weaver

unread,
Apr 22, 2020, 2:41:51 PM4/22/20
to jacktri...@googlegroups.com
Hi Rob,

Good to hear your thoughts!

Seems the direction of establishing servers for jacktrip has taken hold, will be glad to see this happen. I am willing to take part and test to help figure out the complications.

There are a couple of GUIs out there such as ArtsMesh and TPF tools that could make the user experience more accessible. 

The jacktrip issues I’m having presently are more about network configurations from home (unpredictable changes) and people having quality of service issues on their home public internet. Additionally running on Catalina has been quite problematic. I would want to solve these types of issues before bringing in a wider base of home users.

Yes a lot of good ideas on the thread!
Sarah 


On Apr 22, 2020, at 1:15 AM, Robert Wafle <robw...@gmail.com> wrote:


--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/560b5104-f06e-413e-962b-a740416ca3ab%40googlegroups.com.

Robert Wafle

unread,
Apr 22, 2020, 3:49:00 PM4/22/20
to jacktri...@googlegroups.com

Hi Sarah.

 

I am a developer too.  I hope to make/find/have some time and energy to work on this.  It has been pretty exciting just to think about applying my computer skills to music. 


Is this the Catalina issue you are talking about?  I have a mac with Catalina and I hope I can find some time to dig in.  Perhaps I can find a workaround or fix.  Do you happen to have an idea how to reproduce the issue?  I haven’t used jacktrip before and am hoping to try and use it later today.  I guess I’ll be using my windows machines, and perhaps a docker container on my mac to start.  (maybe that could be my server in my initial test env)

https://github.com/jackaudio/jackaudio.github.com/issues/92

 

Thx!

Rob

Message has been deleted

Kenneth Fields

unread,
Apr 22, 2020, 4:18:40 PM4/22/20
to jacktri...@googlegroups.com
Hi,

Catalina:

go to /usr/local/bin/

Command:
 /usr/local/bin/jackd -R -d coreaudio -r 44100 -p 128 -o 2 -i 2 -C "Built-in Microphone" -P "Built-in Output”

Then we can start Artsmesh to take over jack preference control.
Hope it works for you guys using qjackctl too.
Ken



You received this message because you are subscribed to a topic in the Google Groups "jacktrip-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jacktrip-users/KrhojQxYy_w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/DM5PR2201MB1115DB91D82F813DA2BDE14EABD20%40DM5PR2201MB1115.namprd22.prod.outlook.com.

OCH

unread,
Apr 22, 2020, 4:25:02 PM4/22/20
to jacktri...@googlegroups.com
BTW, do you know how to start (and stop?) Jack Router on Catalina?

Kenneth Fields

unread,
Apr 22, 2020, 4:46:34 PM4/22/20
to jacktri...@googlegroups.com
jack router/pilot doesn’t work on catalina. you have to use the command below in the terminal.
After which, software (like artsmesh) will take over that function.
worked for me today with someone I was working with in Canada.

Ken



OCH

unread,
Apr 22, 2020, 11:19:19 PM4/22/20
to jacktri...@googlegroups.com
I understand that Jackpilot, which is the software that was originally used for starting Jackrouter, cannot be initiated on Catalina.
My question was more in the sense of: what the terminal command that would enable to manually start, stop, and configure inputs/outputs of jackrouter.

Thank you for your help, and apologies for replying to this thread to ask this question.

Sarah Weaver

unread,
Apr 23, 2020, 9:50:28 AM4/23/20
to jacktri...@googlegroups.com
On Catalina, Ken's command line is one way to go, I tried that format a few weeks ago and it did connect. Then you need artsmesh, qjackctl, or similar to replace the jackpilot functions. 

In qjackctl, version 0.6.0 works on Catalina, but the server path is broken up into a "prefix" and a "suffix". Haven't been able to figure out how to format the server path "usr/local/bin/jackdmp" into this version. Version 0.3.6 works in Catalina and the server path format is in tact, but in order to get it to work I have to first start the jack server in terminal, "jackd -d coreaudio", then it takes a few tries to start qjackctl. Eventually it works but it's like jumpstarting a car..

This particular issue does seem solve-able, I'm more concerned about unpredictable network configurations and traffic on home internet connections causing problems. That's where the remote servers can be a very useful infrastructure to build out. 


Martin Jones

unread,
Apr 23, 2020, 10:23:23 AM4/23/20
to jacktrip-users
Have you considered just using the hardware version: https://www.musicianlink.com/

Martin Jones

unread,
Apr 23, 2020, 10:25:16 AM4/23/20
to jacktrip-users
Or (admittedly not JackTrip) Steinber's solution: https://new.steinberg.net/vst-connect/

Leonardo O. Gabrielli

unread,
Apr 23, 2020, 10:39:29 AM4/23/20
to jacktri...@googlegroups.com
Well, VST connect is intended for studio tasks such as recording and only goes with Steinberg's DAWs. Not much of use in performing, I think.

Il giorno gio 23 apr 2020 alle ore 16:25 Martin Jones <gesk...@gmail.com> ha scritto:
Or (admittedly not JackTrip) Steinber's solution: https://new.steinberg.net/vst-connect/

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.

IOhannes m zmölnig

unread,
Apr 23, 2020, 10:46:11 AM4/23/20
to jacktri...@googlegroups.com
On 4/23/20 3:50 PM, Sarah Weaver wrote:
> On Catalina, Ken's command line is one way to go, I tried that format a few
> weeks ago and it did connect. Then you need artsmesh, qjackctl, or similar
> to replace the jackpilot functions.
>
> In qjackctl, version 0.6.0 works on Catalina, but the server path is broken
> up into a "prefix" and a "suffix". Haven't been able to figure out how to
> format the server path "usr/local/bin/jackdmp" into this version.


admittedly i'm using qjackctl-0.6.2 on linux.
however, i daresay that the options are not that much different so here
i go:

qjackctl constructs the command to start jackd from like this:
"<prefix> <options> <suffix>"
with <prefix> being the literal string you put into the "server prefix"
field, and <suffix> being the literal string you put into the "server
suffix" field (go figure).
the <options> string is constructed from the various options you ticked
(or unticked) in the preferences.
so "server prefix" is used to set both the daemon binary itself and any
options that must come before the options generated by qjackctl.
and "server suffix" can be used to add some more options right after
those generated by qjackctl.

so in order to use /usr/local/bin/jackdmp as the jackd-implementation,
you should put "/usr/local/bin/jackdmp" into the "server prefix" field
(and leave the "server suffix" field empty).

please note the leading slash in the full path (the string
"usr/local/bin/jackdmp" just doesn't point to a file).

alternatively you could just add /usr/local/bin/ to your PATH [1]

gfmdsar
IOhannes

[1] e.g. https://superuser.com/questions/324616/h

signature.asc

Carlos Aguayo

unread,
Apr 23, 2020, 11:05:42 AM4/23/20
to jacktri...@googlegroups.com
I second the call for a more coordinated effort here, and am happy to start a Slack instance to form a new "team" - I find email groups hard to keep going, whereas Slack discussions allow for a more continuous flow, even if used asynchronously.  Plus, I imagine many of us are already using Slack, it's easy to just add another team to the client.  If there's any interest here, I'll go ahead and stand something up.

I also wanted to share a thought that's based on an embedded application I worked on a while back -- maybe the best "newbie" solution is something along the lines of the Raspberry Pi unit that's configured to phone home at startup for configuration and endpoint info.  It can then be plug-and-play for the non-technical end user, but this central server that they all connect to could hold the group/server/session information needed to pull a jam together as needed.  This could be quite the powerful platform, especially combined with some of the other excellent ideas from this thread.

Carlos



--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.

Robert Wafle

unread,
Apr 23, 2020, 1:57:47 PM4/23/20
to jacktrip-users
Hi Carlos.  Slack sounds perfect.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

Robert Wafle

unread,
Apr 23, 2020, 2:00:23 PM4/23/20
to jacktrip-users
Hi Sarah:

Would you perhaps be able to spend some time walking through the most basic jacktrip setup with me?  How about you join Carlos's slack team once he creates it and we can connect via there?  I'll also send you a direct message.

Thx!

Rob


On Thursday, April 23, 2020 at 8:50:28 AM UTC-5, Sarah Weaver wrote:
On Catalina, Ken's command line is one way to go, I tried that format a few weeks ago and it did connect. Then you need artsmesh, qjackctl, or similar to replace the jackpilot functions. 

In qjackctl, version 0.6.0 works on Catalina, but the server path is broken up into a "prefix" and a "suffix". Haven't been able to figure out how to format the server path "usr/local/bin/jackdmp" into this version. Version 0.3.6 works in Catalina and the server path format is in tact, but in order to get it to work I have to first start the jack server in terminal, "jackd -d coreaudio", then it takes a few tries to start qjackctl. Eventually it works but it's like jumpstarting a car..

This particular issue does seem solve-able, I'm more concerned about unpredictable network configurations and traffic on home internet connections causing problems. That's where the remote servers can be a very useful infrastructure to build out. 


On Wed, Apr 22, 2020 at 11:19 PM OCH <ocos...@uci.edu> wrote:
I understand that Jackpilot, which is the software that was originally used for starting Jackrouter, cannot be initiated on Catalina.
My question was more in the sense of: what the terminal command that would enable to manually start, stop, and configure inputs/outputs of jackrouter.

Thank you for your help, and apologies for replying to this thread to ask this question.

To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.
-- 
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

-- 
You received this message because you are subscribed to a topic in the Google Groups "jacktrip-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jacktrip-users/KrhojQxYy_w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jacktri...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "jacktrip-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jacktrip-users/KrhojQxYy_w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jacktri...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

OCH

unread,
Apr 23, 2020, 2:55:15 PM4/23/20
to jacktri...@googlegroups.com
RE "(...) walking through the most basic jacktrip setup (...)"
FWIW, I wrote this doc after setting up jack/jacktrip on Catalina with the help of Juan Parra and Sarah Weaver, a week and a half ago.
Having that said, there are way better qualified people than me, and way better documentation on it, out there.

Best,
OCH

To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/52b44517-410d-455b-9864-956b09e9a5fb%40googlegroups.com.

Kenneth Fields

unread,
Apr 23, 2020, 3:03:48 PM4/23/20
to jacktri...@googlegroups.com
what is jacktrip1? and ports 61000-61100? 
and why protocol ‘all’. I thought is was just UDP.
thanks,
Ken


You'll want to create 2 new services, both to associate with the IP address of your ethernet port, and both to use protocol "All":
  1. Jacktrip1 | External port: 61000-61100 | Internal port: 61000-61100 (you may also leave blank and it will auto populate with the same port range)
  2. Jacktrip2 | External port: 4464-4494 | Internal port: (same thing)


Ken


To unsubscribe from this group and all its topics, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/CAFeM23YMp9LhBawp2my6V8D5UH96W22w1zYzC6DhQZ1cfShb%2Bw%40mail.gmail.com.

Martin Jones

unread,
Apr 23, 2020, 3:33:05 PM4/23/20
to jacktrip-users

You can run JackTrip without Jack by using RTaudio

Forward UDP port 4464 on your router to your JackTrip computer


Install Jack Trip


https://ccrma.stanford.edu/software/jacktrip/osx/JackTrip.pkg


Open Terminal on first machine, enter:


jacktrip -s --rtaudio


Open Terminal on second machine, enter:


jacktrip -c 192.168.1.135 --rtaudio

                replacing the above IP with the IP of the remote computer

It will pick your default inputs and outputs (usually line in and line out), and connect them to the opposite ports on the remote computer. 

OCH

unread,
Apr 23, 2020, 3:48:21 PM4/23/20
to jacktri...@googlegroups.com
That looks even more simple! Thanks.
Question: how do you change the Sampling rate and buffer?


--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.

Martin Jones

unread,
Apr 23, 2020, 3:51:50 PM4/23/20
to jacktrip-users
if you enter jacktrip -? in the terminal, it will give you the switches, here are the rtaudio switches for sample rate and buffer:

ARGUMENTS TO USE IT WITHOUT JACK:

=================================

 --rtaudio                                Use defaul sound system instead of Jack

   --srate         #                      Set the sampling rate, works on --rtaudio mode only (defaults 48000)

   --bufsize       #                      Set the buffer size, works on --rtaudio mode only (defaults 128)




On Thursday, 23 April 2020 15:48:21 UTC-4, OCH wrote:
That looks even more simple! Thanks.
Question: how do you change the Sampling rate and buffer?


On Thu, Apr 23, 2020 at 12:34 PM Martin Jones <gesk...@gmail.com> wrote:

You can run JackTrip without Jack by using RTaudio

Forward UDP port 4464 on your router to your JackTrip computer


Install Jack Trip


https://ccrma.stanford.edu/software/jacktrip/osx/JackTrip.pkg


Open Terminal on first machine, enter:


jacktrip -s --rtaudio


Open Terminal on second machine, enter:


jacktrip -c 192.168.1.135 --rtaudio

                replacing the above IP with the IP of the remote computer

It will pick your default inputs and outputs (usually line in and line out), and connect them to the opposite ports on the remote computer. 

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

Martin Jones

unread,
Apr 23, 2020, 3:59:47 PM4/23/20
to OCH, jacktri...@googlegroups.com
RT Audio is already built in, you don’t need to install it.

Martin Jones

unread,
Apr 23, 2020, 4:41:57 PM4/23/20
to jacktrip-users
Here's another option for you:
 

Michael Dessen

unread,
Apr 23, 2020, 7:33:43 PM4/23/20
to jacktri...@googlegroups.com, Omar Hamido
I've started jacktrip with RT Audio before but couldn't see where to do routing, esp. for complex multichannel or multisite connections. Does anyone on the list have experience with that?

Michael

> On Apr 23, 2020, at 12:59 PM, Martin Jones <gesk...@gmail.com> wrote:
>
> RT Audio is already built in, you don’t need to install it.
>
> --
> You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/7083D545-156B-4FF2-8A9B-C29B4C810692%40gmail.com.

Michael Dessen

unread,
Apr 23, 2020, 8:11:15 PM4/23/20
to jacktri...@googlegroups.com
Hi everyone. I've been on this list for at least 10 years, though I am not a developer, just a heavy user :) It feels like there's been more activity on this list in the past month than the prior decade combined, which is very exciting. Thanks especially to the developers working on the new JackTrip version on github.

Carlos recently suggested a Slack conversation to work on a new tool, which seems like a great idea if there is a group of people developing new software together.

For general user support, though, personally I would love to see this list moved to a more organized online forum, i.e. a small version of the kind of forum that softwares with bigger userbases have (Max, Ableton, etc.). That would be more helpful for navigating and posting topics, getting alerts on threads and helping people solve problems without cluttering everyone's email all the time.

I'm not suggesting this instead of Carlos' idea, just for different purposes. This email list is called "jacktrip-users" but a lot of the participants are actually developers. That has made sense in the past, but with many more people experimenting with the software, I think a more fully-featured forum would be way more useful than a simple email list.

If others are interested in this idea and want to volunteer to help launch and run something like that, please say so. My sense is that a forum works best when it's moderated by a group of committed people, not created by just one person alone, and not just just set up then left unmanaged.

Michael
--

Michael Dessen
mde...@gmail.com
http://www.mdessen.com

Mike O'Connor

unread,
Apr 23, 2020, 8:20:40 PM4/23/20
to jacktrip-users
hi Michael,

add me to the list of "interested helpers".  i bought the jacktrip.com domain name in order to provide a home for such a critter and could host a forum on my server.  i wouldn't want to be a moderator though.  think of me as ops/support.  ;-)

Carlos Aguayo

unread,
Apr 23, 2020, 8:34:38 PM4/23/20
to jacktri...@googlegroups.com
So I went to create jacktrip.slack.com, and I found that a workspace with that name already exists, and asks for Stanford University credentials.  I wonder who owns that, and whether we who are interested in joining the development effort could get in on that.

The reason I like Slack for this is that you can create channels for different interests.  End users and novices could have one channel, developers and hackers another, and a third could focus on Raspberry Pi development, for example.  I'd love to get access to the github project, that typically would give us a wiki/knowledge base, and bug/issue/feature tracking.

I'm a devops engineer, presently working on the Raspberry Pi concept to take the role that Jamlink had in its heyday.  At work, we run our teams using slack and github, as well as zoom - no reason we couldn't grow this effort in the same way!  But I guess I'd prefer not to have a second Slack instance unless we aren't allowed to join the existing one, and if there's sufficient interest here.

Carlos



--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.

Sarah Weaver

unread,
Apr 23, 2020, 11:55:16 PM4/23/20
to jacktri...@googlegroups.com
Thanks for this, IOhannes, I'll try it out..
Sarah

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.

Chris Chafe

unread,
Apr 24, 2020, 12:51:12 AM4/24/20
to jacktri...@googlegroups.com
That's me. I was checking it out for use by my current class last week and decided against it. Let me check whether we can use it for this or if I can relinquish the name.

Chris

Guy Eastwood

unread,
Apr 24, 2020, 6:52:07 AM4/24/20
to jacktrip-users
I use slack every day with my devs, designers and business owners, very convenient for me to just add a channel.

Can't offer to dev on the project as I'm not a C guy but plenty of audio (VST, SHARC DSP coding)  and network experience over the years, so no shortage of technical theory at least.

G

To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.

Martin Jones

unread,
Apr 24, 2020, 4:01:54 PM4/24/20
to jacktri...@googlegroups.com, Omar Hamido
It defaults to what you have selected in your system preferences. If you want to do multichannel that way, you might have to use LoopBack https://rogueamoeba.com/loopback/ and/or Blackhole http://existential.audio/blackhole/ , though I haven’ had much luck yet working that way. Still trying!

Multichannel might require the Jack Router to be manageable. 


Michael Dessen

unread,
Apr 24, 2020, 5:06:01 PM4/24/20
to jacktri...@googlegroups.com, Omar Hamido
Thanks, Martin. Following system prefs makes sense but unless I'm missing something, it seems that with RTaudio it would then be impossible to host multiple clients then route them to each other, for example. I'd also be curious to hear if anyone is finding a way to do 3 or more channels in the RT audio mode. There hasn't really been any discussion on this list about this way of using JackTrip, even though the RT option has been there for years, and I don't know anyone personally who uses it that way. Thanks -

Michael
> To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/E4181232-AA61-46EF-8EFE-F35319D63240%40gmail.com.

Carlos Aguayo

unread,
Apr 25, 2020, 1:23:39 PM4/25/20
to jacktrip-users
Thank you, Chris.  I think this is the best option, as it could be central and general enough to fulfill some important goals:

  1) a central clearinghouse for information and planning
  2) a "discoverable" hub to foster community, as we have seen in other slack "teams"
  3) a variety of channels that folks can choose to follow, including optional email notifications
  4) async and synchronous communications

Again, this will only be useful if it is adopted by users and developers, so while *I* think it would be a huge step forward, I'm biased because I already use slack for five other teams - it's not without its learning curve.

Thanks again,

Carlos

Martin Jones

unread,
Apr 27, 2020, 11:25:32 AM4/27/20
to jacktri...@googlegroups.com
Correct, it would appear to only be point to point, for more complex connections you’d need the router in Jack.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/C7409F80-6ED3-42D4-99BE-7097DC140332%40gmail.com.

Robert Wafle

unread,
Apr 28, 2020, 7:14:57 PM4/28/20
to jacktrip-users
Hi All.

I just created jacktheripper.slack.com.   


Once we're all on slack we can vote on another workspace name if this one doesn't work.

Thx!

Rob

Miller Puckette

unread,
May 13, 2020, 1:42:21 PM5/13/20
to jacktrip-users
A bit of belated followup:  I've put my "quacktrip" object here: msp.ucsd.edu/tmp/quacktrip-2020.05.13.tgz

It doesn't solve any of the problems mentioned here (especially NAT hole-punching).  And so far I've mostly
used it unidirectionally although I think it can work bidirectionally if you want.  Major problem (besides NAT)
is that it doesn't implement sequence numbers so that if a packet is dropped the FIFO shrinks by a block,
so in addition to a click from the dropped packet you get a sync problem sometime later.

I've also wrapped this into a VST plug-in since the musician I'm working with uses a DAW and not Pd.

Meanwhile, it looks like the audio over OSC project (AOO) is _way_ ahead of jacktrip in terms of robustness and not-needing-jack.
There's a LAC paper ("towards message based audio systems" by Winfried Ritsch and an up-to-date implementation by
Christophe Ressi on http://git.iem.at/cm/aoo.  I cordially hate OSC but I think this is worth trying out.

stay well!
Miller

On Wednesday, March 25, 2020 at 10:29:18 AM UTC-7, Miller Puckette wrote:
Here's a bit of a progress report.  I talked with Chris Chafe yesterday and have had a first look at Roman Haefeli's implementation of jacktrip inside Pd.  First off, in case any of you are wanting to get up-to-date jacktrip, it's much better to work from the
feature/code_maintenance
branch of the git repo than master.  (It will get merged eventually but that might take some time to work out.)

Roman's tpf system (https://lac.linuxaudio.org/2019/doc/haefeli.pdf) is very clean and contains an abstraction (jacktrip.pd) that acts as a jacktrip client.  (Chris and I immediately saw the upside of considering jacktrip as a protocol rather than a standalone program).  I haven't finished looking at the server side of tpf but if I understand it correctly it needs a static IP address from which it accepts UDP connections and relays the audio packets between them all.

I think I can pretty quickly make a VST plugin (using Camomile) that just encapsulates Roman's jacktrip client. I'm not sure if I can get the whole of netpd working within a VST because it uses more UI features of Pd than I think Camomile supports.

I have one major need: I'd like to be able to use jacktrip asymmetrically - my ISP's upload speed isn't high enough to match the number of channels I'd like to be able to receive.  I think this is likely to be a common concern - many musicians will want to hear stereo and send mono, or get 8ch in and send 2 out.  (By the way, I think netpd manages exactly this situation somehow but I haven't understood how yet).

Looking beyond that, I think we'll eventually need a way to establish point-to-point jacktrip connections for two clients behind NAT (i.e. without publishable IP addrs), in which one only needs a central server to establish the connection, not to relay theaudio packets.(This is one of many things that webrtc does - I don't remember where I heard it but I think there are protocols running around that don't require all of webrtc to establish connections between clients without public IP addrs.)

Incidentally, long ago Olaf Matthes wrote netsend~ and netreceive~ objects for Pd which establish one-way connections.  I'm giving these a try too in case I can't get jacktrip working asymmetrically.

I'll report back in a couple of days once I've tried a few more things.

Miller

On Saturday, March 21, 2020 at 3:32:34 PM UTC-7, Miller Puckette wrote:
HI Sarah -

I've spent a few days thinking in general about how to connect with musicians in rehearsal settings.  At the moment I'm thinking about two approaches, webrtc (the layer underneath Zoom and jitsi) and jacktrip.  The advantage to webrtc is that it allows communication between computers even if neither one has a fixed internet address, and allows clients to "discover" each other.  The (huge) disadvantage is that you either have to run inside a browser or develop a whole new applicationlike Zoom.

So I'll assume jacktrip for the moment.  Its main disadvantage is that it assumes jack.  (I gather I can direct it to use rtaudio instead of jack but I think that would then go to physical I/O devices, which is not what I want either).

Why not wrap jacktrip into a VST plugin / Max/Pd object / supercollider ugen ? I think most musicians could handle at least one of those setups.  (I'm working with a percussionist who uses ableton so I'm after a VST plugin myself.  But if I make a Pd object I can then embed it in VST via camomile).

There's some mumbling in the jacktrip README that you can compile it as a library - should I try to do that and bake a Pd extern with it?  Is that likely to work?  (And/or is there some reason it's not a good idea?)

Thanks
Miller

On Thursday, March 19, 2020 at 1:57:04 PM UTC-7, Sarah Weaver wrote:
From the NowNet Arts Forum and Lab Ensemble, there is another request for the JackTrip "home version":

6) Interaction of JackTrip with other software connected at the same time if needed (e.g. Zoom for video) and the bandwidth issues (needs) or relationship between the two softwares. And communication via a simple chat window as it is the case of Soundjack, perhaps?

A few more topics for home version:

Can we look into wifi/satellite internet version at all? Replace audio dropouts with prior signal in real time? I have seen this done in post-production settings.

Can JackTrip run in a browser?

Is some compression ok? To reduce bandwidth requirements while maintaining passable audio, for those with low-bandwidth at home?

Can we use remote servers to shoulder the bandwidth and to work around system configurations for home use? I know some have tried this already and had success. Maybe we could maintain a remote server or a network of servers for JackTrip as a community, connected to the website?

Best wishes,
Sarah


On Tue, Mar 17, 2020 at 9:49 PM Sarah Weaver <sarahr...@gmail.com> wrote:
Great Mike! I agree a centralized website would be helpful as well. Wonderful to hear about your donation and that you're already getting it going..
Sarah


On Tue, Mar 17, 2020 at 3:48 PM Mike O'Connor <oconn...@gmail.com> wrote:
Here's another one for the list -- that shouldn't be too hard.

5) A good web site -- and all other web sites pointing at it.

Right now, a search on JackTrip turns up a whole bunch of confusing sites with contradictory information and circular references.  It's really hard to sort out what the true "good/current" implementations are.  A plaintive old-guy request -- please, not a gitHub archive.  I just bought the jacktrip.com and jacktrip.org domain names and will donate them to the cause.  I'm willing to maintain a very sparse web site on them for now, but it would be nice to find/form a stable "home" for the site (and the project). 

Thanks for taking the lead on this Sarah.

Mike

On Tuesday, March 17, 2020 at 10:11:01 AM UTC-5, Sarah Weaver wrote:
Hi Synthia, nice to meet you Thomas! I didn't know about Sofa Sessions, thanks for the link. Sounds similar to "e-jamming" platform from awhile ago too? Great to hear about "Jam Gang". 

Agreed about the threads here that JackTrip "home version" may be just as much about packaging for the public besides building out the code. 
1) Cross-platform
2) Installation designed for the public
3) User interface designed for the public
4) Chart of settings for various bandwidths and quality of service

Any other objectives for "home version"? Easier said than done, but can be useful to collectively identify areas for development.

Also would like to invite anyone interested to take part in the "NowNet Arts Lab Ensemble: Home Internet". I am hosting this at 10pmEDT daily online for the foreseeable future. Other times of day available by request. This lab ensemble is for contemporary artists and technologists to discuss and try out network arts pieces and technology tests on home internet. We will start on the available technologies and migrate to new technologies as they develop. Meet on this Zoom link: https://zoom.us/j/2588885627

More soon!
Sarah

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktri...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/b38f9b9b-ff8a-4cd1-bd72-632539293e25%40googlegroups.com.

Chris Chafe

unread,
May 13, 2020, 1:53:30 PM5/13/20
to jacktri...@googlegroups.com
Great name, Miller! -- Another reason for sequence numbers relates to the GPS sync measurements. I scratched my head till it hurt trying to find a simple way to see clock skew in real time from "inside" jacktrip. It turned out to have an easy solution: at the moment an outgoing packet is emitted check its sequence number and compare to the last incoming. The delta should be stable.

Chris

Miller Puckette

unread,
May 13, 2020, 2:37:04 PM5/13/20
to jacktrip-users

Aha - so the server and client keep their packet numbers in sync (with the server I presume repeating packet numbers back to client) so thath the client sees the true round-trip latency.  I hadn't caught onto that one yet.  (It's been moot for me so far since I've only been using this unidirectionally; in that case the sync issue looks quite different).
Incidentally, credit where it's due: quacktrip is loosely based on Roman's object; I simplified it and fixed it to remove external dependencies.

Mike O'Connor

unread,
May 15, 2020, 8:04:16 PM5/15/20
to jacktrip-users
i'm chewing on auto discovery today.

are there any STUN/TURN/ICE folks in the house?  a friend brought me to these protocols in response to my plaintive "how can we do auto-discovery with Jacktrip?" cry. 

STUN/TURN/ICE is the way a lot of VoIP providers remove the need for users/peers to specify their public IP address and port number when connecting and it seems to me a natural bolt-on for us, if we've got anybody that's got chops in that arena.  here's a Wikipedia entry for STUN, with lots of links off to the TURN/ICE stuff.


another gizmo he pointed me at was WebRTC.  that one completely baffles me, so i'm not sure it's useful, but i think it belongs in the same pile of "stuff to inquire about."  we were cogitating about possibly using "RTCPeerConnection".  same questions -- anybody tried/evaluated that?  here's the Wikipedia link for starters


James Mooy

unread,
May 21, 2020, 3:31:54 PM5/21/20
to jacktrip-users
Mike, Chris, Sarah, Michael et al,

Speaking on behalf of every jr .high, high school, and college instrumental and choral music educator on the planet, I cannot begin to tell you of the importance and urgency of your work. The current .5 second delay found in Zoom is our best option for a one click app that non-tech folks can install on OSX or Windows, but we cannot run our performance groups like with that latency. In the face of COVID related budget short-falls administrators are eyeing our groups for elimination. We are worried that if they are cut, they won't return. The Fall is looking dire for every instrumental music teacher out there. My programming skills stopped at Basic (yeah, I'm old) but I would happily serve as someone to ping a signal to on the central coast of California. I only have Win10 pro and OSX 10.11.6 El Cap, but would be happy to help in any way.

I've been following the Jacktrip Users group for a couple of months now.  Please let me know if there are other threads that I should be following. (...although, it looks like all of the Jedi Knights are here!)

Feel free to reach out.

Thank you,

Jim Mooy
Santa Barbara City College

Tam Saunders

unread,
May 22, 2020, 1:27:41 AM5/22/20
to jacktri...@googlegroups.com

Check out https://peerjs.com/index.html for possible webrtc based auto peer discovery. They have an OSS server  which may be of use. 



On 16 May 2020, at 01:04, Mike O'Connor <oconn...@gmail.com> wrote:


--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacktrip-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacktrip-users/59b40052-0ebf-485e-aa65-b05c4f7bdc05%40googlegroups.com.

Leonardo O. Gabrielli

unread,
May 22, 2020, 3:09:40 AM5/22/20
to jacktri...@googlegroups.com
Hello all,
relating to clock skew compensation there's this paper which proposes two solutions (one was prototyped in jacktrip, the other is implemented inside zita-njbridge)
If needed I can provide the paper and the jacktrip implementation (however it was done by a student of mine several years ago and I don't promise it is readable!)

Noah Horn

unread,
May 22, 2020, 8:48:20 AM5/22/20
to jacktri...@googlegroups.com
Dear everyone,

I echo others in saying that there are hundreds of thousands of musicians out there looking for a solution like JackTrip right now, including me, especially since in-person rehearsals with dozens of people packed into a room might not happen for a long time. I am both a music professor and also a full-stack web developer, so I have spent a lot of time on this in the past few weeks, given that many institutions will be going remote, or have some remote students in the fall. I have convinced my school to buy students Ethernet dongles to connect to their laptops, hopefully making it possible to rehearse on campus with students in their own dorm rooms or practice rooms. It seems to me that this could potentially work within cities, if all participants had Ethernet and connected to each other within a few miles. I have had little luck trying this out myself – I've asked about 15-20 people to try it within my local community, and nobody has Ethernet, but some are now awaiting dongles in order for us to try out the various options out there. For the tests which I did do, SoundJack and JamKazam had the best audio quality, while Jamulus and command-line JackTrip had serious audio issues. JamKazam, by the way, has raised $76k this month to improve their software, which shows the yearning in the general public for an online rehearsal & performance solution.

I know I am not the first to make this appeal. I thought I would share some of the results from my research, since I develop web apps using JavaScript, PHP, Node, etc. As soon as I discovered JackTrip, through faculty members at my school who had used it for telematic performances, I realized that it would be absolutely amazing if it could be built into a web app for musicians everywhere, and set out to figure this out myself. I saw on this forum that there was a team in Turin that has been working on this, and I would love to see their progress. WebRTC certainly seemed like the best option, as it has peer-to-peer capabilities, and I tried a number of things. However, the lag time was not suitable in my own tests. It was already noticeable on localhost, so it must have been > 20 ms just due to the software. Still, this would be better than Zoom's latency for local connections, but as a musician I'm trying to get everything under 25 ms so that it's satisfying to make music together.

Amongst others, I tried an audio-only chat room using EasyRTC ( https://easyrtc.com/products/easyrtc/ ), which runs on Node.js. This uses RTCPeerConnection. The sound gets compressed, which I thought might cause the delay. Everything else about it works beautifully. I also tried out PeerJS which was linked recently here, same latency as EasyRTC, since RTCPeerConnection is the obvious choice for sending audio when ultra-low-latency isn't needed. It was really nice to use a low-latency audio chat with others, since Zoom feels slow much of the time.

Wondering if I could emulate JackTrip and send uncompressed audio using WebRTC to reduce latency, I ran into someone else who had tried this before, a team at UNINETT IoU. ( https://in.uninett.no/live-audio-and-video-over-webrtcs-datachannel/ ) They used RTCDataChannel. Unfortunately, they did not manage to reduce the delay at all, according to their article, so I did not bother writing out a test script, or adapting the one they had published on GitHub. I also tried many other audio avenues using WebRTC, but nothing got me down to <25 ms just on my LAN, the way JackTrip-based apps do.

Ideas for future work on this front: it is possible that using AudioWorklet could reduce the latency enough to make this happen, if it can be made to process audio faster than RTCPeerConnection. I haven't found anyone out there who has tried it and published anything. Again I wonder what the team in Turin has figured out. Also, there is a JACK connector for Node ( https://github.com/unclechu/node-jack-connector ), so maybe JackTrip could be ported there, but then you'd have to ship Node with a desktop app, which is not what I'm after in a web app.

Here is my ideal spec for any app — if WebRTC had reduced the latency enough, I could have built all of this right now except the last three items, which seem beyond the capabilities of RTCPeerConnection, but would work with RTCDataChannel and I would have to study up on audio packet handling, or work with a team of others who know how to do it:
- Installation very straightforward, ideally not even required (in the case of a web app)
- Operates on email addresses and possibly usernames alone as unique identifiers, IPv4 and v6 all handled under the hood
- Displays estimated speed of connection to each peer, updated every 1 second (or to taste)
- Does not require port forwarding
- Allows one user to act as server for nearly unlimited connections if the latency is low enough (and the processing power is high enough) to push back the mix to everyone. I routinely rehearsed 100-person ensembles pre-Covid.
- Provides optional adjustment bars for network buffer, sample buffer, jitter, etc. for advanced users, to help provide control over reducing latency
- Automatically adjusts the above for optimal connection for basic users

I have some retired people in my ensembles who do not even have email addresses, and they are exactly the demographic who will be most reluctant to return to in-person gatherings, so the simpler app the better. I recognize that JackTrip is not geared for those folks at all in its original conception, but I think it could be adaptable, and I'm willing to do the adapting for a web app if the underlying latency of the audio connection is reduced enough. Though I have read all of the posts from the past few months of this forum, I freely admit that I am coming into this recently, and may be suggesting things that are either nearly impossible or not palatable, but honestly I simply have a lot of hope that this could happen one day. For now I am having my musicians use SoundJack and JamKazam as I found them the best options for the general public, but they are both dependent on their closed-source developers (1 developer for SoundJack, 3 for JamKazam), who are also having to provide support for the dramatic increase in users recently.

It may be years before musicians of all ages can safely gather in a room together. My life's mission is to bring more music to the world, and JackTrip seems like it has the most potential to power an app that can do exactly that. Apologies for the long post and any duplicate or naïve ideas I may have shared. Thank you for your time!

Sincerely,
Noah

Noah Horn
Interim Director of Vocal Ensembles, Oberlin Conservatory of Music
DMA, Yale University



It is loading more messages.
0 new messages