[0001] The invention relates to a device for processing audio signals and a method of processing
audio signals. The invention is for example applicable to audio mixing devices, such
as digital mixers.
Background
[0002] There are many applications and systems that require an audio processing, such as
recording studios, public address systems, sound reinforcement systems, radio and
television broadcasting systems, and the like. In today's systems audio signals are
often processed digitally, e.g. using a digital mixing console. In professional mixing
equipment, audio signals received over tens or hundreds of audio channels have to
be processed. In particular for live applications, the processing needs to be performed
with very low latencies. As a result, a digital mix engine requires a very high processing
power.
[0003] Digital mixers are known in the art which use a plurality of digital signal processors
(DSPs) for processing audio signals. The implementation of a digital mixer using DSPs
has the drawback that the DSPs need to be programmed in a low-level language, such
as Assembler. The programming of a mixing engine in such an architecture thus becomes
very time and labor intensive. Further, the programming cannot be easily adapted,
e.g. when changing to a new generation of DSPs.
[0004] Further, digital audio mixing engines are implemented on field-programmable gate
arrays (FPGAs). FPGAs offer high processing powers at low cost and are capable of
achieving low latencies even for a large number of channels, which makes them particularly
suitable for digital mixers for live applications. Although FPGAs provide a good performance,
they require a very high programming effort, as they need to be programmed with both
the structure of the signal path and the algorithm of the mix engine. Further, the
programming needs to be performed in a low-level language, e.g. a hardware description
language (HDL), making the programming very laborious. Another reason for the very
time and cost intensive development of a FPGA-based audio engine is that each design
and debugging phase takes a large amount of time. A further difficulty is the migration
of a once programmed mixing engine to a new version of a FPGA chip. Moreover, the
optimization and maintenance of a programmed mixing engine is complicated.
[0005] Digital mixers have also been implemented with software on personal computers (PCs).
Such mixers often use audio signals recorded on a hard drive of the PC for mixing.
Although having a high processing power, central processing units (CPUs) of personal
computers are not capable of mixing tens or hundreds of digital channels with very
low latencies. PC-based digital mixers are thus generally not suited for live applications.
[0006] It is desirable to overcome or at least mitigate the above-mentioned drawbacks. In
particular, there is a need for a device capable of simultaneously processing a multitude
of audio channels with low latencies. It is further desirable to facilitate the programming
of such a device and the migration to another hardware platform once faster hardware
becomes available. It is further desirable to implement such a device in a cost-efficient
way.
Summary
[0007] Accordingly, a need exists to provide an enhanced device and method for processing
audio signals.
[0008] This need is met by the features of the independent claims. In the dependent claims,
preferred embodiments of the invention are described.
[0009] According to an aspect of the invention, a device for processing audio signals comprising
an interface unit for receiving a plurality of audio signals is provided. The device
further comprises a first processing unit adapted to perform an audio processing of
an audio signal and a second processing unit adapted to perform a summation of audio
signals. A routing unit of the device is configured to route received audio signals
between the interface unit, the first processing unit and the second processing unit.
The device is further provided with a control unit adapted to provide control information
for each of the audio signals indicating how an audio signal is to be processed. The
control unit controls the routing unit such that the received audio signal for which
the control information indicates that a audio signal is to be audio processed is
routed to the first processing unit and that a received audio signal for which the
control information indicates that the audio signals is to be summed with another
audio signal is routed to the second processing unit.
[0010] An efficient processing of audio signals is achieved by providing two processing
units, one for summing and one for audio processing. Audio processing may for example
comprise the application of gain control, equalizers, reverb, other filters, an adjustment
of dynamics and the like. As the function performed by the second processing unit
is relatively simple, it may be efficiently programmed in a low-level language. On
the other hand, more complex audio processing functions may be performed at the first
processing unit, which may be programmed in a higher level language. The programming
of the device is thus facilitated. The splitting of the more complex and the less
complex functions between two processing units may further enable an implementation
of a digital mixing engine with low latency, as the type of processing unit and the
programming can be optimized for the particular functionality.
[0011] According to an embodiment of the invention, the first processing unit comprises
an x86 compatible processor. This may for example be a standard commercially available
processor, which is available at relatively low costs, while being programmable in
a high-level language. Thus, it is particularly suitable for more complex audio processing
functions. Further, for this type of processor, new processor generations with increased
calculation power are continuously being developed, and the device of the embodiment
will benefit from such new developments. This is particularly true if the programming
is performed in a higher level language, as the programming may then be easily adapted
and transferred to a new processor generation.
[0012] According to another embodiment, the second processing unit is adapted to perform
a summation of plural audio signals in parallel. As an example, the second processing
unit may comprise a field-programmable gate array (FPGA) or a graphics processing
unit (GPU). The second processing unit may be provided on a computer expansion card,
such as a peripheral component interconnect express (PCIe) card. Although the summation
of a plurality of audio channels may result in a very large summation matrix, the
summation may be performed fast with low latencies using a processing unit configured
in such a way. FPGAs and GPUs are particularly well suited to perform a large number
of calculations in parallel. They can achieve high calculation performances reaching
up to several hundreds of gigaflops per second. FPGAs and GPUs can also be obtained
cost-efficiently. Further, as the summation of audio signals is a relatively simple
task, programming of a FPGA or GPU is facilitated. Such processing units have also
experienced a steep increase in processing power in recent years, and it can be expected
that their performance will be further enhanced in the future. By configuring the
second processing unit in the above-mentioned way, the device of the present invention
can make use of such an increase in processing power. This is particularly true when
implementing the second processing unit on a computer expansion card, as this may
be easily exchanged. As mainly relatively simple tasks that can be parallelized may
be performed on the second processing unit, a migration of the programming to a new
faster FPGA or GPU is facilitated.
[0013] According to an embodiment, the interface unit is connected to an audio network over
which the audio signals are received in digital form. The interface unit may be adapted
to receive the audio signals in a fixed-point or a floating-point representation.
The processing of the audio signals at the first or the second processing unit may
generally occur using a floating-point representation. The second processing unit
may thus be further adapted to perform a conversion of a received audio signal from
a fixed-point representation to a floating point representation. The second processing
unit may be particularly well adapted for performing such a relatively simple task
which benefits from parallelization. By receiving the audio signals in digital form
over an audio network, an analog-to-digital conversion does not need to be performed
at the device, and further, such audio networks are capable of transporting audio
signals over a large number of audio channels with high quality.
[0014] According to yet another embodiment of the invention, the control unit is configured
to control the audio processing of audio signals by providing at least part of the
control information to the first processing unit and/or to control the summation of
audio signals by providing at least part of the control information to the second
processing unit. The control unit may comprise an own processing unit separate from
the first processing unit and the second processing unit. The control unit may further
comprise a user interface, the control unit being adapted to determine the control
information on the basis of control parameters entered by a user via the user interface.
The control information may thus comprise information on where to route an audio signal,
how to audio-process the audio signals, and which audio signals are to be summed.
By entering control parameters, a user is thus provided with the possibility of controlling
the processing of the received audio signals. The routing of the audio signals to
the first or the second processing unit is preferably performed automatically. A user
may for example enter the information that a first audio signal is to be audio-processed,
and then summed with a second audio signal, in response to which the control unit
may determine how the first and the second audio signals are to be routed. It may
then provide the appropriate control information or control signals to the first and
the second processing unit, as well as to the routing unit.
[0015] According to a further embodiment, the routing unit and/or the control unit may be
implemented in the first processing unit. The first processing unit may for example
run software, which implements the routing unit and/or the control unit. As such,
the device may be implemented on a conventional personal computer, with the second
processing unit provided in the form of a computer expansion card. Such an implementation
has the advantage that it is cost-efficient and it can be easily upgraded when new
hardware becomes available. Preferably, the first processing unit is configured to
run a real-time operating system. Thus, the audio processing may be performed with
very low latencies. Also, the routing of audio signals may be implemented in an efficient
way using such a processing unit.
[0016] According to a further embodiment, the device is adapted to introduce a delay of
less than four milliseconds between receiving an audio signal via the interface unit
and outputting a processed audio signal via the interface unit after a processing
of the received audio signal with at least one of the first and the second processing
unit. Such a configuration of the device is particularly advantageous for the processing
of audio signals for live applications. Such a delay is hardly noticeably to the human
ear and such a device may accordingly be employed for a wide range of audio processing
tasks. As an example, the first processing unit may be adapted to introduce a delay
of less than eight samples when audio-processing an audio signal and the second processing
unit may be adapted to introduce a delay of less than six samples when summing audio
signals. Such configurations enable very low latencies for an audio processing with
the inventive device.
[0017] According to another aspect of the invention, a method of processing audio signals
is provided. The method comprises the step of receiving a plurality of audio signals
at an interface unit. Control information for each of said audio signals indicating
how an audio signal is to be processed is then received. A received audio signal for
which the control information indicates that the audio signal is to be audio-processed
is routed to a first processing unit adapted to perform an audio processing of an
audio signal. A received audio signal for which the control information indicates
that the audio signal is to be summed with another audio signal is routed to a second
processing unit adapted to perform a summation of audio signals. Similar advantages
as outlined above with respect to the device for processing audio signals are also
achieved with the inventive method of processing audio signals.
[0018] Preferably, an audio signal is routed in accordance with the control information
received for a received audio signal. According to an embodiment, the received audio
signal is routed to the first processing unit for an audio processing of the audio
signal. The processed audio signal is then routed to the second processing unit for
summation with another audio signal. The summed audio signal is then routed to the
first processing unit for an audio processing of the summed audio signal. This may
be considered a post-processing. Accordingly, the method of the present embodiment
enables a comprehensive processing of audio signals. It should be clear that in other
embodiments an audio signal may only be routed to one of the first and the second
processing units or may be routed several times between those processing units.
[0019] According to another embodiment, a received audio signal is routed to the second
processing unit for performing a conversion of the audio signal from a floating-point
representation to a fixed-point representation after the audio signal was processed
according to the respective control information. The converted audio signal is then
routed to the interface unit for outputting the audio signal. By routing the audio
signal in such a way, an efficient processing and conversion of the audio signal can
be achieved. This is particularly true, as the second processing unit may be well
adapted for a parallel processing, and a summation and conversion of audio signals
can accordingly be performed with very low latencies.
[0020] According to another aspect of the invention, an audio processing system comprising
at least two of the above-mentioned devices for processing audio signals is provided.
In such a system, redundancy can be achieved and the probability of a failure of the
audio processing system can be reduced. Further, the number of audio signals that
may be processed with such an audio processing system can be increased, as the processing
is performed with at least two of the above devices.
[0021] In an embodiment, the audio processing system further comprises at least one additional
routing unit interfacing the routing unit of a first of the at least two devices and
the routing unit of a second of the at least two devices for routing audio signals
to the first and the second device. Using the additional routing unit, the processing
load can be shared between the at least two devices. The audio processing system may
further comprise at least one additional control unit interfacing the control unit
of a first of the at least two devices and the control unit of a second of the at
least two devices for providing control information for the first and the second device.
The additional control unit may provide control information for at least one of the
routing unit, the first processing unit and the second processing unit of each of
said at least two devices. The additional control unit may comprise a user interface
and may be adapted to determine the control information on the basis of control parameters
entered by a user via the user interface. The additional control unit may also control
the additional routing unit. Upon entering control parameters by a user, the additional
control unit may automatically determine where to route audio signals. Such a system
is scalable and can achieve very high processing powers. As required, additional devices
may be added to such a system. Further, if one device fails, the system remains functional
and the device may be replaced without interrupting the operating of the system.
[0022] Those skilled in the art will appreciate that the features mentioned above and those
yet to be explained below can be used not only in the respective combinations indicated,
but also in other combinations or in isolation, without leaving the scope of the present
invention. The above-described methods may be implemented in a device for processing
audio signals, or embodiments of the inventive method may comprise steps described
with respect to the device for processing audio signals.
Brief Description of the Drawings
[0023] The foregoing and other features and the advantages of the invention will becomes
further apparent from the following detailed description read in conjunction with
the accompanying drawings, in which
Fig. 1 is a schematic drawing of an embodiment of a device for processing audio signals;
Fig. 2 is a schematic drawing of an embodiment of a device for processing audio signals;
Fig. 3 is a flow diagram of an embodiment of a method of processing audio signals;
Fig. 4 is a flow diagram of an embodiment of a method of processing audio signals
illustrated for several audio channels;
Fig. 5 is a schematic drawing of an audio processing system according to an embodiment
of the invention;
Fig. 6 is a schematic drawing of an audio processing system according to another embodiment
of the invention.
[0024] Fig. 1 schematically shows a device 100 for processing audio signals with a first
processing unit 101 comprising an x86 compatible central processing unit (CPU). Processing
unit 101 may for example comprise a commercially available processor, such as a Pentium
dual core, or quad core processor, or a corresponding AMD processor, such as an AMD
Opteron, Phenum or Turion processor. Processing unit 101 implements an algorithm for
performing an audio processing of audio signals. It may comprise further components
common to a processing unit, such as different types of memory, e.g. random access
memory (RAM) or non-volatile memory, such as a hard drive or flash memory, in which
audio processing algorithms may be stored. Processing unit 101 is particularly well
adapted to perform a sequential processing of audio signals, although it may also
process signals in parallel, e.g. when comprising multiple processing cores. Being
a standard commercially available CPU, the CPU can be obtained at relatively low costs.
Employing a standard CPU further has the benefit that it may be regularly replaced
with new and faster models as soon as they become available. This is particularly
the case as the programming of the CPU can be performed in a high-level language,
so that when replacing the CPU with another model, a migration may be performed by
a simple recompilation of the program code of the audio processing procedures.
[0025] Device 100 further comprises a second processing unit 102 which is particularly well
adapted for performing a parallel processing. In the present embodiment, it comprises
a graphics processing unit (GPU) and may comprise further components, such as memory
and the like. The second processing unit 102 is thus particularly well suited for
processing tasks that can be parallelized, such as the summation of several audio
signals or a format conversion of audio signals, e.g. from fixed-point to floating-point
representation and vice versa. Apart from providing parallel processing capabilities,
a GPU can be cost-efficiently obtained and can provide a processing power already
exceeding that of CPUs. As GPUs experience an ongoing development in processing power,
device 100 can benefit from such a development, in particular if the second processing
unit 102 is provided on a computer expansion card so that it can be easily replaced.
[0026] Routing unit 103 routes audio signals received via interface unit 104 to processing
unit 101 and processing unit 102, as well as between said processing units. The interface
unit 104 receives the audio signals on separate audio channels, e.g. over an audio
network using an audio over IP, a multichannel audio digital interface (MADI) or any
other, preferably digital, audio format. Audio signals of different audio channels
may thus also be received sequentially as data packets, or over channels. Audio signals
may e.g. by received via audio over Ethernet using a protocol such as the Audio/Video
ridging (AVB) protocol.
[0027] Control unit 105 interfaces processing unit 101 and 102 as well as routing unit 103.
Control unit 105 comprises control information and provides corresponding control
data or signals to the connected units. The control information can for example describe
the type of audio processing that is to be performed on a particular audio signal
or channel, and which audio signals or channels are to be mixed by summation. The
control information may for example indicate that the audio signals of two channels
are to be summed and then audio-processed by e.g. applying a filter or gain control.
Control unit 105 now controls routing unit 103 in such a way that audio signals that
are to be summed are routed to the processing unit 102, whereas audio signals that
are to be audio-processed are routed to processing unit 101. Control unit 105 may
thus automatically determine the path of a particular audio signal. In such a configuration,
operations to be performed on an audio signal are efficiently shared between the two
processing units, with each processing unit performing the task which it is best suited
for. The device 100 accordingly achieves a high throughput and low latency for the
processing of a large number of audio signals.
[0028] When processing an audio signal first at unit 101, then summing it with another audio
signal at processing unit 102 and again processing it at unit 101, the introduced
delay can be less than four milliseconds, preferably less than two milliseconds. By
only buffering 50 samples in the device 100, a delay of about one millisecond may
be achieved at a sampling rate of 48 kHz for the audio signals. It should be clear
that these are only examples, and that audio signals may be sampled at other frequencies,
e.g. 96 kHz or even higher, and that more or fewer samples may be buffered, depending
on the complexity of the processing.
[0029] Control unit 105 may further comprise a user interface, using which a user can control
how audio signals are processed and mixed, e.g. by entering control parameters. Control
unit 105 then supplies control parameters associated with functions implemented at
processing unit 101 to the same, and provides control parameters associated with functions
implemented at the processing unit 102 to the same. A user is thus given the possibility
to comprehensively control the processing of audio signals received via interface
unit 104, while control unit 105 and routing unit 103 work together to ensure that
the audio signals are routed to the correct unit for processing.
[0030] The first processing unit of device 200 is again implemented as a x86 compatible
CPU 201. A second processing unit comprises the field-programmable gate array (FPGA)
202. It should be clear that both processing units may again comprise additional components,
such as memory and the like. FPGA 202 is adapted to perform a parallel processing
of a plurality of audio signals. In particular, it is adapted to perform a summation
of various audio signals. By receiving audio signals on a relatively large number
of input channels and outputting summed signals on a large number of output channels,
a large summation matrix can be obtained, the implementation of which requires a high
processing power. FPGA 202 is capable of delivering the required processing power.
This is particularly the case if an unlimited switch matrix is to be realized. In
particular, it can be programmed to perform a summation of a large number of audio
channels in parallel. As the underlying structure of the FPGA can be programmed, e.g.
using a hardware description language (HDL), the FPGA can be adapted to perform such
relatively simple tasks very efficiently. As only simple tasks, such as summation
and others, are programmed into the FPGA, a migration to another version of a FPGA
is facilitated. It should be clear that the FPGA may not only be programmed with a
summation functionality, e.g. a mix bus, but also with other functionalities that
are relatively simple to program and benefit from a parallel computation.
[0031] Device 200 receives audio signals via input/output (I/O) cards 204. By providing
several I/O cards as an interface unit, a large number of audio channels can be connected
to device 200. Device 200 receives synchronous audio data via I/O cards 204, which
are then transported over a PCI express (PCIe) bus to CPU 201.
[0032] In the embodiment of Fig. 2, CPU 201 implements the routing unit, i.e. by software
running on CPU 201. Preferably, CPU 201 runs a real-time operating system, such as
a real-time extension for Windows® or Linux®. The routing functionality implemented
at CPU 201 thus provides audio signals to FPGA 202, routes the signals to I/O cards
204 and provides the audio signals to an audio processing algorithm implemented at
CPU 201. To enable a fast transport with low latencies between the components, the
PCI express bus is used. The PCI express bus enables very high data transfer rates,
ranging up to several gigabytes per second. Again, it should be clear that CPU 201
may comprise plural processing cores or that plural CPUs may be provided. Accordingly,
the routing functionality may be performed by one core of CPU 201, whereas the audio
processing may be performed on remaining cores. By using a high-performance bus system
and by providing two processing units each particularly well adapted for its functionality,
a very efficient processing of audio signals is achieved with very low latencies.
[0033] Control unit 205 of the present embodiment comprises an own CPU and a user interface.
Control unit 205 provides control information to CPU 201, e.g. via an Ethernet connection.
CPU 201 processes audio signals according to the provided control information, and
routes the audio signals to FPGA 202 for summation and/or conversion. As audio signals
may be received in a fixed-point representation over I/O cards 204, a conversion to
floating point may be performed in FPGA 202 before processing, and again a conversion
to fixed-point representation may be performed before outputting the processed audio
signals. Yet the interface unit may also receive the audio signals in a floating-point
format, so that no conversion is necessary.
[0034] Device 200 further comprises the virtual studio technology (VST) unit 206. VST unit
206 may implement software audio synthesizers, effect plug-ins and the like. The VST
plug-ins may be run on a separate processing unit. VST unit 206 interfaces CPU 201
via an Ethernet link. Alternatively, VST plug-ins may also be implemented on CPU 201.
VST unit 206 may provide additional audio signals or may process audio signals received
via the interface cards 204. VST unit 206 is controlled by control unit 205 via an
Ethernet link. Control parameters of VST plug-ins running on unit 206 can be controlled
via the user interface of control unit 205.
[0035] A user can thus comprehensively control the processing of audio signals with device
200. It should be clear that control unit 205 may also be implemented in CPU 201.
CPU 201 may then run a control application and may communicate with a user by interfacing
a display and an input unit comprising controls.
[0036] It should be clear that not only audio data, but also video data comprising audio
signals and the like may be received via the I/O cards 204 and may be processed. CPU
201 and FPGA 202 may thus implement an additional video processing functionality.
[0037] As can be seen, device 200 is a high-performance digital mixer capable of simultaneously
processing a large number of audio channels with very low latencies. Further, it can
be implemented with commercially available hardware and can thus benefit from hardware
developments. High processing performance is achieved by separating the processing
functionalities between two processing units, wherein one unit is optimized for parallel
processing of audio signals.
[0038] Fig. 3 is a flow diagram showing a method according to an embodiment of the present
invention. The method may for example be implemented at one of the devices 100 and
200. An audio signal in the form of an audio stream is received at an interface unit
in step 301. In step 302, control information is received from a control unit. Received
audio signals are routed to a first processing unit in step 303. This may be performed
only for some received audio signals, according to the control information provided
for the respective audio signal. The audio signals are then audio-processed at the
first processing unit (step 304). The first processing unit, e.g. a x86 compatible
processor, may run audio processing algorithms for performing gain control, applying
equalizers, reverb, dynamic range compression or expansion, audio filtering and the
like. Different signals corresponding to different channels may be sequentially processed
or may be processed in parallel, e.g. on plural cores of the first processing unit.
After processing, the audio signals are routed to the second processing unit in step
305. In accordance with the received control information, audio signals are summed
up at the second processing unit in step 306. The summing may yield any combination
of audio signals on a number of output channels. The summed up audio signals are again
routed to the first processing unit in step 307 for post-processing. An equalizing
or a gain adjustment may for example again be performed. After processing the summed
up audio signals at the first processing unit in step 308, the audio signals are routed
to the interface unit for outputting in step 309. It should be clear that the present
method may be applied to audio streams and may thus be continuously performed. Providing
the control information in step 302 may only be performed when initially setting up
the processing of audio signals. With the above method, a comprehensive audio processing
and the summation of a large number of audio channels can be achieved.
[0039] In the embodiment of Fig. 4, the audio processing of audio signals received on a
number of different audio channels is illustrated. In step 401 audio signals are received
on channels 1-N. The total number N of channels depends on the system configuration
and may be as high as several hundreds or even higher. In Fig. 4 channels 1-3 and
channel N are explicitly shown. The right hand side of Fig. 4 indicates the unit at
which the respective method steps are performed. Steps 402, which are performed at
a CPU, comprise an audio processing which may be different for each channel. After
audio processing, the channels or more particular the audio signals carried on the
channels are summed in step 403. After summation, the signals of some output channels
(here bus output 1 and 2) are again routed to the CPU for performing another audio
processing in steps 404. Signals on bus output 3-M are directly routed to the interface
unit. In step 405 the audio signals are output on channels 1-M. The number M of output
channels may be the same as the number N of input channels, yet it may also be different.
The way in which audio channels are audio-processed and summed is determined by control
information provided by a control unit. It should be clear that the method may comprise
further steps, e.g. after the audio processing in steps 404 another summation may
be performed as well as another audio processing, etc.
[0040] Fig. 5 shows an embodiment of an audio processing system. The audio processing system
500 comprises two devices 501 and 502 for processing audio signals which may be configured
according to any of the above-described embodiments. In the present embodiment, both
devices have a control unit and a routing unit implemented on their first processing
unit (CPU). Via network interfaces 504 and 505, devices 501 and 502 interface a high
performance network 503 for audio data. As an example, the high-performance network
503 may be implemented by using a PCI express bus. As said before, such a bus achieves
an excellent data throughput. Audio input and output is performed by a third device
506, which comprises I/O cards 508 connected to an audio network. Audio signals may
be received in the MADI format or via audio over IP. Device 506 routes received audio
signals to devices 501 and 502 for processing via the network interface 507 and the
high-performance network 503. Device 506 may itself also perform a processing of audio
signals, e.g. a summation of signals received from devices 501 and 502. Device 506
may thus also be configured according to any of the above-mentioned embodiments.
[0041] System 500 further comprises control unit 509 with user interface 510. These may
be implemented on a separate work station and may for example comprise a whole audio
mixing control console. Control unit 509 interfaces devices 501, 502 and 507 via standard
network 511, e.g. Ethernet. Corresponding network interfaces are not shown for simplicity.
A standard network may be employed, as the transport of control information is not
subject to such stringent requirements as the transport of audio signals, where a
minimum delay for large amounts of data needs to be achieved. In accordance with information
entered by a user, control unit 509 provides control information on how particular
channels are to be processed and summed. The control unit may further directly control
to which of the devices 501 and 502 a particular audio channel is routed. On the other
hand, control unit 509 may leave that decision to device 506, which may perform a
load balancing between devices 501 and 502.
[0042] With such a configuration, a redundancy is further achieved. If one of the devices
501 and 502 fails, the other device may take over the processing of concerned audio
signals. The processing is thus not interrupted, and the failed component may be replaced
without the need to stop the operation of system 500. As two devices 501 and 502 process
audio signals, a large number of channels can be realized. For increasing the processing
capabilities of system 500 and enhancing the redundancy, further devices may be connected
to the high-performance network 503 and the standard network 511. The system is thus
easily scalable. Similarly, further control units with further mixing consoles may
be connected to network 511. Other components, such as media servers or VST work stations
implementing different VST plug-ins may be connected to either network 511 or 503.
The versatility and functionality of the system can thus be further enhanced. It should
be clear that device 506 may also be provided in a redundant configuration.
[0043] Since for devices 501, 502, 506 and control unit 509 standard personal computer components
and processors may be used, a large audio mixing console with a high processing performance
can be realized at relatively low costs. Further, such a console can fully benefit
from new developments in processor technology, as the hardware components, such as
CPU and GPU/FPGA, may be easily upgraded. Smaller mixing consoles can be realized
by using only one of the above-mentioned devices. Even such a small system achieves
an excellent audio processing performance and is easily upgraded.
[0044] Fig. 6 shows schematically another embodiment of an inventive audio processing system.
The audio processing system 600 comprises plural devices 601, 602 and 603 for processing
audio signals. It should be clear that more or less than three devices may be provided.
Audio signals can be exchanged between the devices via the high performance network
609. The devices receive control information from host controller 610 via network
611, which may be a standard network, such as Ethernet. Each of the devices 601-603
comprises a central processing unit 604 for performing an audio processing, which
may also implement a routing unit and a control unit. For a summation of audio signals,
the audio signals are routed to unit 605, which may again be a GPU or a FPGA. For
receiving audio signals from other equipment or giving out audio signals to other
equipment each of the devices 601-603 may comprise an interface unit 606, which may
be connected to an audio network. Audio signals received via the interface of one
device may be processed by the device or may be routed to another device for processing
via the high-performance network 609. A system using such a configuration is easily
scalable, and is capable of processing a large number of audio channels, as each device
may receive and output audio signals. It should be clear that the system 600 and the
devices 601-603 may comprise further elements not shown in Fig. 6, such as interface
units towards the high-performance network 609 and network 611, and the like.
[0045] While specific embodiments of the invention are disclosed herein, various changes
and modifications can be made without departing from the scope of the invention. The
present embodiments are to be considered in all respects as illustrative and non-restrictive,
and all changes coming within the meaning and equivalency range of the appended claims
are intended to be embraced therein.
1. Device for processing audio signals, comprising:
- an interface unit (104) for receiving a plurality of audio signals;
- a first processing unit (101) adapted to perform an audio processing of an audio
signal;
- a second processing unit (102) adapted to perform a summation of audio signals;
- a routing unit (103) configured to route received audio signals between said interface
unit (104), said first processing unit (102) and said second processing unit (103);
and
- a control unit (105) adapted to provide control information for each of said audio
signals indicating how an audio signal is to be processed, the control unit (105)
controlling said routing unit (103) such that a received audio signal for which the
control information indicates that the audio signal is to be audio processed is routed
to the first processing unit (101) and that a received audio signal for which the
control information indicates that the audio signal is to be summed with another audio
signal is routed to the second processing unit (102).
2. The device according to claim 1, wherein the first processing unit (101) comprises
an x86 compatible processor.
3. The device according to claim 1 or 2, wherein the second processing unit (102) is
adapted to perform a summation of plural audio signals in parallel.
4. The device according to any of the preceding claims, wherein the second processing
unit (102) comprises a field-programmable gate array or a graphics processing unit.
5. The device according to any of the preceding claims, wherein the second processing
unit (102) is provided on a computer expansion card, such as a Peripheral Component
Interconnect Express card.
6. The device according to any of the preceding claims, wherein the interface unit (104)
is connected to an audio network over which said audio signals are received in digital
form.
7. The device according to claim 6, wherein the interface unit (104) is adapted to receive
the audio signals in a fixed-point or a floating-point representation.
8. The device according to any of the preceding claims, wherein the second processing
unit (102) is further adapted to perform a conversion of a received audio signal from
a fixed-point representation to a floating-point representation.
9. The device according to any of the preceding claims, wherein the control unit is further
configured to control said audio processing of audio signals by providing at least
part of said control information to the first processing unit and/or to control said
summation of audio signals by providing at least part of said control information
to the second processing unit.
10. The device according to any of the preceding claims, wherein the control unit comprises
an own processing unit separate from said first processing unit and said second processing
unit.
11. The device according to any of the preceding claims, wherein the control unit (509)
comprises a user interface (510), the control unit being adapted to determine the
control information on the basis of control parameters entered by a user via said
user interface.
12. The device according to any of the preceding claims, wherein the routing unit (103)
and/or the control unit (105) is implemented in said first processing unit (101).
13. The device according to any of the preceding claims, wherein the first processing
unit is configured to run a real time operating system.
14. The device according to any of the preceding claims, wherein the device is adapted
to introduce a delay of less than 4 milliseconds between receiving an audio signal
via the interface unit and outputting a processed audio signal via said interface
unit after a processing of the received audio signal with at least one of the first
and the second processing units.
15. A method of processing audio signals, comprising:
- receiving a plurality of audio signals at an interface unit (104);
- receiving control information for each of said audio signals indicating how an audio
signal is to be processed;
- routing a received audio signal for which the control information indicates that
the audio signal is to be audio processed to a first processing unit (101) adapted
to perform an audio processing of an audio signal;
- routing a received audio signal for which the control information indicates that
the audio signal is to be summed with another audio signal to a second processing
unit (102) adapted to perform a summation of audio signals.
16. The method according to claim 15, further comprising routing a received audio signal
to the second processing unit for a conversion of the audio signal from a fixed-point
representation to a floating-point representation.
17. The method according to claim 15 or 16, further comprising providing said control
information by a control unit having a user interface, the control information being
determined on the basis of control parameters entered by a user via said user interface.
18. The method according to any of claims 15-17, further comprising, in accordance with
the control information received for a received audio signal,
- routing the received audio signal to the first processing unit for an audio processing
of the audio signal;
- routing the processed audio signal to the second processing unit for a summation
with another audio signal; and
- routing the summed audio signal to the first processing unit for an audio processing
of the summed audio signal (post processing).
19. The method according to any of claims 15-18, further comprising:
- routing a received audio signal after processing the audio signal according to said
control information to said second processing unit for performing a conversion of
the audio signal from a floating-point representation to a fixed-point representation
and
- routing the converted audio signal to the interface unit for outputting the audio
signal.
20. An audio processing system (500), comprising at least two devices (501; 502) according
to one of claims 1-14.
21. The audio processing system according to claim 20, further comprising at least one
additional routing unit (506) interfacing the routing unit of a first (501) of said
at least two devices and the routing unit of a second (502) of the at least two devices
for routing audio signals to said first and said second device.
22. The audio processing system according to claim 20 or 21, further comprising at least
one additional control unit (509) interfacing the control unit of a first (501) of
said at least two devices and the control unit of a second (501) of the at least two
devices for providing control information for said first and second devices.
23. The audio processing system according to any of claims 20 to 22, wherein the at least
two devices are connected via an audio network.