<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&#39;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&#39;t see any corresponding inputs and outputs under the ALSA MIDI panel of qjackctl (perhaps that&#39;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&#39;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&#39;t actually need audio; which is why the examples below explicitly turn off audio I/O &quot;-o 0 -i 0&quot; ...</div>
<div><br></div><div>One thought is that I&#39;ve only told &quot;jack_netsource&quot; about the number of midi channels to use. However for all i know it&#39;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 &quot;hw:2,0,0  UM-2 MIDI 1&quot; or &quot;hw:2,0,1  UM-2 MIDI 2&quot; ...</div>
<div><div><br></div><div><div>Here&#39;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-~&gt; 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 -&gt; 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 &lt;slave host&gt; - Host name of the slave JACK</div>
<div>  -o &lt;num channels&gt; - Number of audio playback channels</div><div>  -i &lt;num channels&gt; - Number of audio capture channels</div><div>  -O &lt;num channels&gt; - Number of midi playback channels</div><div>  -I &lt;num channels&gt; - Number of midi capture channels</div>
<div>  -n &lt;periods&gt; - Network latency in JACK periods </div><div>  -p &lt;port&gt; - UDP port that the slave is listening on</div><div>  -r &lt;reply port&gt; - UDP port that we are listening on</div><div>  -B &lt;bind port&gt; - reply port, for use in NAT environments</div>
<div>  -b &lt;bitdepth&gt; - Set transport to use 16bit or 8bit</div><div>  -c &lt;kbits&gt; - Use CELT encoding with &lt;kbits&gt; kbits per channel</div><div>  -m &lt;mtu&gt; - Assume this mtu for the link</div><div>  -R &lt;N&gt; - Redundancy: send out packets N times.</div>
<div>  -e - skip host-to-network endianness conversion</div><div>  -N &lt;jack name&gt; - Reports a different name to jack</div><div>  -s &lt;server name&gt; - 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-~&gt; jackd -R -d net --autoconf 1</div><div>jackd 0.118.0</div><div>Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O&#39;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 &#39;net&#39; (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&#39;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&#39;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&#39;m having?</div>
</div>