issue1
EMUSIC-L Digest Volume 8, Number 1
Today's Topics:
Cheap PC MIDI Interface
CD sample rate (2 messages)
The great workstation debate begins (2 messages)
Request for cheap Mac MIDI software
Oberheim Matrix-6 sys-ex spec available
Response to Super-JX patch request (2 messages)
Oberheim Cyclone review
Your EMUSIC-L Digest moderator is Joe McMahon .
You may subscribe to EMUSIC-L by sending mail to listserv@american.edu with
the line "SUB EMUSIC-L your name" as the text.
The EMUSIC-L archive is a service of SunSite (sunsite.unc.edu) at the
University of North Carolina.
------------------------------------------------------------------------
Date: Wed, 2 Aug 89 09:26:11 EDT
From: MLuma
Subject: Cheap PC MIDI Interface
Hello.
A friend of mine gave me a photocopy of an article on a local
magazine about a PC interface for the MIDI protocol. The article
suggests a total price of $ 5 (!) for the interface. My friend ask me
to build that marvellous link ....
Now I'm going on holidays, so I put the photocopy away, on the
deck of "to do" things. Here follows the text and the (small) source.
The original is in Italian and appeared on "Fare Elettronica"
n:49/50, Jackson Editore. It seems to me not a good magazine, but my
standard was Elektor, and nothing else has its (high) level.
This material IT IS NOT TESTED by me, so I do not endorse it.
#include
(C) Fare Elettronica, Jackson Editore
----------------------------------------------------------------------
MIDI is an asyncronous protocol with 1 start bit, 8 bit data, 1
stop bit and no parity, at 31250 baud speed.
The interface uses a modified COM2 (because the need of a
high priority interrupt). You must change the crystal with a 2 MHz
and solder four wire on some pins of the 8250 IC to skip the RS232
signal level amplifier (1488/1489 or 71150/75154). Here the drawing:
13+---+12 11+---+10 4700
8250.11 o->-----| A |O----+----| B |O---------www-----o din.5 \
+---+ | +---+ | MIDI OUT
| +5V o--www-----o din.4 /
| 22
|
+ 5V | 9+---+8 330 LED
o +----| C |O----www----|<----o +5V
| +---+
z
z 4700
z
| 2+---+1 1000
8250.10 o-<--+------------O| D |----+-----www----o +5V
+---+ | 22
| +----+---www---+
LED 330 4+---+3 | .......|.. | |
+ 5V o---->|----www----O| E |----+-----\| | . | o din.4
+---+ . |-- V . | MIDI
./| | . A 1n4148 IN
.|.....|.. | o din.5
| | | |
o +----+---------+
0 V
-the connections to the 8250 are in the form 8250.pin
-the A..E ports are from a TTL 7407 (the O is the out)
-all resistor are 1/4 Watt
-the photocoupler is TIL 111. His emitter is tied to 0 V and the
internal LED is connected with the 'line' (I always confuse cathode
and anode) to din.5. The 1n4148 is connected with the 'line' up, to
din.4 (is purpose is to protect the internal photocoupler's led)
-put a 100 microF 16V and a keramik 100 nanoF capacitors between
+5V and 0V lines.
(This drawing is made with VM/SP CMS 'hand' CAD program)
Here are the programs (sorry for choose BASIC, but the magazine
editor seems not to known anything else).
5 '
10 ' reads data from the port and put it on the screen
15 '
18 gosub 1000 ' set com port
20 if loc(1)=0 then goto 20 ' wait for input
30 a$ = input$ (1, #1)
40 a = asc (a$)
50 if a > 127 and a < 240 then print else print "," ' function code
60 if a >= 240 then color 0, 7 ' tempo code
70 print hex$ (a)
80 color 7, 0
90 goto 20
100 close: end
999 '
1000 ' com2 port setup
1001 '
1010 open "com2:9600,n,8,1" as #1
1020 out &h3fb, 128 + inp (&h3fb) ' set DLAB bit
1030 out &h3f8, 4 ' speed selection
1040 out &h3f9, 0
1050 out &h3fb, inp (&h3fb) - 128 ' reset DLAB bit
1060 return
4 '
5 ' interface test. Connect midi_in with midi_out
6 '
10 gosub 1000 ' set port, as first listing
15 for i%=1 to 10
20 print#1,"this is a sample"
25 input#1, a$
30 print a$
40 next i%
45 close: end
4 '
5 ' plays a scale on everything connected to midi out
6 '
10 gosub 1000 ' set port, as first listing
15 speed$ = chr$(127): note.off$ = chr$(0): note.len = 200: sil.len = 1
20 print#1, chr$(144); ' channel 1
25 restore: read nbre: note = 0
30 b$ = inkey$: if b$ = " " then goto 999
40 read note.on: note = note + 1
50 n$ = chr$(note.on)
60 print#1,n$;note.off$;
70 for i=0 to note.len: next i
80 print#1,n$;note.off$;
90 for i=0 to sil.len: next i
100 if note < nbre then goto 30 else goto 25
200 data 16,62,64,65,67,69,71,72,72,71,69,67,65,64,62,60
999 close: end
----------------------------------------------------------------------
BASIC is not my language (I spell pascal, c and the marvellous
assembly): I copied the listing as better I can do. Be careful with
the ";" after some print#1 statements (I discover them two minutes
before sending this mail).
I'll work to this little interface next september. If someone
wants to do some try, I'll like to have a check from him/her about
the results.
Have a nice hacking (and relaxing) time !
Marco Lumachi
------------------------------
Date: Wed, 2 Aug 89 17:12:00 CDT
From: ASDXLLL@OSUCC
Subject: Sample rate of digital recording?
I know I have asked this question before, but have since forgotten the
answer. What is the rate, in samples per second, of a CD quality digital
recording? The number 44100 seems to sound right, but I'm not sure...
Thanks in advance !!
Lonny L. Lowe
ASDxLLL@OSUCC
"Never listen to Red Barchetta (RUSH) while driving a high performance motor-
cycle through downtown traffic at 5:00pm" - me
------------------------------
Date: Thu, 3 Aug 89 09:07:00 EST
From: Chris Iverson
Subject: Re: CD sample rate
Lonny -
Your memory serves you well. 44.1 kHz is the correct sampling rate for CD's.
-chris
------------------------------
Date: Thu, 3 Aug 89 15:18:00 EDT
From: "Tim Stearns, MBCL"
Subject: A "workstation"?
Hello --
What's wrong with this picture? Anyone want to comment?
I'm considering getting a Roland W-30 "workstation". It's about $2200 here
in New Jersey. The idea is, to get good sampling quality and a tone bender
I like for live playing, and the potential to put together on a diskette,
along with a Roland 707 drum machine, several tracks of 4-minute songs which
I can cart into a studio and use as the backbone for recording other tracks
live.
I realize that I could put out more bucks and get more: more sound possibi-
lities, more memory, better quality in various ways. But I've got to be
practical. Could I get out of the W-30 a sound decent enough to be used for
radio jingles? Or 4-minute tracks decent enough to combine with live per-
formance? The brochure says the W-30 has 750K memory, enough for "15,000
notes, or 20 songs".
Yes, no, maybe? Thanks for any and all advice --
I'm quoting model names and numbers from memory, and may have them wrong;
hope the gist is clear in spite of that. This is also the first time I've
asked questions of the subscriber-list, and I may have the submission tech-
nique wrong ... Ah, well. Onwards and onwards and, occasionally, upwards.
Tim Stearns
Bitnet: STEARNS@BIOVAX
Internet: stearns@biovax.rutgers.edu
------------------------------
Date: Mon, 7 Aug 89 12:38:00 PDT
From: Willis Dair
Subject: RE: A "workstation"?
I just picked up a W-30 about a month ago, and I am pretty happy with it.
From the criteria you mentioned, it should fit the bill. It works very
well as a general sampler. The sounds are very clean. If you are familiar
with the Roland line of samplers, the W-30 is basically a S-330, the baby
brother of the S-550. You have 16 note polyphony, and 14.4 secs of samples
at 30K sample rate or 28.8 secs at 15K. You can use all the S-50 and S-550
library disks that Roland makes available for free to their sampler owners.
The sequencer is nice for a "workstation" (I hate that word!!). There are
16 tracks and each track can hold different MIDI events (controller changes,
patch changes) and also events from different MIDI channels. The sequencer
can read disks from Roland's MC line of sequencers too. I don't have an MC
unit, but from what I hear, the W-30 has most of the features of the MC units.
For me, I don't do as much with the sequencer for big projects. I use a
computer, because of the better editing functions. If I need portability,
I will later down load the sequences from the computer the W-30. If you hook
different synths up the w-30, there is a way to have 24 MIDI channels (8
internal to the W-30 and 16 external). The sequencer has can make the
distinction to send MIDI events to the internal W-30 sound module or to the
external MIDI out jack, or send to both.
If you are just cutting tracks at a studio, the floppy disks will work out
fine. The is about a minute load time to load the sequences and the sounds
for the sequences. This may not work out too well for 'live' performances,
because the wait time is too long. Actually, the sequences load quite quickly
about (5 seconds for an average 4 minute tune), it is the samples that take
a long time to load.
If you have more specific questions, drop me a line and I'll be happy to
answer them.
Willis Dair
System Programmer
Academic Computing Center
Santa Clara University
Bitnet: DAIR@SCU.BITNET
Date: Fri, 4 Aug 89 16:00:03 CDT
From: "Steven J. DeRose"
Subject: Low-end software
Hello, I'm new to the list, though have read some of the archives;
please excuse me if this posting is redundant --
I just saw a new Yamaha low-end Midi keyboard which seemed both nice
enough and cheap enough for me to finally start doing something about
my latent interest in the area; but I found that the only decent software
for my Mac II is still too *expensive*. So my question is:
How can I get into this without going broke? Is there a low-end
package that will let me talk to the MIDI bus, and save and edit the
stored data? I'd *really* like to be able to convert to and from
staff notation (instead of the raw pitch/duration tables I saw in some
programs), though I realize that's a good deal harder. Has anyone
written any code for this that they're willing to share? I can
program in any likely language, so would be willing to tweak source
as needed.
In case I find nothing available and get crazy enough to write it from
scratch, is there a standard or at least popular format for saving
a score? I'm familiar with the proposed SGML-conforming music encoding,
but am not fond of it, although I prefer SGML for text. If there's
an in-use standard, I'd prefer to fit into it rather than re-invent
the wheel.
Thanks much for any advice or help!
Steve DeRose
------------------------------
Date: Mon, 7 Aug 89 11:39:29 BST
From: Nick Rothwell
Subject: Matrix-6 SysEx.
I now have online a partial description of the Matrix 6 System Exclusive
information. I'll post it as soon as I've asked the guy I got it from if
he minds or not. It's essentially a description of how to send an entire
patch (plus matrix info as well, I think) to a Matrix-6. It doesn't cover
how to change a single parameter, or how to change play mode (e.g. splits),
or how to change edit mode (quick vs. the other type, which I think is
important for editing), or the format of the split data.
Can anybody fill in the missing links?
Nick.
--
Nick Rothwell, Laboratory for Foundations of Computer Science, Edinburgh.
nick@lfcs.ed.ac.uk !mcvax!ukc!lfcs!nick
^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^
Give me Roland analog or give me death!
------------------------------
Date: Mon, 7 Aug 89 10:57:01 BST
From: Nick Rothwell
Subject: Super-JX Patches ... who's got them ???
30 Jul 89 14:33:00 MET <5559.8907311129@lfcs.ed.ac.uk
>I'm also looking for Super-JX patches. It seems that this beautiful machine is
>not so popular with sound-programmers or are y'all satisfied with the built-in
>patches??
Well, I just bought one of these beasts the day before yesterday;
Super-JX rack, full price #1900, going for #500. And the sound is so
beautiful - smooth as silk.
I'm not that bothered about tracking down sounds for it; the voice
architecture is fairly straightforward, so programming it shouldn't be
too big a problem. The factory presets give a good selection of
starting points, and I've made reasonable progress programming my
D-50, which isn't too dissimilar. I'm going to try porting some D-50
sounds to the JX, by hand, I think.
If anybody digs up some sounds, though, I wouldn't say no...
Nick.
------------------------------
Date: Mon, 7 Aug 89 09:37:00 EST
From: JWK%OPUS@MCOIARC
Subject: RE: Super-JX Patches ... who's got them ???
>Well, I just bought one of these beasts the day before yesterday;
>Super-JX rack, full price #1900, going for #500. And the sound is so
>beautiful - smooth as silk.
So who has Super-JX machines for #500? Are these new machines? tnx.
joe
------------------------------
Date: Mon, 7 Aug 89 11:51:54 BST
From: Nick Rothwell
Subject: Cyclone review.
Well, I finally got a message asking for info about the Cyclone, so here's
some.
Just out of curiosity, does anybody know how well this machine is doing?
I find it very useful for generating ideas and building rhythm tracks
and so on, but its interface and general appearance are pretty ghastly.
If somebody had a System Exclusive spec. for this thing, I'd like to
add support to my generic patch editor... Maybe one day...
This isn't my original posting, by the way - it's Metlay's, from
rec.music.synth a while ago, so I thought I'd just forward it. Hope
you don't mind, Mike... I've omitted the part about putting out a
contract on Martin Cooper and forcing him to watch videos of K*te B*sh
lip synching to Tiffany songs.
--
The Cyclone is "quite a piece of gear" (to quote Jim Aikin from five years
ago when he reviewed *another* new Oberheim device....|-> ), and has a LONG
list of plus and minus points, which I'd like to go into now for those of you
who may be curious.
The basic idea behind the Perf/X line is as follows: not everyone wants to
rely on a computer-based software program to do (fill in the blank) in the
studio, because they can be slow, not terribly effective in real time, and
MOST IMPORTANTLY (before all of the computer-studio jocks out there flame me)
because a computer is usually busy elsewhere. It can be cheaper and more
effective to wire a "black box" in the MIDI stream which does a particular
type of data massage before passing it on, and to allow for various forms
of interactive realtime control in the process. So the basic Perf/X box is
a tiny computer with a limited instruction set, that accepts data from a
particular MIDI source, alters it in various ways, and passes it along to
a set of MIDI destinations. Each Perf/X box has a set of per-program setup
parameters, a set of master setup parameters, and four interactive control
switches (either via MIDI or hardware switches) for realtime work. The
current Perf/X boxes include:
1. The Systemizer (for distributing MIDI commands from a master to several
slave units in various ways; also included in the new OB8k's "brain")
2. The Cyclone (for arpeggiation and sequencing of data)
3. The Navigator (for mapping of keyboard and controller responses)
4. The Chordinator (for harmony creation from single-note lines)
...and a fifth box whose purpose is not yet announced.
Of these, I've only used the Cyclone. Seeing it described as an "arpeggiator"
and then using it leads me to believe that the Navigator is ANYTHING but a
simple "mapper", and the Chordinator is ANYTHING but a simple "one finger
chord box", etc., because there's no doubt that the Cyclone is ANYTHING but
a simple "arpeggiator." Yow!
I'll try to break down how it works in as simple a set of terms as possible.
(For the sake of simplicity I'll ignore the 16 factory presets, all of which
are very usable AND partially reconfigurable by the user in many important
ways, and concentrate on the 16 totally user-definable programs.) Basically,
the Cyclone takes data from any one of up to three Sources simultaneously,
alters it in a number of ways (see below), and sends it out to a single
Destination. (Note that if you're clever, this "destination" can be a System-
izer, and so you can split stuff off intelligently to up to four simultaneous
devices. It gets complicated REAL fast after that, so we'll leave off.) The
three sources are: two Keyboard Zones of arbitrary size and location, and
an internal memory called the Record Buffer (which holds up to 32 notes per
program). You hold notes in a certain Zone, or access the Buffer, and the
resulting input data is then arpeggiated or played straight through, depending
on what you're trying to accomplish. Because the Record Buffer holds realtime
or quantized rhythm as well as note4 names, AND the rhythm and note data are
separable, you can do things like drive keyboard-held notes from a prerecorded
rhythm or play back a sequence in sync with an external source. The usual
arpeggiation stuff can then be added, plus some bizarre twists: in addition
to straight arpeggation, the unit can auto-mutate the dynamics and tempo of
the line, transpose it according to a user-defined list of chord changes, add
notes of its own, etc. And you can define a voiceless Control Zone on your
keyboard where pressing notes can change parameters, set transpositions in
real time, or (in answer to my earlier gripe about it) step through the
arpeggiation pattern as keys are struck, either monophonically or polyphonic-
ally. So, if you set up a note you never play (say, c# three octaves below
middle c) as your Control Zone, and send regular beats on it from your drum
machine or sequencer, you have a perfect time-locked time base for your
arpeggiations, one that can be slid for "feel" alterations, syncopated, etc.
And if that's not all, you can perform any onboard edit or control several
dynamic parameters (legato or staccato phrasing, tempo, loudness) from a
MIDI switch, footswitch, or in some cases something like a pitch wheel,
pressure, or MIDI pedal. The third and fourth pedals are programmable per
patch; the first and second are master pedals. Pedal 1 has an audio sync
output for a metronome click for realtime recording to the Buffer, and Pedal
2 has a voltage input for 24, 48, or 96 ppq sync signals; either can be
defeated if desired, in favor of MIDI master or slave sync or some other
form of sync setup. And I KNOW I've omitted stuff.....
So what's the catch? The user interface. This sucker is not openly user-
hostile, but it's close: you have a set of buttons to access various pages
as laid out on a square menu grid, and two buttons to increment and decrement
pages and parameter values. The only display is a two-digit LED, which gives
alphanumeric page designations and "deciheximal" (sic) parameter values:
Oberheim represents numbers above 100 by replacing the tens digit with A, B,
c, and so on, so for instance 128 = C8, 102 = A2, and so on. Blegh! If a
well-made, powerful piece of MIDI gear ever cried out for a Lexicon MRC
setup or a HyperMIDI stack, this would be it. Most Perf/X boxes come with
a pull-out menu card under the front panel; the Cyclone can't, as its
instruction set is far too long. You use this sucker in two ways: programming
it and using it. For the latter, all you have to remember is which program's
where and what pedal does what (and there are only seven or eight per patch,
no problem, right?), but for programming, you're sunk without the manual.
I love this box. Love love love. I'm going to use it a *lot* more than any
sequencer in preparing my next album, because it combines basic sequencing
with a lot of very powerful options, and it does things no sequencer can
do. But it's not going to be easy.
Nick.
--
Nick Rothwell, Laboratory for Foundations of Computer Science, Edinburgh.
nick@lfcs.ed.ac.uk !mcvax!ukc!lfcs!nick
^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^
Give me Roland analog or give me death!
End of EMUSIC-L Digest
***********************