================================================================== Archived Messages: "Note Synthesizer" From: America Online Apple II Developers Forum. ================================================================== This topic is for the discussion of the Apple IIGS Note Synthesizer Tool Set (tool set #25). Type: Response Log Date: 88-03-17 20:01:53 EST Re: Re: Producing sound I have learned how to work the note synth and the free form synth and in learning this I found mention a few times that there is a way to start a generator playing attached to a random waveform. This would be used to produce sounds of explosions and noise. Can anyone tell me how to do this? Thanks, Doug Whatley Type: Response From: FL Jim Date: 88-03-19 16:00:44 EST Re: izer Where was that mentioned, Douglas? I'm still looking for good information on this tool. --Jim Type: Response From: DouglasW15 Date: 88-03-20 22:08:38 EST 88-03-20 22:08:38 EST CC: SYSOP jim Re: Re: Note Synthesizer I think I saw it in Gary Little's book EXPLORING THE APPLE IIGS. But I am not sure. I have been able to play sounds digitized using the supersonic digitizer from assembly programs but have so far been unable to get a C version working? I will let you know if I find the reference. Type: Response From: FL Jim Date: 88-03-20 23:02:13 EST Re: Re: Note Synthesizer The only two books I've found that talk about the Note Synthesizer are Gary Little's "Exploring the Apple IIGS" and Dan Gookin and Morgan Davis' "Mastering the Apple IIGS Toolbox." Type: Response From: AlbertW7 Date: 88-03-22 00:45:31 EST 88-03-22 00:45:31 EST CC: SYSOP jim Re: Re: Note Synthesizer I can tell where there definitely NO documentation for this tool: the Toolbox Reference! Apple says there will be yet another manual to describe this tool. When? Only God and Addison-Wesley know. Type: Response From: Jim Frison Date: 88-03-22 20:26:39 EST 88-03-22 20:26:39 EST CC: SYSOP jim Re: Re: Note Synthesizer Programming the Apple IIgs in C and Assembly Language by Mark Andrews (Howard Sams) contains a little bit of information on the Note Synthesizer *and* a 3-4 page program (in C) which permits the keyboard to be used as a "piano". It provides some clues to this tool set. Type: Response From: AIIDTS Date: 88-03-28 20:23:45 EST 88-03-28 20:23:45 EST CC: SYSOP jim Re: Re: Note Synthesizer The gary little book is an excelent reference for the note synthesizer. If you want to make an explosion note, you would have to load the DOC ram with 'random' white noise. ( believe it or not, you can get a formula for this from most good electronic music theory books ). I have found that picking a page of ROM and loading it works pretty good ( make sure you filter the sounds for any 0 bytes as they could cause the oscilator to prematurely stop...) Type: Response From: Nuzz Date: 88-04-16 23:05:50 EST 88-04-16 23:05:50 EST CC: SYSOP jim Re: Re: Note Sequencer Does anyone have a short source file in Assembly to give an example of calls to the note sequencer. Particular interest in _SetTrkinfo call. Second input is Instindex - is this a pointer to the instrument? There is also no mention of directing instruments to either left or right channels. Type: Response From: FL Jim Date: 88-04-17 09:04:18 EST Re: Re: Note Synthesizer Not me, but Morgan Davis or Jim Mensch could probably help you. I'll point them this way. Type: Response From: MDavis Date: 88-04-18 21:27:19 EST 88-04-18 21:27:19 EST CC: SYSOP jim Re: Re: Note Synthesizer InstIndex is not a pointer (not an address pointer, in other words). It's a 16-bit integer that corresponds to the instrument in the instrument table (i.e., 0 is the first instrument, 1 is the next one, etc.). Note that this specification is only relevant for the *track* you've specified with the TrackNum parameter. You can use bit 15 of InstIndex to specify whether or not internal voices are used (if bit 15 is set, internal voices are not used). Bit 15 of the TrackNum parameter decides if MIDI information is generated for a certain auxiliary track. That track is the low-nibble of TrackNum's high-byte. For example, if TrackNum was $0001, all information is played through internal Channel 1. To send MIDI output to an additional channel, say three, you would use a track number of $8301. I can't find any information on how to route sound to a left or right stereo channel, unless this is specified by the internal channels in TrackNum. Like everyone else, I'm short on info about the sound tools, too. Alas, one of the sticky points about the books I did was that Apple was TERRIBLE in getting any information at all to me. Dan, my co-author, struggled through our admittedly anemic chapter on sound. In fact, we had to procure all of our technical information from one of Apple's janitors after hours. I'm serious. (Well, perhaps not the janitor -- but we do have an inside contact who was there to help out when Apple's "Evangelists" failed to produce). It was maddening, and frustrating -- and I will not apologize to the readers for not having all the information we wanted to provide. Type: Response From: Nuzz Date: 88-04-18 22:30:48 EST 88-04-18 22:30:48 EST CC: SYSOP jim Re: Re: Note Synthesizer Ok. Instindex is an integer. To the instTable I guess? Morga, you have plenty more information than I have. All I have is the ERS dated August 1987. No mention or support for Midi back then. When you mentioned internal voices, I assume you are reffering to hard coded instruments? It would be strange if no provision was made for stereo playback. But then.......... Mike Nuzzi Type: Response From: AIIDTS Date: 88-04-18 23:37:05 EST 88-04-18 23:37:05 EST CC: SYSOP jim Re: Re: Note Synthesizer Geez, Apple IIgs tech note 19 tells how the channel bits are used to determine what stereo side your sound will come out of. dated june 1987! The note synth ERS has not been revised since the version you got. but then, it is acurate enough! the note seq and MIDI tools are not yet released, why would you expect published documentation. If you want, I do happen to know that developers can liscence the ers's for them ( by the way, the MIDI ers is particularly well written and very good at explaining everything you would want to do). Developer tech support has been sending out info on the note synth for a while as well as the sound manager stuff. Why must people always try to make it sound like a 'spy' game, when in fact it could be as easy as asking the right people for the info! if you are a registered developer, which you can easily become if you are an author, just ask Developer tech support. If not, why not pick up Gary little's book, it has a great discussion of the note synth... by the way, the low order bit of the channel nibble determines left and right, set for left reset for right. the higher bits are undefined and should probably not be used since they are undefined ( reference the tech note mentioned above...) Jim 'Cloak and dagger' Mensch Type: Response From: AFC DYAJim Date: 92-01-12 15:49:00 EST Re: Moved Message Path: IIGS Toolbox/MIDISynth Toolset Subj: Note Synth 92-01-12 13:08:22 EST From: Phantym Posted on: America Online I'm writing a program useing the NoteSynth toolset and having a billion headaches as a result. I'm using Orca/C, a simple li'l sine wave, a simple instrument record, and some asssembly source from a book as a guide. It runs very nicely, up to part where noise is supposed to appear. None does. I stuck in a call to FFGeneratorStatus. It told me that my generator was currently playing a Note Synthesizer noise, but this was so obviously contradictory to what I was hearing ( or not hearing ) that became irate. A dozen or two error trap routines provided no help. Also, the toolset adamantly refused to call my sequencer routine, no matter how hard I tried to persuade it to. Low-level debugging pragmas finally revealed a stack error. I said, well obviously I need a bigger stack, right? So I made a bigger stack. The compiler didn't like that and told me I had no bank 0 memory. I tried different stack sizes, including the supposed default of 0x8000, and there was always to little bank zero memory. What gives? I would reeeeeeeeeeeeeeeealy appreciate any help. Phantym Type: Response From: Phantym Date: 92-02-13 19:30:14 EST Re: ARGH! An update on my problems with the Note Synthesizer: My stack problems have gone with the removal of a printf call after my NewHandle call. What The HELL?! I said to myself. The waveform is okay. I checked it with a call to FFStartSound. It made a little *POP* noise. My Sequencer routine is still being ignored, and the NoteOn call refuses to produce noise. I'm getting annoyed. Phantym Type: Response From: GNO Tim Date: 92-02-13 19:50:26 EST Re: printf... Make sure each of your '%'s is EXACTLY the same as as what you're passing to it, otherwise your stack will get messed up. Since your print is right after a NewHandle I'm guessing you're displaying the handle or pointer returned from NewHandle.. if so, make sure it's a %ld... -tim Type: Response From: Phantym Date: 92-02-16 14:44:10 EST Re: Ah-Hah! That explains a few things! %ld, you say! gosh what won't they think of next! thanks Phantym