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 ***********************