<div>Inspired by <a href="http://trac.jackaudio.org/wiki/WalkThrough/User/NetJack">http://trac.jackaudio.org/wiki/WalkThrough/User/NetJack</a> , I set out to hook up the better-playing MIDI keyboard (Yamaha SY77) connected to a USB MIDI device on my son's computer. Likewise I hope to reciprocate by letting my son send MIDI to the EIIIxp connected to my computer. </div>
<div><br></div><div>Unfortunately, neither audio nor MIDI seem to be sent over the net, even though qjackctl shows a netjack application under Jack MIDI. I didn't see any corresponding inputs and outputs under the ALSA MIDI panel of qjackctl (perhaps that's the problem, should I be using <a href="http://llg.cubic.org/tools/multimidicast/">http://llg.cubic.org/tools/multimidicast/</a> instead of netjack??)</div>
<div><br></div><div>In either case, hooking up inputs and outputs to the netjack midi devices is possible in qjackctl, it's just that no MIDI is actually sent. Testing audio -- same problem -- I can hook it up but no audio is sent. My use for netjack is strictly for doing remote MIDI to access other devices physically attached to other computers, so I don't actually need audio; which is why the examples below explicitly turn off audio I/O "-o 0 -i 0" ...</div>
<div><br></div><div>One thought is that I've only told "jack_netsource" about the number of midi channels to use. However for all i know it's binding the midi-through or an unused MIDI device on a USB audio device. How do you tell jack_netsource to talk to specific MIDI ports, such as "hw:2,0,0 Â UM-2 MIDI 1" or "hw:2,0,1 Â UM-2 MIDI 2" ...</div>
<div><div><br></div><div><div>Here's my notes on setting up netjack. Any suggestions on what I should be doing in order to get Jack Midi to actually work?</div><div><br></div></div></div><div>(0). Start JACK on the master machine: run qjackctl on gnulem</div>
<div><br></div><div>(1) Launch jack_netsource on the master JACK to connect your slave:</div><div><br></div><div>gnulem-173-~> jack_netsource -H coggie -o 0 -i 0 -O 2 -I 2</div><div>Not Connected</div><div>Connected :-)</div>
<div>netjack: at frame 000257 -> total netxruns 1 Â (0%) queue time= 46439</div><div><br></div><div>Note: usage: jack_netsource [options]</div><div><br></div><div>Â Â -h this help text</div><div>Â Â -H <slave host> - Host name of the slave JACK</div>
<div>Â Â -o <num channels> - Number of audio playback channels</div><div>Â Â -i <num channels> - Number of audio capture channels</div><div>Â Â -O <num channels> - Number of midi playback channels</div><div>Â Â -I <num channels> - Number of midi capture channels</div>
<div>  -n <periods> - Network latency in JACK periods </div><div>  -p <port> - UDP port that the slave is listening on</div><div>  -r <reply port> - UDP port that we are listening on</div><div>  -B <bind port> - reply port, for use in NAT environments</div>
<div>Â Â -b <bitdepth> - Set transport to use 16bit or 8bit</div><div>Â Â -c <kbits> - Use CELT encoding with <kbits> kbits per channel</div><div>Â Â -m <mtu> - Assume this mtu for the link</div><div>Â Â -R <N> - Redundancy: send out packets N times.</div>
<div>Â Â -e - skip host-to-network endianness conversion</div><div>Â Â -N <jack name> - Reports a different name to jack</div><div>Â Â -s <server name> - The name of the local jack server</div><div><br></div><div>(2) Start JACK with the net backend on the slave machine, use autoconf (default) to get default params from master started above.</div>
<div>coggie-79-~> jackd -R -d net --autoconf 1</div><div>jackd 0.118.0</div><div>Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.</div><div>jackd comes with ABSOLUTELY NO WARRANTY</div>
<div>This is free software, and you are welcome to redistribute it</div><div>under certain conditions; see the file COPYING for details</div><div><br></div><div>JACK compiled with System V SHM support.</div><div>loading driver ..</div>
<div>creating net driver ... net_pcm|48000|1024|3000|2|2|transport_sync:1</div><div>AutoConfig Override !!!</div><div>AutoConfig Override: Master JACK sample rate = 44100</div><div>AutoConfig Override: Master JACK period size is 512</div>
<div>AutoConfig Override: capture_channels_audio = 0</div><div>AutoConfig Override: capture_channels_midi = 2</div><div>AutoConfig Override: playback_channels_audio = 0</div><div>AutoConfig Override: playback_channels_midi = 2</div>
<div>MTU is set to 1400 bytes</div><div>netjack: period  : up: 512 / dn: 512</div><div>netjack: framerate: 44100</div><div>netjack: audio   : cap: 0 / pbk: 0)</div><div>netjack: midi   : cap: 2 / pbk: 2)</div><div>netjack: buffsize : rx: 4152)</div>
<div><br></div><div>Note: Parameters for driver 'net' (all parameters are optional):</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>-i, --audio-ins <span class="Apple-tab-span" style="white-space:pre"> </span>Number of capture channels (defaults to 2) (default: 2)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>-o, --audio-outs <span class="Apple-tab-span" style="white-space:pre"> </span>Number of playback channels (defaults to 2) (default: 2)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>-I, --midi-ins <span class="Apple-tab-span" style="white-space:pre"> </span>Number of midi capture channels (defaults to 1) (default: 1)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>-O, --midi-outs <span class="Apple-tab-span" style="white-space:pre"> </span>Number of midi playback channels (defaults to 1) (default: 1)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>-r, --rate <span class="Apple-tab-span" style="white-space:pre"> </span>Sample rate (default: 48000)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>-p, --period <span class="Apple-tab-span" style="white-space:pre"> </span>Frames per period (default: 1024)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>-n, --num-periods <span class="Apple-tab-span" style="white-space:pre"> </span>Network latency setting in no. of periods (default: 5)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>-l, --listen-port <span class="Apple-tab-span" style="white-space:pre"> </span>The socket port we are listening on for sync packets (default: 3000)</div><div>
<span class="Apple-tab-span" style="white-space:pre"> </span>-f, --factor <span class="Apple-tab-span" style="white-space:pre"> </span>Factor for sample rate reduction (deprecated) (default: 1)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>-u, --upstream-factor <span class="Apple-tab-span" style="white-space:pre"> </span>Factor for sample rate reduction on the upstream (deprecated) (default: 0)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>-c, --celt <span class="Apple-tab-span" style="white-space:pre"> </span>sets celt encoding and kbits value one channel is encoded at (default: 0)</div><div>
<span class="Apple-tab-span" style="white-space:pre"> </span>-b, --bit-depth <span class="Apple-tab-span" style="white-space:pre"> </span>Sample bit-depth (0 for float, 8 for 8bit and 16 for 16bit) (default: 0)</div><div>
<span class="Apple-tab-span" style="white-space:pre"> </span>-t, --transport-sync <span class="Apple-tab-span" style="white-space:pre"> </span>Whether to slave the transport to the master transport (default: 1)</div><div>
<span class="Apple-tab-span" style="white-space:pre"> </span>-a, --autoconf <span class="Apple-tab-span" style="white-space:pre"> </span>Whether to use Autoconfig, or just start. (default: 1)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>-R, --redundancy <span class="Apple-tab-span" style="white-space:pre"> </span>Send packets N times (default: 1)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>-e, --native-endian <span class="Apple-tab-span" style="white-space:pre"> </span>Don't convert samples to network byte order. (default: 0)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>-J, --jitterval <span class="Apple-tab-span" style="white-space:pre"> </span>attempted jitterbuffer microseconds on master (default: 0)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>-D, --always-deadline <span class="Apple-tab-span" style="white-space:pre"> </span>Always wait until deadline (default: 0)</div><div><br></div>Niels<br><a href="http://nielsmayer.com">http://nielsmayer.com</a><div>
<br><div>PS: Interesting Guide: <a href="http://orford.org/assets/jack.php">http://orford.org/assets/jack.php</a> (Sound Engineers Guide to Jackd)</div><div>PPS: what's the status of Jack2 in fedora and is it actually compatible w/ any of the sequencers and syths on planet-ccrma? Per <a href="http://trac.jackaudio.org/wiki/WalkThrough/User/NetJack2">http://trac.jackaudio.org/wiki/WalkThrough/User/NetJack2</a> Â netjack is also different. Does it work better or solve issues I'm having?</div>
</div>