USB synthesizers

Gregory Nowak greg at romuald.net.eu.org
Sat Apr 3 22:33:21 EDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sat, Apr 03, 2010 at 04:26:45PM -0500, acollins at icsmail.net wrote:
> If I were writing a wish list, I could
> wish that the drivers for serial synthesizers could be modified to check
> for a usb serial port with a synth on it, and use that if found.  I've
> been told that this is a lot of work, and I'm not a programmer, else I'd
> volunteer to help.  But could you consider adding this to the Speakup
> to do list?

Though I am a programmer, I haven't done anything involving linux
internals, simply because I haven't had time to get around to
learning/reading about it. So, what I'm about to say stands to be
corrected by someone more knowledgeable than I. Some of what I'm going
to say has already  been addressed in a general sense in the past, but
I'm going to rain on the picnic specifically regarding your
suggestions below.

> In fact, I think the drivers, could be written to act much
> like the softsynnth driver, since when you plug a generic usb serial
> converter in, it gets assigned to /dev/ttyUSB and 1a number, starting at
> 0.  In this way, Speakup could simply use a generic usb to serial
> connection as soon as the usb system becomes available  after boot up,

Ok, while this does address how to talk to the usb to serial
converter, it doesn't tackle the problem of how to talk to the synth
attached to the converter. As has been mentioned before, speakup talks
to synths by directly banging on i/o ports, which have to be
configured as standard ttyS0-ttyS3 ports, and have to emulate a 16550a
uart as far as I know. From what I know, most (all?) usb to serial
converters out there use their own uart types, which means that as
things stand now, speakup would have to know how to specifically communicate with every single
usb to serial converter supported by linux now, and in the
future. Even if there are usb to serial converters which use/emulate a
16550a uart, none of them gets configured as a standard serial port
when it is plugged in, which means that speakup has no idea how to
talk to the synth attached to that converter.

Samuel has stated that this is bound to change soon, since more people
are wanting a structured framework for the kernel to be able to talk
to arbitrary serial ports, and that includes speakup.

> and any new drivers that needed to be written could be run in user
> space.  It seems to me that they could be written to use the softsynthn
> interface, but just written to output to a specifi synth on a specified
> ttyUSB device.  Thanks for your consideration in advance.

Even if the above problem weren't an issue, there's still the problem
of translating from the doubletalk command set (that's what softsynth
uses if I remember right), to the command set of whatever the current synth uses. That again comes back to the issue of speakup
being specifically aware of every supported usb to serial converter, and
synth out there, in order to know what i/o ports to bang on, and to
know how to convert from the doubletalk command set to the native
command set of the synth being used.

While you're idea may be doable, I'm afraid it's impractical. Besides
that, given the above factors, I think we'd find ourselves complaining
about how responsive the whole system is, and just deciding not to use
it in the end, in favor of software speech. Like I said, I'm by no
means an expert, and maybe your idea isn't as impractical as it seems
to be to me.

Greg


- -- 
web site: http://www.romuald.net.eu.org
gpg public key: http://www.romuald.net.eu.org/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)

- --
Free domains: http://www.eu.org/ or mail dns-manager at EU.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAku3+nEACgkQ7s9z/XlyUyAFWACeMce1iYy9hJai7wjNrlx+KosF
S+4AnjCJHnwsBNxQdsVIu+UvS7+Dw1gR
=l6e/
-----END PGP SIGNATURE-----



More information about the Speakup mailing list