From alsa-devel-owner@alsa.jcu.cz  Mon Jan  4 23:07:37 1999
Received: from obelix.fvdpol.inter.nl.net (frank@vande-pol.demon.nl [212.238.75.184])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id XAA25586
	for <alsa-devel@alsa.jcu.cz>; Mon, 4 Jan 1999 23:06:18 +0100
Received: (from frank@localhost) by obelix.fvdpol.inter.nl.net (8.8.7/8.7.3) id XAA13929; Mon, 4 Jan 1999 23:06:01 +0100
From: Frank van de Pol <frank@vande-pol.demon.nl>
Message-Id: <199901042206.XAA13929@obelix.fvdpol.inter.nl.net>
Subject: Re: ALSA Sequencer API
To: pbd@op.net (Paul Barton-Davis)
Date: Mon, 4 Jan 1999 23:06:00 +0100 (MET)
Cc: alsa-devel@alsa.jcu.cz, andreas@avix.rhein-neckar.de (Andreas Voss)
In-Reply-To: <199901032004.PAA19186@renoir.op.net> from "Paul Barton-Davis" at Jan 2, 99 03:04:50 pm
Content-Type: text
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

Paul Barton-Davis wrote:
> 
> >> This echoing has to be aware of the midi message formats. Example: a user
> >> application does playback and sends out a 3 byte note-on event. After the
> >> first byte has been send out, an event from midi in is received. Now the
> >> driver must complete the midi out message before echoing the midi-thru
> >> event from midi-in.
> 
> I just want to note that although I think it is right that we have
> software implement this trick, proper MIDI hardware (i.e. not 99% of
> all soundcards) has a separate MIDI thru connector which does *not*
> contain MIDI out and MIDI in interleaved, just MIDI in.

Right, that's why I have a (hardware, 11 in, 6 out) MIDI patch-bay to route
MIDI data between my gear. 

> 
> Oberheim instruments have an interesting mode called "MIDI echo" where
> their MIDI out connector get all MIDI thru data plus the output of the
> instrument, but even when this is enabled, the MIDI thru connector
> just echoes MIDI in.

Interesting feature.
 
> The scheme Andreas is describing is not MIDI thru, but MIDI echo.
> Also, note that typical scheduling latency on most processors and
> systems (not just Linux, but all kinds of MIDI equipment) makes
> software-controlled MIDI thru problematic, since it typically smears
> the MIDI signalling, often with audible effects. Good MIDI thru uses
> optoisolators to directly connect MIDI in to MIDI out.

I think the so called MIDI echo function is very useful as MIDI data can be
processed (merging, remapping). Especially the mapping is usefull because
that allows an sequencer applications to 'echo' the incoming MIDI data to
the device & channel that is associated with the track that is being
recorded.

> 
> Since soundcards typically don't have 3 connectors, I'm not sure what
> can be done about this, and Andreas is probably right that we should
> use software to keep the semantics at the wire level correct. Still,
> something bothers me about this idea. I like the Oberheim model, and I
> suppose that what Frank and Andreas are suggesting implements this. So
> I should probably keep my fears to myself, and badger Turtle Beach
> into providing MIDI thru connectors as well as in and out.

If the TB cards use a UART at ttl level (5v) for MIDI i/o, it is fairly easy
to build a MIDI adaptor yourself. On this DIY interface you can provide a
real MIDI THRU connector if you want to. - I did that for my own sound
cards (works with GUS MAX, Ensoniq audio PCI and SB AWE64).

If you are interested I can beef up some schematic for you. If I recall
correctly there is even a description for such an interface in some of the
GUS FAQs. Let me know if you're interested.

Frank.

+---- --- -- -  -   -    - 
|Frank van de Pol                  -o)
|Frank@vande-pol.demon.nl          /\\
|                                 _\_v
|Linux - Why use Windows, since there is a door?
|
|ALSA Sequencer: http://www.vande-pol.demon.nl/alsa/

