I've posted a better sample of the output from my AppleCrate music synthesizer. I've eliminated the cassette transfer, so the speed and pitch are now exactly as it performs the piece. I've also slightly improved the voice, so that it is more "pianolike". A couple of minor (but nagging) bugs in the timing have also been fixed, so all notes in a chord that are supposed to sound together actually do. (This is a little trickier than it sounds, since the notes are scheduled on the machines with little regard for what that oscillator played previously. The result is that the same chord is often played by different machines at different times--and you shouldn't be able to tell the difference!) There are still "ticks" where notes "release", but I know how to get rid of them with more tricks... ;-) I'm adding "paging" to the MIDI conversion program, so that it can handle large MIDI files. I've also decided that a voice editor with real-time sampling of the edited voice would be very useful in building a voice bank, so there's another project... -michael New Applesoft BASIC interface for NadaNet networking! Home page: http://members.aol.com/MJMahon/ Bill Garber wrote: > "Michael J. Mahon" wrote in message > news:6MWdnVHtdappI97fRVn-vA@comcast.com... > > : Bill Garber wrote: > > : > One suggestion. Integrated the Nadanet with a IIgs instead of > : > the IIe. Incorporate the extra ram in the IIgs and then get the > : > Nadanet to play the entire piece in the IIgs ram. I know how > : > much you like the IIe, but others might like to know that they > : > can have 1, 4, or 8 MB of space to play music from. :o) > : > : Bill, it's no fun making a synthesizer for the IIgs--it already > : has a hardware synthesizer! And lots of supporting software. > > Understandable, but I thought in 8-bit mode and using the > extended memory of the IIgs you could do more. I see your > point though. > > : The point is to do it entirely with software and on machine(s) > : that "can't do that". And, of course, to use parallel processing > : to provide the multiple voices. > > Can we design a card to accomplish this, instead of putting the > eight IIe boards together?? I'd like to do something like that, > but I simply don't have the knowledge of sound frequencies that > you have, by far. A very close parallel to what I'm doing is the Mountan Music System pair of cards. They implemtented 16 digital oscillators (wavetable oscillators), and, when used in pairs, could synthesize timbre's that varied during a note (as used by Alpha Syntauri). The Mockingboard and similar cards generate only squarewaves with amplitude envelope control, so they are incapable of different "instruments"--like a piano. > : Making music with a IIgs is trivial--making music with //e's > : and no add-on hardware is quite tricky. ;-) > > That it is, and you've shown that it can be done. Great job, Btw. Thanks! I had a lot of fun making it work, and am having a lot of fun making it work better and more generally. > : BTW, it doesn't take much RAM. The longest note track for > : that nearly 3 minute piece is about 700 bytes. Of course, > : it takes 100% of a //e to produce one voice to 5-bit precision. > > Ah, I didn't think it was that small. I figured a few K to make > a voice play a note. That is a lot of hardware though, don't you > agree??? An "instrument" is about 4-8KB, but the music (notes and rests) are only 3 bytes each, for durations up to 6 seconds. The actual synthesizer code is spread out over 4KB, with about 3KB of unused space embedded in it (since the pulse generators have to be on 256-byte boundaries). I've put a few tables into the "holes", but it's still quite sparse. So "instruments" are the primary consumer of RAM. The Crate machines run without any OS, and only NadaNet loaded from $B800 to $BFFF, so everything from $800 to $B7FF is available for use. With SYNTH.CRATE loaded, space from $2900..B7FF is available for instruments and music. So far, that seems like plenty--even for percussion "instruments". With regard to using a whole //e to play a single voice--yes, the machine is completely consumed, and you could regard that as "a lot of hardware", but it is completely standard hardware that every //e owner has already, and the going "price" for //e's seems to be $5 to $10, which isn't "much" in the way of hardware. ;-) Besides, there is no other way to produce digitized sound on an _unassisted_ Apple II. -michael New Applesoft BASIC interface for NadaNet networking! Home page: http://members.aol.com/MJMahon/ aiiadict@gmail.com wrote: > Will you post the page of applesoft it took > to accomplish Crate.Synth? I would > like to see how you did it (perhaps with > comments/ write-up?) Yes, that's coming. (And thanks for your praise of its sound. ;-) I wanted to get it into a "closer to 1.0" form before publishing details, since it is precisely the details that are still being refined. ...Like getting rid of the pops. ;-) (I'm also hoping to get rid of the 120Hz "buzz" that my sound recording scheme is picking up--it's not in the Apple output.) I also wanted to lay the foundation for multiple instruments in CRATE.SYNTH before publishing. That requires it to allocate space for multiple instruments and "relocate" some tables on the fly, which is making it a bit longer than the "demo" version. I've also moved things around in memory to make all the free space contiguous. I will plan on publishing some interim reports and programs, though--probably after "tax time". ;-) -michael New Applesoft BASIC interface for NadaNet networking! Home page: http://members.aol.com/MJMahon/ I've just put a new .mp3 on my web site containing the latest sample of Crate.Synth output. The pops are _gone_ and the "piano" voice is somewhat better. I'm working on changes to the MIDI conversion program to support larger MIDI files and multiple velocities (amplitudes), with multiple-voice support not far off (especially since my model for multiple velocities is actually multiple voices). Now that most of the artifacts are fixed, the limitations of 5-bit accuracy are becoming more obvious... ;-) -michael New Applesoft BASIC interface for NadaNet networking! Home page: http://members.aol.com/MJMahon/ Simon Williams wrote: > Michael J. Mahon wrote: > > >>I've just put a new .mp3 on my web site containing the latest sample of >>Crate.Synth output. >> >>The pops are _gone_ and the "piano" voice is somewhat better. > > > The lack of pops is a significant improvement. Thanks--it worked exactly as I hoped! >>Now that most of the artifacts are fixed, the limitations of 5-bit >>accuracy are becoming more obvious... ;-) > > > Limitations? Let's call them "unique characteristics"... seriously, the > sound at this point seems very close to that produced by my [8-bit] DX-1 > sampler card. > I notice there is a "phaser" effect that coincides with the decay of > each note -- is this a side-effect of the pop reduction? Simon, I've put up a new sample (March 30) which shows the result of two changes: 1) I've reverted to a triangle-sine waveform--this eliminates most of the "phaser" sound that results when a waveform has a fast transition in it and decays slowly in amplitude. 2) I've fixed the MIDI timing bug that has nagged me for two weeks--I kept thinking that I had a synthesizer timing bug, when I actually had a MIDI timing bug related to changes in tempo. ;-) You will notice the reduced "phaser" effect and that the final chords are now tight together, without the advanced note of the prior versions. -michael New Applesoft BASIC interface for NadaNet networking! Home page: http://members.aol.com/MJMahon/