(19)
(11) EP 2 184 869 A1

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
12.05.2010 Bulletin 2010/19

(21) Application number: 08019429.3

(22) Date of filing: 06.11.2008
(51) International Patent Classification (IPC): 
H04H 60/04(2008.01)
(84) Designated Contracting States:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR
Designated Extension States:
AL BA MK RS

(71) Applicant: Studer Professional Audio GmbH
8105 Regensdorf (CH)

(72) Inventors:
  • Karamustafaoglu, Attila
    8057 Zürich (CH)
  • Sterngren, Marten
    8953 Dietikon (CH)

(74) Representative: Bertsch, Florian Oliver et al
Kraus & Weisert Patent- und Rechtsanwälte Thomas-Wimmer-Ring 15
80539 München
80539 München (DE)

   


(54) Method and device for processing audio signals


(57) The present invention relates to a 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).




Description


[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.


Claims

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.
 




Drawing






















Search report