Title: | * * Computer Music, MIDI, and Related Topics * * |
Notice: | Conference has been write-locked. Use new version. |
Moderator: | DYPSS1::SCHAFER |
Created: | Thu Feb 20 1986 |
Last Modified: | Mon Aug 29 1994 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 2852 |
Total number of notes: | 33157 |
OK, digital sampling fiends, I have a question for you. Assume I have a good understanding of sampling technology but I am looking for an answer to an implementation question. Someone samples in a sound into a machine which has maximum sampling time of 1 second. He wants to make the sound sustain at a certain level while the keys are being held, so he loops it. Now, he wants to add a decay from another instrument which will begin when he releases his hand from the keyboard. How is this accomplished? How does the keyboard know how to put the two different samples together to form a complete sound? Does it simply append the second sample to the end of the first when the keys are released? What if the samples are at different amplitudes at the time that happens? Is some kind of amplitude smoothing alogorithm used? Thanks for any replies, Derek
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
203.1 | SAUTER::SAUTER | Wed Dec 11 1985 19:08 | 21 | ||
I don't know how real products do it, but I'll tell you how I'd do it if I were building such a synthesizer. First, I'd provide a "loop start" and "loop end" point in each sample buffer, so that any middle part of the sound would be looped, and releasing the key would let the loop fall through and play the decay part. Then, I'd make the instrument multi-timbral, so that more than one sample buffer could play at a time. The output would be the average of the samples being selected at any one instant. Given such a machine, I'd make the first buffer's "loop end" point be at the end of the buffer, so that it decayed instantly to zero amplitude when the key is released (plus up to one loop time) and removed itself from the machine. The second buffer would have "loop start" and "loop end" at the front of the buffer, so it does nothing until the key is released, then it plays its decay. Lots of variations are possible, given the architecture in the first two paragraphs above. John Sauter |