Abstract:
Synthesizer models for emulating musical instruments are improved to take into account sympathetic string vibrations. One embodiment of the present invention scales an output signal from a sound synthesis model (220) and uses the scaled signal as an input signal for a number of single-string emulators (201-212) causing the single-string emulators to produce sound signals corresponding to sympathetic string vibrations. The output signals from the synthesis model (220) and from all of the single-string emulators (201-212) are added together. Another embodiment employs an octave's worth of single-string emulators to emulate the lower strings of an emulated instrument. Still another embodiment is a synthesizer which includes an input bus (220A) for accepting a sound signal, scaling means (244), a plurality of single-string emulators, and means for summing output signals from the string emulators. Embodiments preferably employ waveguide synthesis or the plucked string model to emulate single strings.
Abstract:
Exponential and pseudo-exponential decay function values are generated by scaling a fractional decrease per sampling period by a previous decay function value and then subtracting the scaled fractional decrease from the previous decay function value. In one embodiment, a multiplier multiplies the fractional decrease by the previous decay function value and provides a product signal representing the scaled fractional decrease. An adder subtracts the scaled fractional decrease from the previous decay function value. In another embodiment, a shift block replaces the multiplier and approximates multiplication by a binary shift of the fractional decrease. The size of the shift is determined by the previous magnitude of the decay function as indicated by a priority encoder. Shifting generates a pseudo-exponential decay function which is suitable for music synthesis and can be generated quickly using less expensive hardware.
Abstract:
A self-contained fully programmable digital signal processor (100) has two processors (101, 102) sharing, in parallel interleave fashion, a math unit (103) such as a multiply-and-accumulate circuit. A background processor (102) controls an external dram and preprocesses the information for a foreground processor (101). On-chip sram (107, 110) stores program parameters for both the foreground and background processors and facilitate information transfer between the foreground and background processors. The sram is time-multiplexed to permit access by the foreground processor, the background processor, and external devices without the expense of multiport sram. Flip-flops maintain data signals to the math unit while the sram is being accessed. The foreground processor has a custom instruction set that optimizes the implementation of complex music synthesis filter structures. An on-chip white noise generator quickly provides pseudorandom data for some of the instructions.
Abstract:
Synthesizer models for emulating musical instruments can be improved using an analysis model that compares the output signal (Y') of the model to a recording (S) of a desired sound and derives a residual signal (delta) that can be used to correct the model. When the original model is a good one, the residual signal is small and takes much less memory to store than is required for a sampled sound.