09/05/98 7:12 PM
MidiViaNet1.0 BETA
Copyright © 1998 Ebertronic LC
1. Installation
2. Setting network parameters on MidiViaNet
2.1 Basic
2.2 Advanced
3. Basic usage examples of MidiViaNet
3.1 General
3.2 Piping Midi data to a second PC
3.3 Slaving a PC to the Master
3.4 Real time Jamming via network
4. Notes
Note: MidiViaNet Version 1.0 does not transmit any SysEx Data. It is planned for Version 1.1...
MidiViaNet requires VB5.0 runtime and the TCP/IP network protocol installed. It is very possible that you have both already installed on your PCs. Follow the following steps ..
1.) Put MidiViaNet.exe and MidiViaNet.doc in some new directory of your choice. ("C:\Program Files\MidiViaNet")
2.) Start MidiViaNet. Chances are you might already have the Visual Basic 5.0 runtime on your machine, if not MidiViaNet will complain that it's missing (You will see a message box with message: "The dynamic link library MSVBVM50.DLL could not be found in the specified path ..) If that is the case get Visual Basic 5.0 runtime and install it. Follow the instructions supplied with the VB5.0 runtime install.
3.) Start MidiViaNet again. If TCP/IP is not installed it should complain again. Then install TCP/IP. (see Windows Help)
4.) Start MidiViaNet up again. You will get a message "Could not load last session parameters". This happens when running it the very first time (or when it cannot find the file "default.mvn" in which the last used paramteres are stored) After this it should run and you should see the Local Host IP Address filled in already.
5.) Install Midi Yoke (if you want virtual midi ports)
NT4.0 users ATTENTION
Before installing MIDI Yoke, make sure that you have already selected a default MIDI Output (like a soundboard) in Multimedia setup (Start - Settings - Multimedia - Midi Tab). If this is not done, it can wipe out your soundboard install.....it happened to us for unknown reasons and we had to re-install the soundboard.
6.) Repeat steps 1 thru 5 on every PC you want to link via MidiViaNet
Setting network parameters on MidiViaNet
1.) Start up MidiViaNet on both PCs: (PC#1 and PC#2)
2.) The Local Host IP Address should be filled in automatically on both PCs. Now take the Local Host IP address of PC#1 and type it into the RemoteHost IP Address field of PC#2. Then take the Local Host IP address of PC#2 and type it into the RemoteHost IP Address of PC#1. The port settings should be fine. Leave them alone. Now type a message in PC#1 hit Enter and you should see it on PC#2
Example:
PC#1: Remote Host IP Address: 92.3.23.3 PC#2 Remote Host IP Address: 92.3.23.99
PC#1: Local Host IP Address: 92.3.23.99 PC#2 Local Host IP Address:92.3.23.3
3.) MidiViaNet will automaticaly save your network and MIDI settings when you exit the program (to the file "default.mvn"). Upon restarting it will restore your parameters used in the prior session. However, you can save or restore custom settings via the File menu.
4.) Select the desired Midi ports and hit start. If the network settings are correct you will see "Not Connected" change to "Connected".
Port settings must match as well. Usually you don't need to change them. The default Port values are set to 4000. Lets change them now. Keep in mind that the setting of the IP address described above must be correct to start with.
Example:
PC#1: Remote Host Port: 567 PC#2 Remote Host Port:: 123
PC#1: Local Host Port: 123 PC#2 Local Host Port:: 567
1.) Make sure that TCP/IP works and that the 2 computers can "ping" each other
Basic usage examples of MidiViaNet
MidiViaNet can send and receive at the same time!
Everything from MIDIInput gets sent to the Network
Everything received from the Network will be sent to the MIDIOutput
Piping Midi data to a second PC
1.) With your main sequencer on your main machine you should see Midi Yoke devices (input and output). Select a MIDIYoke port as (additional) outport for your sequencer and assign the tracks (or clock data) you want to send to the other PC to the MIDIYoke Port.
[Sequencer Out]===>[ In MidiYoke Out]
2.) Now select the SAME MIDIYoke port as a MidiInput for MidiViaNet
[Sequencer Out]==>[ In MidiYoke Out]==>[ MidiIn MidiViaNet NetOut]
3.) MidiViaNet sends EVERYTHING it gets from MIDIInput over the network
[Sequencer Out]==>[ In MidiYoke Out]==>[MidiIn MidiViaNet NetOut]==>NETWORK
4.) On the receiving end (which also runs MidiViaNet) data will be received
NETWORK==>[NetIn MidiViaNet MidiOut]
5.) EVERYTHING received from MidiViaNet is then forwarded to the selected MidiViaNet MidiOutput, like a soundboard)
NETWORK==>[NetIn MidiViaNet MidiOut]==>Soundmodule (music)
So now the Slave plays everything you have on the master PC (without running a sequencer on the slave). You can have all MIDI tracks on the master sequencer and you just pipe them directly to the slave.
1.) Install MidiYoke on the PC you want to synchronize to the master. Select MidiYoke port X as MidiViaNet MIDIOutport. In your slave sequncer, select the same MidiYoke port X as Input port. Now everything received via Network will be sent into your sequencer (including clock.data). Make sure you have MIDI Clock sending enabled on the master. Good sequencers will allow you to select a output port for MIDI Clock independent of track settings. This way you don't send MIDI notes along with the clock.
But it does not hurt in any way if you choose to do send MIDI notes along with the clock.
They will then be played on the slave as well.
Clock from master==>[NetIn MidiViaNet MidiOut]==>[ In MidiYoke Out]==>[IN Sequencer]
Select the port where your Midi instrument is hooked up to as the input port of MidiViaNet. Set your Midi instrument so that it sends on Channel X. As output select the midi synthesizer of your choice. Now check the checkbox "Midi Thru" . This will allow you to hear what you are playing.
The person on the other PC should do the same thing, but set the midi instrument to send on Channel Y (must be different than channel X).
Patch changes have to be initiated from the Midi instrument (easy with a Midi Keyboard). Granted enough people ask us, we will implement patch change support in a later version. In the meantime we suggest the following workaround: Stop MidiViaNet and open your sequencer. On your sequencer select the patches of your choice for channel X and channel Y. Now start MidiViaNet again and the channel changes should take effect.
Statistics
You can monitor the amount of Midi events sent and received by checking "Update Statistic". However, checking it will put a little more load on your system.
The 1.0 release allows you switch the process priority of MidiViaNet between "high" (default) and "realtime". If you experience audible (Midi) delays you may set priority to "realtime". This will improve the MidiViaNet timing, but you may then experience timing problems with other applications.
For example: If you make extensive use of audio playback at the same time you may hear "stutter" in the audio playback when switching MidiViaNet to "realtime".
Last updated 11/02/99 19:57