摘要:
Techniques are described of efficiently identifying sets of audio parameters to be applied during a time frame. For example, a list of indicators may be generated. Each of the indicators in the list may indicate a Musical Instrument Digital Interface (MIDI) voice present in a MIDI frame. Furthermore, in generating the list, the indicators in the list may be restricted to those indicators that indicate the most acoustically significant MIDI voices in the MIDI frame. After the list is generated, a digital waveform may be generated for each of MIDI voices indicated by an indicator in the list. A combination of the waveforms of each MIDI voice may constitute an overall waveform for the MIDI frame.
摘要:
This disclosure describes techniques for processing audio files that comply with the musical instrument digital interface (MIDI) format. In particular, various tasks associated with MIDI file processing are delegated between software operating on a general purpose processor, firmware associated with a digital signal processor (DSP), and dedicated hardware that is specifically designed for MIDI file processing. Alternatively, a multi-threaded DSP may be used instead of a general purpose processor and the DSP. In one aspect, this disclosure provides a method comprising parsing MIDI files and scheduling MIDI events associated with the MIDI files using a first process, processing the MIDI events using a second process to generate MIDI synthesis parameters, and generating audio samples using a hardware unit based on the synthesis parameters.
摘要:
This disclosure describes techniques for generating a set of data points that form a triangular wave having a desired gain and a desired frequency. In one example, the method includes the step of (a) determining an increment value based on the desired frequency and the desired gain of the triangular wave. The method further includes the step of (b) adding the increment value to a current data point to generate a next data point, the current data point and the next data point forming a subset of the set of data points. The method further includes the step of iteratively performing (a) and (b) to generate the set of data points that form the triangular wave.
摘要:
This disclosure describes techniques for generating a set of data points that form a triangular wave having a desired gain and a desired frequency. In one example, the method includes the step of (a) determining an increment value based on the desired frequency and the desired gain of the triangular wave. The method further includes the step of (b) adding the increment value to a current data point to generate a next data point, the current data point and the next data point forming a subset of the set of data points. The method further includes the step of iteratively performing (a) and (b) to generate the set of data points that form the triangular wave.
摘要:
Techniques are described of generating a digital waveform for a Musical Instrument Digital Interface (MIDI) voice using a set of machine-code instructions that is specialized for the generation of digital waveforms for MIDI voices. For example, a processor may execute a software program that generates a digital waveform for a MIDI voice. The instructions of the software program may be machine code instructions from an instruction set that is specialized for the generation of digital waveforms for MIDI voices. In particular, the execution of one of the instructions may involve a selection of an operation based on a set of parameters that define a MIDI voice and the performance of the selected operation.
摘要:
This disclosure describes techniques that make use of a plurality of hardware elements that operate simultaneously to service synthesis parameters generated from one or more audio files, such as musical instrument digital interface (MIDI) files. In one example, a method comprises storing audio synthesis parameters generated for one or more audio files of an audio frame, processing a first audio synthesis parameter using a first audio processing element of a hardware unit to generate first audio information, processing a second audio synthesis parameter using a second audio processing element of the hardware unit to generate second audio information, and generating audio samples for the audio frame based at least in part on a combination of the first and second audio information.
摘要:
A method for providing variable root note support in an audio player is described. A file with Musical Instrument Digital Interface (MIDI) data and a set of user defined instruments is received. A metric is determined using a user defined root note in the user defined instruments, a key number for a MIDI note in the MIDI data, and a player specific root note. The key number is adjusted based on the metric.
摘要:
This disclosure describes techniques that make use of a waveform fetch unit that operates to retrieve waveform samples on behalf of each of a plurality of hardware processing elements that operate simultaneously to service various audio synthesis parameters generated from one or more audio files, such as musical instrument digital interface (MIDI) files. In one example, a method comprises receiving a request for a waveform sample from an audio processing element, and servicing the request by calculating a waveform sample number for the requested waveform sample based on a phase increment contained in the request and an audio synthesis parameter control word associated with the requested waveform sample, retrieving the waveform sample from a local cache using the waveform sample number, and sending the retrieved waveform sample to the requesting audio processing element.
摘要:
A unified filter bank for performing signal conversions may include an interface that receives signal conversion commands in relation to multiple types of compressed audio bitstreams. The unified filter bank may also include a reconfigurable transform component that performs a transform as part of signal conversion for the multiple types of compressed audio bitstreams. The unified filter bank may also include complementary modules that perform complementary processing as part of the signal conversion for the multiple types of compressed audio bitstreams. The unified filter bank may also include an interface command controller that controls the configuration of the reconfigurable transform component and the complementary modules.
摘要:
In general, the techniques of this disclosure may be used to control utilization of bandwidth allocated to an audio processing module. For example, to process various audio synthesis parameters, the audio processing module may retrieve reference waveform samples for use in generating audio information for voices within an audio frame, such as a MIDI frame. In some cases, the amount of bandwidth available for retrieving the reference waveforms from memory is limited. To manage the utilization of the allocated bandwidth a bandwidth control module estimates an amount of bandwidth required to retrieve reference waveforms for all the voices of the audio frame, and selects one or more voices to be eliminated from generated audio information when the bandwidth estimate exceeds the allocated bandwidth.