EP0953226A2 - Digital signal mixing architecture - Google Patents
Digital signal mixing architectureInfo
- Publication number
- EP0953226A2 EP0953226A2 EP98901809A EP98901809A EP0953226A2 EP 0953226 A2 EP0953226 A2 EP 0953226A2 EP 98901809 A EP98901809 A EP 98901809A EP 98901809 A EP98901809 A EP 98901809A EP 0953226 A2 EP0953226 A2 EP 0953226A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- slave
- dsp
- digital signal
- digital
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/02—Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
- H04H60/04—Studio equipment; Interconnection of studios
Definitions
- the present invention relates generally to digital signal processing, and more particularly, to an improved architecture for a digital signal mixer for processing audio signals.
- An audio mixer serves as the central component of any professional audio system by electronically blending, routing and enhancing sound sources, such as voices, musical instruments, sound effects, and audio tape, video tape and other live or pre-recorded material.
- sound sources such as voices, musical instruments, sound effects, and audio tape, video tape and other live or pre-recorded material.
- analog mixers have limited ability to recall or reconfigure the signal flow and other limitations or effects on audio mixing. Therefore, the professional audio mixer market (estimated by industry sources at approximately $1,000,000,000 in 1998) has looked to digital signal processing for the ability to manipulate the signal. Digital signals can be memorized and recalled, unlike analog, giving a total recall of all console parameters and real time automation of the same.
- digital signal processors have been very expensive, with pricing of upward of $ 1 ,000,000 per unit and useful only in a single location because of size.
- No digital signal processor has been able to achieve, at a consumer price point of less than $15,000 per unit, and of portable size, a multiplicity of functions including real time processing, an internal control processing unit with real time upgradeable and reconfigurable capabilities, remote processing and manipulation through device interfaces, hard disk and floppy drives, on-board and remote video monitor, and optional effects integration.
- the invented architecture comprises a master integrated digital signal processor (DSP) device coupled to a plurality of slave integrated digital signal processor (DSP) devices on a Direct Memory Access (DMA) bus.
- the master DSP performs functions that include data bus arbitration, calculating coefficient variables for each slave DSP, and transferring the coefficient variables to the slave DSPs.
- the slave DSP devices each preferably comprise a DSP device having an arbitrary number, such as n, of audio converters coupled thereto for processing n number of channels.
- the audio converters convert analog input signals to digital signals for processing by the DSP, and convert the processed digital signal to analog for output of the analog signal.
- a 48 channel audio mixing console comprising the digital signal mixing architecture of the present invention may comprise a master DSP and 24 slave DSPs, with each slave processing 2 channels of digital audio.
- the resulting system comprises a software configurable mixing system having 48 inputs and 48 outputs.
- a 16 channel audio mixing system using the invented mixing architecture could comprise a master DSP coupled to 4 slave DSPs, with each slave processing 4 channels of digital audio signals.
- This configuration results in a software configurable mixing console having 16 inputs and 16 outputs.
- a system having greater than 48 channels is achieved by providing a top level master DSP coupled to a plurality of second level master DSPs connected to their slave DSPs.
- the combination of two 48 channel audio mixing systems, each comprising a second level master DSP coupled to 24 slave DSPs would result in an audio mixing console capable of mixing 96 channels.
- the invented system achieves these features by coupling the master DSP to each of the slave DSPs and interconnecting the slave DSPs in a manner that enables the master to command each of the slave DSPs to write the results of its input signal processing to the internal memory of each of the other slave DSPs.
- the master DSP sends commands to the slave DSPs that instruct the slaves to transmit processed input signals to each other, so that each processed input signal is stored in an internal memory of each slave. Wherein, if there are 4 slave DSPs, each slave will have 4 processed input signals stored in its internal memory.
- the master can command any combination of the slaves to mix any of the processed input signals to create a mixed signal to send to its outputs to provide mixed digital signals ready for digital-to-analog (D/A) conversion or output.
- the master DSP device is initially activated to prepare the master to receive data from a Central Processing Unit (CPU) motherboard disposed within the mixer console.
- the CPU motherboard downloads data comprising a set of instructions, known as an executable file, to the master DSP.
- the master DSP Once the master DSP has received the executable file from the CPU motherboard, the master is reinitialized for processing the executable file.
- the CPU motherboard downloads executable slave DSP files which the master DSP distributes via a data bus to the slaves and writes the files into their internal memory.
- the slave DSPs then initialize themselves to prepare the system for running a digital audio signal mixing sequence.
- analog input signals are first converted to representative digital samples by the audio converters.
- a stream of input data, representative of the digital samples is transmitted to the inputs of the slave DSPs for processing.
- the slaves perform various prescribed signal enhancement functions, such as equalization and compression for instance, on each digital sample and place the resulting data into a selected output memory location.
- the master DSP instructs slave DSP 1 to place its processed signal on the data bus.
- the master latches the data into the memory of selected slave DSPs, depending upon the instructions contained in the master's executable file.
- the master then instructs slave DSP 2 to place its processed signal on the data bus.
- the master then latches the data from slave DSP 2 into the memory of selected slave DSPs. This process is repeated until the memory of each slave DSP contains the processed signal of each of the slave DSPs.
- each slave DSP contains the processed signal of each of the slave DSPs
- the master DSP generates a signal that instructs the slave DSPs to mix the processed signals in various combinations to create a plurality of output signals, representative of the number of slaves.
- the various combinations of mix are determined by default coefficient variables that are loaded into the memory of the slaves when their executable files are initially downloaded.
- Each slave then sends its mixed output signals to its associated audio converters, for providing a mixed analog output signal (or direct output if digital outputs connected to signal).
- This process is continuously repeated, and is only interrupted when the master DSP receives a new instruction from the CPU motherboard.
- the master DSP calculates new coefficient values and places the new values onto the DMA bus and writes the values into the memory of the selected slaves.
- the new coefficient values overwrite the default values and modify the audio outputs accordingly.
- Scripts are employed by the CPU motherboard to configure and control the mixer console.
- An image of a virtual mixer console may be displayed on a video monitor and the user may employ a keyboard and/or a pointing device to select objects in the image.
- Scripts are written in plain text.
- An editor may be employed to edit the scripts, so that features are enabled/disabled and the image displayed to the user is customized.
- Script updates may be downloaded from a remote computer or provided in a physical media, such as a floppy disk. Point to point modems, network interface cards and hubs may be employed to connect the CPU motherboard to the remote computer.
- New scripts and updates are data encrypted and the serial number of the mixer console is used as the public encryption key.
- RSA data encryption is used. However, other data encryption methods may also be employed to provide data security.
- a look-up table is employed to produce text displayed to the user, and any one of a plurality of languages may be selected.
- the digital mixing architecture of the present invention provides a system that is software configurable, so that a mixing console embodying the invention is easily reconfigurable and upgradeable. Additionally, the software configurable characteristics and channel expandability of the invented architecture provides a digital mixing console that is low cost to upgrade or reconfigure.
- FIGURE 1 is a block diagram showing an exploded view of a slave digital signal processor of a preferred embodiment of an architecture for a DSP system in accord with the present invention
- FIGURE 2 is a block diagram showing n channels of a slave DSP
- FIGURE 3 is a block diagram showing a first portion of a data processing path using the architecture of the present invention
- FIGURE 4 is a block diagram showing a portion of the data path using the architecture of the present invention
- FIGURE 5 is a block diagram showing a third portion of the data path
- FIGURE 6 is an overview schematic diagram of showing the architecture of the present invention, and several external elements
- FIGURE 7 is a flow chart illustrating the steps implemented in software by the master and slave DSPs;
- FIGURE 8 is a schematic block diagram of a computer system incorporated in the architecture of the present invention.
- FIGURE 9 is block diagram of the software modules incorporated into the architecture of the present invention.
- FIGURE 10 is a flow chart showing the steps employed to train the software for use with the mixer console
- FIGURE 11 is a flow chart illustrating the steps implemented at the startup of the mixer console
- FIGURE 12 is a flow chart displaying the steps used to interpret the configuration script
- FIGURE 13a is a first page of a text file that is inte ⁇ reted by the mixer script engine to produce the image of the desktop manager for the user;
- FIGURE 13b is a second page of the text file that is interpreted by the mixer script engine to produce the image of the desktop manager for the user; and FIGURE 13c is a third page of the text file that is inte ⁇ reted by the mixer script engine to produce the image of the desktop manager for the user.
- a mixer console 76 includes a Central Processor Unit (CPU) motherboard 66 that is coupled to a mixer control board 60.
- a plurality of switches 61 and lights 63 are connected to mixer control board 60.
- control actuators associated with mixer control board 60 are included to automatically position and/or lock the location of a particular type of switch, such as a linear slider, a push button, or a rotary knob (not separately shown).
- a Musical Instrument Device Interface (MIDI) port 71 is coupled to mixer control board 60.
- a serial (RS-232) port is employed to couple mixer control board 60 to CPU motherboard 66.
- CPU motherboard 66 is also coupled to a Liquid Crystal Display (LCD) 74, which provides a user with a visual indication of the status and/or operation of controls on mixer console 76.
- LCD display 74 may be another type, such as vacuum fluorescent or Light Emitting Diode (LED).
- switches 61 and lights 63 which are controlled by CPU motherboard 66, further provide the user with a visual indication of the status and/or operational information related to the state of the mixer control board.
- CPU motherboard 66 is in direct communication with a DSP board 62 through a special high speed serial port that is capable of operating at 900 kilobaud (currently running at 115 kilobaud in the preferred embodiment).
- a Universal Serial Bus (USB) or Fire Wire communication link could be employed to couple CPU motherboard 66 to DSP board 62 and mixer control board 60.
- DSP board 62 includes a master DSP 12 and from one to N slave DSPs (S r S N ) that are coupled in parallel with master DSP 12 on a Direct Memory Access (DMA) bus 28.
- DMA Direct Memory Access
- Coefficient values for use in determining the signal processing that will be applied are determined for all of the slave DSPs by master DSP 12, and these values are placed into a plurality (N) of latches 19, which are coupled in parallel to DMA bus 28. Each latch 19 corresponds to a particular slave DSP.
- a slave DSP Sj controls an Analog to Digital Converter (ADC) 18a that receives an analog signal on an analog input line 24 and converts the analog signal into a corresponding digital signal that includes time varying digital values.
- ADC Analog to Digital Converter
- DAC Digital to Analog Converter
- Sj latch 17 The digital output signal of slave DSP S t is stored in Sj latch 17, which is coupled in parallel to DMA bus 28. It is envisioned that a plurality of DSP boards may be coupled to CPU motherboard 66, so that the number of slave DSPs for processing analog signals may be increased accordingly.
- a channel's signal input may provided in a digital format that does not require analog to digital conversion prior to processing by slave DSP S.
- ADC 18a would not be provided to convert the input format of the channel's signal from analog to digital.
- DAC 18b would not be provided to convert the output format of the channel's signal from digital to analog.
- additional circuitry may be provided to enable slave DSP S to input and output the particular format of the digital signal, e.g., circuitry for processing Alesis Co ⁇ oration's Alesis Digital Audio Tape (AD AT), Tascam Co ⁇ oration's Tascam Digital Interface Format (TDIF), and the Audio Engineers Society/European Broadcast Union (AES/EBU) formats.
- AD AT Alesis Co ⁇ oration's Alesis Digital Audio Tape
- TDIF Tascam Co ⁇ oration's Tascam Digital Interface Format
- AES/EBU Audio Engineers Society/European Broadcast Union
- Selected channels could provide analog to digital (input only conversion), digital to analog (output only conversion), or digital to digital (no input or output conversion) formats.
- CPU motherboard 66 may optionally be coupled to a remote computer 52, so that additional services can be remotely provided or controlled.
- additional service would be updating software executed by CPU motherboard 66.
- Another such additional service might enable a technical service representative to troubleshoot a problem with mixer console 76 from a geographically remote or distant location.
- a video display 54, a pointing device 72 and a keyboard 50 are also preferably coupled to CPU motherboard 66, so that the user may control the operation of mixer console 76 based upon a displayed virtual image of the console.
- the user may employ pointing device 72 and/or keyboard 50 to select and/or modify elements in the virtual image that affect the operation of mixer console 76.
- the user may also operate mixer console 76 with switches 61 and observe the status of lights 63 when video display 54, pointing device 72, and keyboard 50 are not connected to CPU motherboard 66.
- An accessory card 78 is also preferably disposed within console 76 to provide additional features, such as selected audio effects, digital outputs, and synchronization signals.
- Accessory card 78 is then coupled to CPU motherboard 66 through a proprietary bus; a plurality of accessory boards may be connected to this bus. It is envisioned that third party developers may be licensed to provide accessory cards for the present invention. Although not shown, internal accessory boards may be coupled to CPU motherboard 66 that provide additional features, such audio effects.
- an overview flowchart 130 indicates the functional or logical steps performed by DSP board 62 in response to an instruction from CPU motherboard 66. From a start block, the logic moves to a block 132 in which master DSP 12 receives an instruction from CPU motherboard 66. The logic flows to a block 134, in which master DSP 12 determines the coefficients for each appropriate slave DSP in accord with the received instruction. The logic then advances to a block 136. In this block, master DSP 12 strobes a series of latches 19 (in FIGURE 6) that store the new coefficients. These latches are directly coupled to DMA bus 28 and each is associated with a particular slave DSP.
- the logic advances to a block 138, in which master DSP 12 strobes or commands each pertinent slave DSP to load its new coefficients from the latch 19 that is associated with that slave DSP. After these coefficients are loaded, a new output signal is provided by the slave DSP to another latch on DMA bus 28 that is associated with the slave.
- the logic advances to an end block and the processing of the received instruction is complete.
- an exemplary computer system 16 inco ⁇ orated in the architecture of the present invention includes CPU motherboard 66, a processor 31, a memory 64, an Industry Standard Architecture (ISA) bus 56, and a Peripheral Component Interconnect (PCI) bus 33.
- a PCI bus controller 58 and an ISA bus controller 57 are employed by processor 31 to monitor and control PCI bus 33 and ISA bus 56, respectively.
- most newer PCI bus controls implement the ISA bus behind the PCI bus, so the processor 31 accesses the ISA bus via the PCI bus controller, but, for simplification, separate ISA and PCI bus controllers are shown in the Figure.
- Memory 64 includes read only memory (ROM) 49 and random access memory (RAM) 35.
- the basic routines that are employed to transfer information between the components of CPU motherboard 66 are implemented by a basic input/output system (BIOS) 36, which is stored in ROM 49.
- BIOS basic input/output system
- An operating system 45 and a software program 46 are loaded into RAM 35 before the software program is executed by the processor.
- operating system 45 includes a kemel that employs Microdigital Co ⁇ oration's SMX suite of products; however, the invention is not in any way limited to use of this operating system or operation with this kernel. It should be noted that the SMX suite of products is ideally suited for real time control systems, because it employs pre-emptive tasking. Further details of the kernel used in the operating system are discussed below.
- CPU motherboard 66 optionally is coupled to a hard disk drive 37, which can be used to store software programs, script files, and data.
- the CPU motherboard may also be coupled to access the memory on other nonvolatile storage devices such as a magnetic disk drive 38, and an optical disk drive 40.
- Nonvolatile storage devices are coupled to either PCI bus 33 or ISA bus 56 by a hard disk drive interface 44, a magnetic disk drive interface 43, and an optical disk drive interface 42, as appropriate.
- Magnetic disk drive 38 is employed for reading and writing to a removable magnetic disk 39
- optical disk drive 40 provides for reading from or writing to a removable optical disk 41, such as a Compact Drive-Read Only Memory (CD-ROM) disk, digital versatile/video disk (DVD), or other optical media.
- CD-ROM Compact Drive-Read Only Memory
- DVD digital versatile/video disk
- Each drive and their associated media provide for the nonvolatile storage of computer readable instructions, and other data for use by CPU motherboard 66.
- different types of data may be stored by hard disk drive 37, magnetic disk 39, optical disk 41, ROM 49, and RAM 35.
- other types of media such as magnetic cassettes and flash memory cards (not shown), may be employed by CPU motherboard 66 for storing data.
- a user of CPU motherboard 66 may employ input devices such as pointing device (mouse) 29 and keyboard 50, to input commands and/or data. Although not shown, other types of input devices may also be employed with CPU motherboard 66, including a microphone, joystick, game pad, satellite dish, and scanner.
- An input device is coupled by an input/output (I/O) device interface 53 to processor 31 through either PCI bus 33 or ISA bus 56.
- I/O device interfaces may be employed to provide various ports, such as serial, parallel, game, small computer serial interface (SCSI), universal serial bus (USB) and Fire Wire, for connecting different types of input/output devices to CPU motherboard 66.
- a mixer board 60 may be coupled to a port using an appropriate I/O interface. Also, interfaces for one or more analog-to-digital converters (ADCs), digital-to-analog converters (DACs) - other than those on DSP board 62, digital input/output, encoders, video frame grabbers, and other equipment that might be used in a process may optionally be included.
- Display 54 is connected to CPU motherboard 66 through a video adapter 48 that is coupled to processor 31 through either PCI bus 33 or ISA bus 56.
- CPU motherboard 66 is shown operating in a networked environment that employs logical connections to one or more remote computers, such as a remote computer 52, which may be a server, a router, a network personal computer (NETPC), or another CPU motherboard, and typically will include many of the elements described above that are used on or with CPU motherboard 66.
- a network interface 59 is coupled to processor 31 through either ISA bus 56 or PCI bus 33.
- Network interface 59 is also coupled through a local area network (LAN) 51 to remote computer 52.
- LAN 51 is employed to provide the connection between CPU motherboard 66 and a networked environment that may include an office network, an intranet, and the Internet.
- programs that are executable by CPU motherboard 66 may be stored in the memory of remote computer 52.
- other means such as a modem 47, may be employed to establish a connection, such as through a wide area network (WAN), between CPU motherboard 66 and remote computer 52.
- WAN wide area network
- network interface 59 and modem 47 could be disposed external to mixer console 76.
- DSP board 62 is coupled to I/O controller 53. As noted above, a high speed serial communication port is employed for communication between DSP board 62 and CPU motherboard 66. DSP board 62 enables the real time processing of audio signals by executing over 3 billion instructions a second. Further, DSP board 62 can process all signals on all channels in 20 microseconds or less.
- DMA bus 28 is shown as 16 bits wide, the present invention may be implemented on a bus that is 32 bits wide or greater. Also, the bus resolution is compressed to a lower resolution using dithering while retaining signal integrity below the noise floor. For example, the 16 bit DMA bus provides 20 bit resolution using UV22® software licensed from Apogee Co ⁇ oration.
- a digital signal mixing architecture 10 for applications such as digital mixing consoles configured according to the present invention is illustrated.
- N 48 or more channels depending upon the desired configuration of the architecture.
- a plurality of systems inco ⁇ orating this preferred embodiment of architecture 10 may be combined to form a mixing system capable of mixing substantially more than 48 channels.
- the architecture 10 includes master integrated DSP (DSP) device 12 coupled to the plurality of slave integrated DSP (DSP) devices S via DMA bus 28 that is used for sending commands to the slaves S and for moving data between the slaves.
- the master DSP 12 is provided to perform a number of system host functions including data bus arbitration, downloading of processing algorithms, transferring coefficient variables, and communication to external peripheral devices through RS232, RS422 (ESAM), MIDI ports, and CPU motherboard 66, for example.
- the slave DSP devices S each preferably comprise a DSP device S connected to an arbitrary number, such as n, of ADC 18a and DAC 18b for processing n channels C.
- each of the slave DSPs S is preferably adapted to process n channels C, with n ranging from 1-8, depending upon such factors as the number of converters 18, processing power requirements, and system functionality (which includes consideration of requirements for equalization and dynamics processing), for example.
- each of the slaves S is configured with an input line 24 for each ADC 18a coupled thereto.
- Processing logic circuitry 26 is coupled to the input lines 24 for performing various prescribed signal enhancement or sweetening functions, such as equalization and compression for instance, on each received digital sample and for placing the resulting data into a selected output memory location, such as channel out internal memory locations Ml-Mn.
- the processed sample is then mixed (as discussed hereinbelow) for output to the appropriate DAC 18b, which produce the mixed analog output signals 22.
- the master DSP 12 sends commands to the slave DSPs S that instruct the slaves DSPs S to transmit the processed input signals to each other via DMA bus 28, so that each processed input signal is stored in the internal memory location M of each slave S.
- each slave DSP S and the master DSP will have four processed input signals stored in its internal memory locations M1-M4.
- master DSP 12 can command any combination of the slave DSPs S to mix any of the processed signals to create a mixed digital signal to send to its outputs 30 thereby providing mixed digital signals for D-A conversion by the DACs 18b, which produce the mixed analog output signals 22.
- master DSP device 12 is initially activated by an EPROM device (not shown), for example, to prepare the master DSP to receive data from a peripheral device, such as CPU motherboard 66.
- CPU motherboard 66 downloads data comprising a set of instructions, known as an executable file, to master DSP 12.
- master DSP 12 is reinitialized for processing the executable file.
- CPU motherboard 66 then downloads executable slave DSP files to the master DSP 12, which the master DSP distributes via DMA bus 28 to the slave DSPs S and writes the files into their internal memory locations M.
- the master DSP executable file contains instructions relating to such host functions, including data bus arbitration, transferring coefficient variables, and communication to external peripheral devices, while the slave DSP executable files contain instructions such as default coefficient variables.
- the slave DSPs S After the slave DSPs S have received their executable files, the slave DSPs S initialize themselves to prepare architecture 10 for running a digital audio signal mixing sequence.
- a current preferred embodiment of architecture 10 is capable of providing a mixing system that is expandable from 1 to 48 channels, for illustrative pu ⁇ oses, the following discussion is directed to a four channel system.
- analog input signals are first converted to representative digital samples by the ADCs 18a.
- a stream of input data representative of the digital samples generated by ADCs 18a, are transmitted to input lines 24 of the slave DSPs S for processing.
- the processing logic circuitry 26 of the slave DSPs S performs various prescribed signal enhancement functions, such as equalization and compression, on each digital sample and places the resulting digital data into the corresponding channel out memory location Ml-Mn.
- the data processing path 32 continues as shown in FIGURE 4, wherein after each digital sample is processed by each slave DSP S, master DSP 12 instructs slave DSP SI to place its processed digital signal, which is stored in its channel out memory location Ml-Mn, on DMA bus 28. Master DSP 12 then latches the data into the memory location M of selected slave DSPs SI -Sn, depending upon the instructions contained in the master DSP's executable file. Master DSP 12 then instructs slave DSP S2 to place its processed signal, which is stored in its channel out memory locations Ml-Mn, on DMA bus 28. Master DSP 12 then latches the data from slave DSP S2 into the memory location M of the master DSP and selected slave DSPs Sl-Sn.
- each slave DSP S will have four processed input signals stored in its internal memory locations M1-M4.
- master DSP 12 generates a signal that instructs the slave DSPs S to mix the processed signals, using mixing logic 34, in various defined combinations to create a plurality of output signals corresponding in number to the number of slave DSPs S.
- the various combinations of mix are determined by default coefficient variables that were loaded into the memory of the slave DSPs S when their executable files are initially downloaded.
- Each slave DSP S then sends its mixed output signals to its associated DAC 18b, for providing the mixed analog output signal 22.
- master DSP 12 receives new coefficient variables from CPU motherboard 66.
- master DSP 12 places the new variables onto DMA bus 28 and writes the variables into the memory locations Ml-Mn of the selected slave DSPs Sl-Sn.
- the new coefficient variables overwrite the default values and modify the audio output signal accordingly.
- the operating system employs a kernel 80 that includes a task manager 82 for scheduling pre-emptive tasks according to predetermined priorities.
- a serial communication module 85 controls the serial transfer of data between CPU motherboard 66 and other components, such as mixer control board 60.
- a loader 86 enables the execution of compiled code, and a device driver 88 implements the operation of I/O devices, e.g., keyboard 50, mouse 29, and display 54.
- a BIOS 84 is included with kernel 80 to control the operation of various subsystems associated with input and output to and from CPU motherboard 66.
- a file system 83 is included to organize files within the operating environment.
- An automation engine 87 inte ⁇ rets a configuration script 89 that defines the type (model) and components (switches and lights) provided on mixing console 76.
- Automation engine 87 constantly monitors the communication with the mixing console and controls the operation of CPU motherboard 66, DSP board 62, and mixer control board 60. For example, if the user adjusts a fader switch (not separately shown) that is coupled to mixer control board 60, then automation engine 87 immediately implements code that directs DSP board 62 to process the channel signals in a manner that corresponds to the disposition of the fader switch.
- automation engine 87 directs mixer control board 60 to employ its control actuators to move switches to a particular location, illuminate specific lights, and to provide instructions to DSP board 62 for the processing analog input signals in accord with the disposition of the switches and controls. Also, when mixer console 76 is in a manual mode, automation engine 87 provides instructions to DSP board 62 that map the processing of the analog signals to the disposition or state of the switches.
- a mixer script engine 90 inte ⁇ rets a desktop script 92 and produces a desktop manager 94 for display to the user.
- An image of a virtual mixer console 96 is produced in the initial window displayed to the user in the desktop manager 94.
- An event manager 91 handles the display in the desktop manager environment, e.g., the position and selection of objects in the image of virtual mixer console 96.
- Automation engine 87 implements the highest priority tasks and event manager 91 asserts the lowest priority tasks. In this way, the audio signal processing tasks implemented by mixer console 76 are always given a higher priority than displaying the image of virtual mixer console 96.
- the highest priority task is associated with user input, which may occur if the user selects objects in the image of virtual mixer console 96 or moves any of the switches. In any case, no more than a 10 millisecond latency occurs before an analog signal is processed by the components of mixer console 76.
- FIGURE 10 an overview 103 of an automatic training sequence implemented by the present invention is shown.
- the logic proceeds from a start block to a decision block 105 and determines if there is a switch map and an LED map available for use by automation engine 87. These maps provide addresses that correspond to the actual switches and lights coupled to mixer control board 60. If true, the logic jumps to an end block and the automatic training sequence logic is terminated.
- the logic advances to a block 107, which indicates that automation engine 87 polls mixer control board 60 for each address that corresponds to a switch in the mixer console, which is coupled to the control board.
- the logic moves to a block 109, and a switch map is built that associates each such switch with a corresponding address.
- the logic flows to a block 111, which indicates that engine 87 polls mixer control board 60 for each address that corresponds to a indicator light coupled to the control board.
- the logic advances to a block 113. This block provides for building an light emitting diode (LED) map that associates each indicator light or LED with a corresponding address.
- LED light emitting diode
- the initial training sequence for automatic engine 87 could also be performed manually by the user.
- the user of mixer console 76 could manually actuate every switch and control disposed on the console, so that automation engine 87 could sense the presence (address) for each device, including the indicator lights.
- FIGURE 11 an overview 102 of the startup sequence of the present invention is shown.
- the logic advances to a block 104 in which a switch map is loaded that identifies the corresponding address for each switch disposed in mixing console 76.
- the logic moves to a block 106, in which the LED map is loaded, identifying the corresponding address for each indicator light on the mixing console.
- automation engine 87 inte ⁇ rets configuration script 89.
- This script indicates a type of feature or function and enables/disables operational features of mixing console 76. For example, a surround sound mixing control may be enabled by configuration script 89, and an equalizer control may be disabled by the script.
- the logic then steps to a block 110, and automation engine 87 creates an automation engine buffer for storing a plurality of values, such as preset configurations.
- the logic advances to a block 112, wherein mixer script engine 90 inte ⁇ rets desktop script 92, which is employed to define the image presented to the user in the initial window of desktop manager 94.
- the desktop script determines the virtual switches, lights, and controls displayed to the user in a particular window.
- the displayed objects in each window are graphical representations of the corresponding elements of mixing console 76, and show the states of those elements.
- the logic moves to a block 114.
- the image of the initial window of desktop manager 94 is displayed to the user.
- the initial window includes the image of virtual mixer console 96.
- the initial window may also be configured to provide software controls that enable the user to select a different window that displays the image of the virtual mixer console or additional mixer console features.
- the logic flows to an end block and terminates. Looking now to FIGURE 12, further details of the logical steps implemented in block 108 are provided. Moving from a start block, the logic flows to a block 116, indicating that automation engine 87 sets a type for mixing console 76, which is identified in the configuration script. The logic flows to a block 118 in which the address for each switch and light is set.
- the logic sets the name for each addressed switch and indicator light.
- the logic advances to a block 122, and a maximum value for each switch is set.
- the logic then proceeds to a block 124.
- the initial value (or state) for each switch and indicator light is set. Typically, the indicator light and switch initial values are zero.
- the logic moves to a block 126, where each switch and indicator light is designated as either an automatic or non-automatic device. Finally, the logic returns to the main routine.
- FIGURES 13 A, 13B, and 13C an exemplary representation of a desktop script that employed by mixer script engine 90 is provided.
- the script text may be edited with a text editor, such as Microsoft Co ⁇ oration's NOTEPADTM.
- An important feature of the present invention is the use of a script that employs real language text to define the operation of mixer console 76 and to define the images displayed to the user. Also, since the scripts are inte ⁇ reted, they may be updated on the fly without requiring any reboot of CPU motherboard 66.
- the user of the present invention may obtain updated configuration and desktop scripts to correct software bugs and to provide new features for mixer console 76. These updates may be provided through a network connection to remote computer 52, or over the Internet, or may be stored and transferred from a physical media, such as a floppy disk.
- Script updates are preferably encrypted to prevent unauthorized changes in the operation and control of the mixer console.
- RSA encryption is used and the serial number of mixer console 76 is employed as the public encryption key. In this manner, script updates can be provided that are limited for use with a particular mixer console.
- an editor may be provided for the user to edit the desktop and/or configuration scripts - at least to a limited extent.
- the editor would enable the user to customize the look and feel of the images of the virtual mixer console and enable/disable features of the mixer console 76.
- new combinations of features could be developed by the user with the editor.
- a look-up table is employed by mixer script engine 90 to build the real language text displayed to the user.
- the software enables the user to select any one of a plurality of different languages in the look-up table as the real language text. Also, the software will automatically clip out of range parameters in a script and define hot keys. Additionally, the ordering of the text in a script determines screen overlap for objects and/of windows defined by the text. Further, scripts can be nested in calls from selected objects in the initial window produced for the desktop manager.
- the user may employ a "swipe command" to instantaneously change the state of a plurality of switches with the passage of a cursor over objects (virtual switches) displayed in the image of virtual mixer console 96.
- a "swipe command" to instantaneously change the state of a plurality of switches with the passage of a cursor over objects (virtual switches) displayed in the image of virtual mixer console 96.
- Preset configurations for controls associated with mixer console 76 may be stored and enabled, or the configurations may be changed.
- a plurality of different audio effects may also be implemented by the software.
- the center point of a plurality of channels for a surround sound mix may be selected with a software control. Further, two different center points may be selected so that mo ⁇ hing and flyback effects may be produced.
- a plurality of addressable software controls may be configured to correspond to a single channel.
- a plurality of script templates could be provided to the user for enabling different features and displays.
- Alternative embodiments of the present invention may be used for processing audio signals in radio and television studios, live performances, and public address systems. Further, the present invention could be employed to control a plurality of lights in a studio or during a live performance.
- the architecture of the present invention provides a system that is software configurable, so that it can be applied to many other applications besides its disclosed use in a mixing console.
- An application embodying the present invention is easily reconfigurable and upgradeable, since the architecture is readily extensible.
- the software configurable characteristics and channel expandability of the present invention provide a clear benefit.
- a 48 channel audio mixing console employing the architecture of the present invention and including a master DSP and 24 slave DSPs, with each slave processing 2 channels of digital audio were disclosed.
- This system thus comprises a software configurable mixing system having 48 inputs and 48 outputs.
- a 16 channel audio mixing system including a master DSP coupled to four slave DSPs was disclosed, with each slave processing four channels of digital audio signals.
- This configuration provided a software configurable mixing console having 16 inputs and 16 outputs.
- a system having greater than 48 channels can be achieved by providing a top level, master DSP coupled to two 48 channel audio mixing systems, each comprising a second level, master DSP coupled to 24 slave DSPs. Such a system would be capable of mixing 96 channels.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Circuit For Audible Band Transducer (AREA)
- Stored Programmes (AREA)
- Microcomputers (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3552097P | 1997-01-15 | 1997-01-15 | |
US35520 | 1997-01-15 | ||
PCT/US1998/000689 WO1998032223A2 (en) | 1997-01-15 | 1998-01-15 | Digital signal mixing architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
EP0953226A2 true EP0953226A2 (en) | 1999-11-03 |
Family
ID=21883210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP98901809A Withdrawn EP0953226A2 (en) | 1997-01-15 | 1998-01-15 | Digital signal mixing architecture |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP0953226A2 (ja) |
JP (1) | JP2002512747A (ja) |
CN (1) | CN1248356A (ja) |
AU (1) | AU5824598A (ja) |
BR (1) | BR9806751A (ja) |
CA (1) | CA2277818A1 (ja) |
WO (1) | WO1998032223A2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2351890B (en) * | 1999-07-06 | 2003-11-19 | Sony Uk Ltd | Method and apparatus for processing signals |
EP1569371A3 (en) * | 2004-02-27 | 2012-10-10 | Yamaha Corporation | Editing apparatus of scene data for digital mixer |
JP4305307B2 (ja) * | 2004-07-13 | 2009-07-29 | ヤマハ株式会社 | ミキサ構成をプログラム可能なディジタルミキサ、ミキサ構成編集装置、及び、ディジタルミキサの制御を行う制御アプリケーションプログラム |
US7600105B2 (en) | 2004-09-22 | 2009-10-06 | Cyberlink Corp. | Systems, methods, and apparatus for providing efficient startup to computers with peripheral devices |
CN101262662B (zh) * | 2007-06-29 | 2011-02-09 | 浙江华立通信集团有限公司 | 用于3g和4g终端的音调生成方法及装置 |
DE102008037431B4 (de) | 2008-10-10 | 2013-06-06 | Lear Corporation Gmbh | Verfahren zur dynamischen Konfiguration eines Signalaufbereiters |
GB201109012D0 (en) * | 2011-05-27 | 2011-07-13 | Wolfson Microelectronics Plc | Digital signal routing circuit |
CN103039007B (zh) * | 2011-08-01 | 2016-01-06 | 三菱电机株式会社 | 模拟输入系统、模拟输出系统以及模拟输入输出系统 |
CN104637483A (zh) * | 2015-02-03 | 2015-05-20 | 中国电子科技集团公司第五十八研究所 | 基于多通道的低速率语音编解码系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2569290B1 (fr) * | 1984-08-14 | 1986-12-05 | Trt Telecom Radio Electr | Processeur pour le traitement de signal et structure de multitraitement hierarchisee comportant au moins un tel processeur |
US5212733A (en) * | 1990-02-28 | 1993-05-18 | Voyager Sound, Inc. | Sound mixing device |
US5361373A (en) * | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5581480A (en) * | 1994-05-10 | 1996-12-03 | Apple Computer, Inc. | Method and apparatus for mixing multiple channels of sampled digital audio using a non-linear clipping function |
-
1998
- 1998-01-15 BR BR9806751-6A patent/BR9806751A/pt not_active Application Discontinuation
- 1998-01-15 EP EP98901809A patent/EP0953226A2/en not_active Withdrawn
- 1998-01-15 WO PCT/US1998/000689 patent/WO1998032223A2/en not_active Application Discontinuation
- 1998-01-15 CN CN 98802665 patent/CN1248356A/zh active Pending
- 1998-01-15 CA CA002277818A patent/CA2277818A1/en not_active Abandoned
- 1998-01-15 JP JP53449098A patent/JP2002512747A/ja active Pending
- 1998-01-15 AU AU58245/98A patent/AU5824598A/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
See references of WO9832223A3 * |
Also Published As
Publication number | Publication date |
---|---|
AU5824598A (en) | 1998-08-07 |
BR9806751A (pt) | 2001-09-18 |
WO1998032223A2 (en) | 1998-07-23 |
CA2277818A1 (en) | 1998-07-23 |
JP2002512747A (ja) | 2002-04-23 |
WO1998032223A3 (en) | 1998-11-19 |
CN1248356A (zh) | 2000-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8935444B2 (en) | Remote control method of external devices | |
JP2516317B2 (ja) | デ―タ処理システムとディジタル信号プロセッサへのロ―ディング方法 | |
US7266772B2 (en) | Projector connected to a network, a display system, and a method for displaying images and/or image data via a projector connected to a network | |
US7009942B2 (en) | Connection setting apparatus | |
EP0602947A1 (en) | Multimedia system having software mechanism providing standardized interfaces and controls for the operation of multimedia devices | |
US8099666B2 (en) | Method and apparatus for providing user interface for multistreaming audio control | |
US20040014526A1 (en) | Interface arbitrator for allowing multiple devices to share physical input/output interfaces and other resources | |
US20090013092A1 (en) | Method for virtual COM port modbus gateway ethernet I/O | |
JPH07321821A (ja) | 複数のマルチメディア・オーディオ・カードをローカル・エリア・ネットワークとして構成する方法および装置 | |
CN2872754Y (zh) | 连接设置装置 | |
US20060285701A1 (en) | System and method for OS control of application access to audio hardware | |
EP0953226A2 (en) | Digital signal mixing architecture | |
WO2019189959A1 (ko) | 라이브 방송 시 게스트 방송의 딜레이를 상쇄하는 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체 | |
JP4765494B2 (ja) | 音響信号処理装置 | |
JPH08286801A (ja) | デジタル信号処理装置 | |
WO1999037032A1 (en) | Digital signal mixing architecture | |
EP2947967A1 (en) | System combining an audio mixing unit and a lighting control unit | |
JP2005204052A (ja) | 外部機器の制御方法、外部機器の制御装置およびプログラム | |
EP1467278A1 (en) | Data conversion rule switching device | |
US8046686B2 (en) | Method, apparatus and program for setting function to operation control of signal processing apparatus | |
US20040130565A1 (en) | Assist diplay apparatus for use with audio mixer | |
US20050119051A1 (en) | Dual-function remote controller capable of manipulating video game and method thereof | |
US20080125936A1 (en) | Method for Controlling Car Computer and Apparatus Thereof | |
JP3985728B2 (ja) | 電子音楽装置及びプログラム | |
US20040032961A1 (en) | Signal processing apparatus, method of controlling the same, and program for implementing the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19990811 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
18W | Application withdrawn |
Withdrawal date: 19991109 |