METHODS AND APPARATUS FOR TREATING AUDIO SIGNALS

Abstract: In a method and apparatus for treating an audio signal having a tempo, the tempo is determined and the signal is modified in time with this tempo. A range of selectable, different manners of modification include splitting the signal into differing frequency bands and shifting the differing bands between different sources of sound. A joystick can be used to control the mix of the manners of modification.

Description: METHODS AND APPARATUS FOR TREATING AUDIO SIGNALS This invention relates to methods and apparatus for treating audio signals. Multi/parallel effects processors, for example the Ensoniq DP/4, are well-known. The Ensoniq DP/4 functions as a multi-effect processor with real-time MIDI control and four algorithms to process an incoming signal. However, the algorithms processing the incoming signal do not modify that signal in time with the signal. According to a first aspect of the present invention, there is provided a method of treating an audio input signal having a tempo, comprising determining the tempo of said signal, and modifying said signal in time with the tempo of the original signal. According to a second aspect of the present invention, there is provided apparatus for treating an audio input signal having a tempo, comprising determining means for determining the tempo of said signal, and modifying means for modifying said signal in time with the tempo of the original signal. Owing to these aspects of the invention, it is possible for a user to be able to change the audio signal, for example by adding one or more effects, in a manner which automatically complements the time signature of the audio signal. According to a third aspect of the present invention, there is provided a method of treating an audio signal, comprising automatically modifying said signal to produce a series of amplitude pulses in which increases of amplitude alternate with decreases of amplitude. Owing to this aspect of the invention, it is possible to obtain automatically a tremolo effect, particularly in a musical audio signal. According to a fourth aspect of the present invention, there is provided a method of treating an audio input signal, comprising separating-out first and second audio signals of respective differing frequency bands from said audio input signal and supplying said first and second signals to first and second spaced-apart sources of sound such that said first and second signals each shift between said first and second sources . Owing to this aspect of the invention, it is possible to obtain a three-dimensional stereophonic effect even with only two sources of sound. According to a fifth aspect of the present invention, there is provided a method of mixing audio effects, comprising displacing a control within a zone bounded by a plurality of locations associated with respective audio effects, such that, with said control at any selected one of said locations, the effect associated with that selected one location is at its maximum and the other effects are significantly below their respective maxima, and such that, with said control at a further location intermediate said locations, all of said effects are above their minima. According to a sixth aspect of the present invention, there is provided apparatus for mixing audio effects, comprising control means displacable within a zone bounded by a plurality of locations associated with respective audio effects, such that, with said control means at any selected one of said locations, the effect associated with that selected one location is at its maximum and the other effects are significantly below their respective maxima, and such that, with said control means at a further location intermediate said locations, all of said effects are above their minima. Owing to these aspects of the invention, it is possible for a user to choose between having a single effect dominant or having a mixture of effects. According to a seventh aspect of the present invention, there is provided a method of treating an audio input signal, comprising selecting a time period, programming into said time period an arrangement of audio events and repeating said arrangement for every time period of a series of time periods each equal to the first-mentioned time period, thereby producing a pattern of audio events which consists of said arrangement repeated and which modifies said audio input signal . Owing to this aspect of the invention, it is possible for a user to programme a desired sequence of audio events over the audio signal for automatic repetition. According to an eighth aspect of the present invention, there is provided a method of treating an audio signal having a tempo, comprising supplying another signal and adjusting by means of a common control both the tempo of said other signal and the synchronisation of said other signal with respect to said audio signal. According to a ninth aspect of the present invention there is provided apparatus for treating an audio signal having a tempo, comprising first supplying means for supplying an audio signal, second supplying means for supplying another signal, and common control means for controlling both the tempo of said other signal and the synchronisation of said other signal with respect to said audio signal. Owing to these aspects of the invention, it is possible for a user to control in a simple manner both the tempo and the synchronisation. According to an tenth aspect of the present invention, there is provided a method of treating a digital audio signal, comprising treating said audio signal in a manner to produce an output sound of a character of an analog sound- reproducing machine. Owing to this aspect of the invention, it is possible for digital audio apparatus to emit the sound of an analog audio machine. In order that the invention may be clearly and completely disclosed, reference will now be made, by way of example, to the accompanying drawings, in which:- Figure 1 is a top plan view of a device for modifying up to four audio inputs, Figure 2 is a rear elevation of the device, Figure 3 is a block diagram of the electrical circuitry of the device, Figure 4 is a block diagram of part of the circuitry of Figure 3, Figures 5 and 6 are flow-charts for software used in measuring the tempo of an audio input of the device, Figure 7 is a flow-chart for software used in the generation of a clock pulse employed in the device, Figure 8 is a diagram illustrating one example of a "FILTER/LFO" ("LFO" is an abbreviation of LOW FREQUENCY OSCILLATOR) effect superimposable upon the audio inputs (s) of the device, Figure 9 is a diagram illustrating one example of a "CUTTER" effect superimposable upon the audio input (s) of the device, Figure 10 is a diagram illustrating another example of the "CUTTER" effect superimposable upon the audio input (s) of the device, Figure 11 is a diagram illustrating one example of a "DELAY" effect superimposable upon the audio input (s) of the device, Figure 12 is a diagram illustrating one example of a "PANNING" effect achievable with the device, Figure 13 is a diagram illustrating another example of the "PANNING" effect achievable with the device, Figure 14 is a diagram illustrating a further example of the "PANNING" effect achievable with the device, Figures 15 and 16 are flow-charts for software used in generating the "FILTER/LFO" effect, Figures 17 and 18 are flow-charts for software used in generating ramped change of volume in the "CUTTER" effect, Figures 19 and 20 are flow-charts for software used in generating gating in the "CUTTER" effect, Figure 21 is a flow-chart for software used in generating the "DELAY" effect, Figures 22, 23 and 24 are flow-charts for software used in generating the "PANNING" effect, Figure 25 is a front elevation of a modified version of the device, Figure 26 is a side elevation of the modified version, Figure 27 is an underneath plan view of the modified version, and Figure 28 is a block diagram of the electrical circuitry of the modified version. The device 1 is a performance-orientated, multiple audio effects unit for use by disk jockeys (DJ's) and MIDI musicians. The device 1 determines the tempo of any audio input and uses this tempo to run up to four tempo-related sound effects in synchronisation with the audio input. Synchronisation can also be set by a MIDI clock where the tempo in beats per minute (BPM) will be derived from the incoming MIDI clock signal. The four effects, "FILTER/LFO", "DELAY", "CUTTER" and "PANNING" can be used simultaneously in any combination to create a complex blend of effects, with the controls changing parameters in real time. Referring to Figures 1 and 2, the device 1 has pairs of input terminals 2a, 3a, 4a and 5a that are for connecting different audio inputs to different effect generators to modify the respective audio inputs with the "FILTER/LFO", "DELAY", "CUTTER" and "PANNING" effects. Alternatively, if there is a single audio input to be modified by any one or more of the four effect generators, then it is connected up solely to the input terminal pair 5a. A switch 6 is used to switch between these two settings of either four different inputs or a single input. The device 1 has also pairs of output terminals 2b, 3b, 4b and 5b that are grouped with the corresponding input terminals. When any audio input is entering the device 1, then its tempo in BPM is calculated by a BPM engine comprised of the hardware and software illustrated in Figures 4 to 7, and is displayed on a display 7. The tempo of any effect (s) generated that is/are used to modify the audio input is calculated from the current BPM of the audio input. A user connects the 'MASTER in/out' terminals 5a and 5b on the rear panel of the device 1 to the "Master" output connections of his mixing desk. MIDI musicians can use the individual terminal groups 2a, 2b; 3a, 3b; 4a, 4b; 5a, 5b for each effect to treat separate instruments with different effects. There are eight user-programmable memories that store the control settings for all of the effects. Referring to Figures 3 and 4, the four input terminals 2a to 5a are connected to respective codecs (coder/decoders) 8 which supply the audio inputs to a digital signal processor 9 which has random access memories (RAMs) 10 and which conditions the input signals before they are fed to a microcontroller 11 which has a RAM 12 and a read only memory (ROM) 13. The microcontroller 11 is connected to a group 14 of control switches (of which one is the switch 6 and the others are yet to be described) , a group 15 of the display 7 and various LEDs yet to be described, a joystick control arrangement 16, a group 17 of control switches with a MIDI interface, and a gyro-stick control arrangement 18. The signal processor 9 is connected via a digital/analog (D/A) converter 19 and an amplifier 20 to an output 21 to headphones for a DJ to monitor the audio as modified by one of more of the effects before the modified audio is output by the device 1. A mains transformer/rectifier 22 supplies direct current (DC) to the device 1. Figure 4 shows in greater detail a block diagram of part of the signal processor 9 which conditions the audio input signal 23 to the processor 9, (which signal is either the combined audio inputs at 3a to 5a or the single input at 5a) and supplies the conditioned signal to the microcontroller 11. The input signal 23 is processed in a left and right summer 24 that converts a stereo signal into a single signal. The single signal then passes through an input buffer 25 which conditions the signal amplitude to suit the circuitry downstream. The buffered signal passes to an auto gain control amplifier 26. The output signal from the auto gain control amplifier 26 passes to both low frequency conditioning 27 and high frequency conditioning 28 which facilitate detection of the downbeats by the microcontroller 11 and its software. The conditioned low frequency signal and the conditioned high frequency signal then pass to the microcontroller 11 that calculates the tempo in BPM and feeds that information to the display 7. The microcontroller 11 also has a feedback 30 to the auto gain control amplifier 26. Figures 5 to 7 show software diagrams for the microcontroller 11 of the device 1 and illustrate respective programmes which operate in parallel with each other. Figure 5 shows a sampler thread which is an interrupt initiated by a timer in the software to take a sample from the output (s) of an analog-to-digital converter (s) in the microcontroller 11 and stores the sample in digital form in history records in the microcontroller 11. Figure 6 shows a main thread which, once started, is continuous. A calculation of the BPM is performed at regular time intervals. Once the time for performing of a next calculation has been reached, the latest predominant beat (i.e. downbeat) position with respect to time is calculated. Then the BPM is derived by ascertaining what value of precisely constant BPM would fit as closely as possible to the most recently arrived downbeats. Then that value of precisely constant BPM is checked against immediately preceding ascertained values of that property and, if apparently valid, is employed to determine whether the result requires a change between a "tracking" mode and a "non- tracking" mode, or between a "locked-in" mode and a "locked- out" mode. Thus, if the predominant beat of the audio input becomes unclear or ceases, the microcontroller 11 ceases the "tracking" mode, but continues the "locked-in" mode, so that the clock pulse rate immediately before the change continues to be emitted, whilst if, after a predetermined time period, the predominant beat of the audio input does not resume being clear, the microcontroller ceases the locked-in mode and the emitting of active clock pulses also ceases. Figure 7 shows a MIDI thread which is interrupt initiated by each MIDI pulse emitted in the "locked-in" mode. If the "non-tracking" mode and the "locked-in" mode both exist, then a clock pulse is emitted to control one or more of the effect generators. If the "non-tracking" and "locked- out" modes exist, then inactive clock pulses are emitted. If both the "tracking" and "locked-in" modes exists, then the calculated MIDI clock time for the last downbeat is compared with the real time of the last downbeat from the audio input and the rate of the MIDI clock is advanced or retarded as required. By respective buttons 31 to 34 each effect can be preset, as indicated by respective series of LEDs 35 to 38, to a range of 'musically correct' time signatures which are calculated from the current BPM of the audio input or the MIDI clock speed, and are any one of: 1/4 = four times per beat, 1/3 = thrice per beat, 1/2 = twice per beat, 2/3 = every two-thirds of a beat, 3/4 = every three-quarters of a beat, 1/1 = once per beat, 2/1 = every other beat, User = custom 'tapped' or programmed rhythm. A 'Speed' rotary control 39, 40, 41 or 42, for each effect allows other, intermediate time signature settings to be made . The 'User Beats' feature allows the user to record a custom rhythm which will trigger the effects in that particular rhythm in synchronisation with the input. There are four user memories for saving time signatures as well as a 'LIVE' mode which allows the user to tap-in any rhythm in real-time . The user can operate an "FX MIX" (EFFECTS MIX) joystick 43 of the device 16 to adjust the balance among all four effects when they are activated. At the centre position of the joystick 43 all four effects will be heard equally. In the top left position only the "FILTER/LFO" effect will be heard. In the top right position only the "CUTTER" effect will be heard. In the bottom left position only the "DELAY" effect will be heard. In the bottom right position only the "PANNING" effect will be heard. In positions among the centre and the four corners of the rectangular zone defined by the corners, the effects will be heard in proportion, with the volume of each effect depending upon how near the joystick is to the particular corner. A headphone monitor output terminal 44 is provided for the headphones output 21, whilst a volume control 45 is used to control the volume of the signal sent to the headphones. The device 1 features a comprehensive MIDI specification in relation to the effects controls. In the device 1, MIDI 'controllers' are assigned to each control which transmit and receive MIDI values from 0 to 127. This allows MIDI recording/playback of any changes made to the controls during a performance. The individual effects will now be described in detail in turn . FILTER/LFO For this effect, the audio signal is passed through a resonant filter circuit with 'sweeps' being controlled by a triangular LFO running in synchronisation with the input BPM. "FREQUENCY", "RESONANCE" and "ENV.MOD." (ENVELOPE MODIFICATION) controls 46, 47 and 48, respectively, are used to alter the characteristics of the filter. The timing can be set to any of the 'BEATS' settings or adjusted manually with the 'SPEED' control 39. Figure 8 gives an example of the modification of the audio signal by this effect if the audio source is playing at 120 BPM and the 'BEATS' in the FILTER/LFO section are set to 1/1. CUTTER The CUTTER effect can change both the volume and gating (chopping) of the audio source in synchronisation with the input BPM. The timing can be set to any of the 'BEATS' settings or adjusted manually with the 'SPEED' control 40. When a 'SHAPE' control 49 is set to sawtooth (minimum) the effect will be a ramped change in the volume of the audio signal between a low level point set by a 'DEPTH' control 50 and OdB gain. Figure 9 gives an example of the modification of the audio signal by this effect if the audio source is playing at 120 BPM, the 'BEATS' in the CUTTER section are set to 1/1, the 'SHAPE' control 49 is set to sawtooth and the 'DEPTH' control 50 is set to "MAX". When the 'SHAPE' control 49 is set to square (maximum) the effect will be a gated change in the audio level, the length of the gate period being set by the 'DEPTH' control 50. Figure 10 gives an example of the modification of the audio signal by this effect if the audio source is playing at 120 BPM, the 'BEATS' in the CUTTER section are set to 1/1, the 'SHAPE' control 49 is set to square and the 'DEPTH' control 50 is set to "MAX". When the "SHAPE" control is set to an intermediate position, a gated ramped volume is obtained. DELAY The DELAY effect produces a digital delay or 'echo' of the audio source in synchronisation with the input BPM. The timing can be set to any of the 'BEATS' settings (except that there is no 'User Beats' selection) or adjusted manually with the 'SPEED' control 41. A 'REPEAT' control 51 adds more repeats of the echo as it is moved clockwise. A "REPRO" (REPRODUCTION) control 52 sets the volume of the delayed signal (wet) in relation to the audio source signal (dry) , when used in conjunction with pressing the button 33. When used on its own the control 52 controls the quality of the delayed sound from pure digital quality (minimum) through vintage tape quality (12 o'clock) to extreme "grunge" type (maximum harmonic distortion, very limited bandwidth, and full "chorus") . This facility is provided because analog sound reproduction machines of about 25 years ago used magnetic tape loops and multiple heads to create a delay or echo effect, but the reproduction quality of these vintage machines by today's digital standards, was really quite poor, with their limited bandwidth, harmonic distortion and erratic speed variations (since they had motor driven capstan wheels) ; however, not everyone wants a pure, clean digital delay and now these older machines are in demand for their character and instability. The device 1 can reproduce this poorer quality in software to offer the user a choice of reproduction . Figure 11 gives an example of the modification of the audio signal by this effect if the audio source is playing at 120 BPM, the 'BEATS' in the DELAY section are set to 1/1, the • REPEAT' control 51 is set to off and the "REPRO" control 52 is set to -3dB. PANNTNG The PANNING effect produces a stereo, left-to-right, automatically shifting 'pan' of the audio source in synchronisation with the BPM. The timing can be set to any of the 'BEATS' settings or adjusted manually with the 'SPEED' control 42. An "SPS" (Spatial Panning System) control 53 sets the amount of separation of the three audio bands from "OFF" (all frequencies are locked together) through "2-WAY" to "FULL". When the SPS control 53 is set to "2-WAY" a "RANGE" control 54 sets the mix of the LOW, MID and HIGH frequency bands and pans two of them in opposite directions whilst holding the third in the centre; i.e when set to 'Lo-Hi' position, the MID frequencies remain static in the centre whilst the LOW and HIGH frequencies pan from left to right at 180 degrees. When the SPS control 53 is set to FULL, all three audio frequency bands are moved across the stereo fields as shown in Figure 12. Figure 13 gives an example of the modification of the audio signal by this effect if the audio source is playing at 120 BPM, the 'BEATS' in the PANNING section are set to 1/1 and the SPS control 53 is set to 'Off ("RANGE" control 54 has no function) . Figure 14 gives an example of the modification of the audio signal by this effect if the audio source is playing at 120 BPM, the "BEATS" in the "PANNING" section are set to 1/1, the "SPS" control 53 is set to "2-WAY" and the "RANGE" control 54 is set to "Lo-Mid" . The timing of the four effects is controlled by the BPM of the incoming audio signal, or by the MIDI clock signal of a connected sequencer (MIDI IN) . A 'SYNC switch 55 on the rear panel is used to select between AUDIO and MIDI tempo operation. The correct input level settings for operation are setup using 'SIGNAL/CLIP* LEDs 56, 57, 58 and 59. The user increases the output from the audio source until the red CLIP LED just begins to flash. The level should then be adjusted back so that only the green SIGNAL LED is on. This sets the input volume at the level best for the working of the device 1. The BPM Engine analyses the incoming audio signal. When four separate inputs are received the BPM Engine sums the four inputs and analyses them as one. When a BPM reading is detected, the calculated tempo will be shown on the 'BPM DISPLAY' 7 and an LED 60 in a 'MASTER ON/OFF' button 61 and any effects 'ACTIVATE' LEDs 62, 63, 64 and 65 will flash on each downbeat at the BPM rate. By pressing and holding a 'TAP' button 66 a user can clear the BPM. 'BEAT TRACKING' LEDs 75 to 77 show any synchronisation adjustments. If the BPM measured is unchanged then the LED 76 will be lit. If the BPM measured is decreasing or increasing then the LED 75 or 77, respectively, will be lit. EFFECTS - GENERAL The 'MASTER ON/OFF' button 61 switches on and off any effects that are currently activated or 'ready'. Pressing any one of eight 'BEATS SELECT' buttons 67 to 74 alters the tempo settings of any effects which have their 'SET' LED 78 to 81 on. The SET LEDs are turned on and off by pressing the respective SET buttons 31 to 34. The LEDs 82 to 89 in the buttons 67 to 74 do not function in this mode (they are operational only in Record and Program modes) . EFFECT - FTLTER/LFO An 'ACTIVATE' button 90 switches this effect into 'ready' mode. The LED 62 will flash (at the BPM rate) when activated and change to 'on' when the 'MASTER ON/OFF' button 61 is set to On'. To set the effect to any one of the seven musically derived 'BEATS' settings or the 'USER BEATS' setting the 'SET' button 31 is pressed and the LED 43 illuminates. The eight 'BEATS SELECT' buttons 67 to 74 are used to select the desired option. The 'SPEED' control 39 can be used to override and adjust these settings at any time. As the control 39 is moved clockwise or counterclockwise the BEATS LEDs 35 will momentarily light as their setting is passed. EFFECT - CUTTER An 'ACTIVATE* button 91 switches this effect into 'ready' mode. The LED 63 will flash (at the BPM rate) when activated and change to On" when the 'MASTER ON/OFF' button 61 is set to ' on ' . To pre-set the effect to one of the seven musically derived 'BEATS' settings or the 'USER BEATS' setting the 'SET' button 32 is pressed and the LED 79 lights up. The eight 'BEATS SELECT' buttons 67 to 74 are used to select the desired option. The 'SPEED' control 40 can be used to override and adjust these settings at any time. As the control 40 is moved clockwise or counterclockwise the BEATS LEDs 36 will momentarily light as their setting is passed. EFFECT - DELAY An 'ACTIVATE' button 92 switches this effect into 'ready' mode. The LED 64 will flash (at the BPM rate) when activated and change to 'on' when the 'MASTER ON/OFF' button 61 is set to ' on ' . When the delay effect is switched off, the delayed signal will not be cut off. For example, if the 'REPEAT' control 51 is set to four repeats, the repeats will sound after the 'ACTIVATE' button 92 switches off the effect. To pre-set the effect to one of the seven musically derived 'BEATS' settings (the delay effect does not use the 'USER BEATS' feature) the 'SET' button 33 is pressed and the LED 80 lights up. The 'BEATS SELECT' buttons 68 to 74 are used to select the desired option. The 'SPEED' control 41 can be used to override and adjust these settings at any time. As the control 41 is moved clockwise or counterclockwise the BEATS LEDs 37 will momentarily light as their setting is passed. EFFECT - PANNING An 'ACTIVATE' button 93 switches this effect into 'ready' mode. The LED 65 will flash (at the BPM rate) when activated and change to 'on' when the 'MASTER ON/OFF' button 61 is set to ' on ' . To preset the effect to one of the seven musically derived 'BEATS' settings or the 'USER BEATS' setting the 'SET' button 34 is pressed and the LED 81 illuminates. The eight 'BEATS SELECT' buttons 67 to 74 are used to select the desired option. The 'SPEED' control 42 can be used to override and adjust these settings at any time. As the control 42 is moved clockwise or counterclockwise the BEATS LEDs 38 will momentarily light as their setting is passed. JOYSTICK MTX CONTROL The joystick 43 controls the relative mix level of the four effects when the device 1 is set to single input mode, i.e. when there are individual inputs the joystick will have no function. Depending on its position, a complex blend of the activated effects can be heard which will constantly change in real-time as the joystick 43 is moved. USER BEATS The 'USER BEATS' section allows the operator to trigger the FILTER/LFO, CUTTER or PANNING effects with their own custom rhythm pattern. Instead of the effects being generally in a regular pattern as a set number of events per bar, a user can set a particular arrangement of events over a certain number of bars, which arrangement is then repeated. For example a user could set a pattern length of six bars and place events anywhere among those bars on particular beats of those bars. This pattern is then repeated. When a 'LIVE(REC)' button 94 is selected, the activated effects (set to 'USER') will trigger only when the 'TAP' button 66 is pressed. The buttons 95 to 98 marked '1 - 4' are programme memories which allow the user to store any custom patterns. The buttons 94 to 98 have their own LEDs 99 to 103. USER BEATS RECORDING EXAMPLE USING MEMORY LOCATION 1 The memory button 95 is pressed and held down and then the 'LIVE(REC)' button 94 is pressed. Both LEDs 99 and 100 flash (at the current BPM rate if detected - in default at 120 BPM if no audio/MIDI signal is present) to indicate 'record pause' mode. The main display will now show the position of the detected downbeat in each bar (for example at the third beat as seen in Figure 1) and (instead of the BPM of the audio input - 128 BPM in Figure 1) the pattern length (for example eight bars) . In 'record pause 1 mode the 'POS' digit shows the current pattern beat position (flashing '3') and will show a 1,2,3,4, count-in when the recording process is started. It will continue to show a 1,2,3,4 beat count for the duration of the recording process. In 'record pause' mode a 'PATTERN SET' button 104 having an LED 105 is used to select between set PATTERN LENGTH (LED 105 off) and set QUANTISE (LED 105 on) . The pattern length can be set from one to eight bars. The Quantise value for the pattern can be set to 1/4 note, 1/4 triplet, eighth note, eighth note triplet, sixteenth note and sixteenth note triplet . The 'LIVE (REC) ' button 94 is now pressed to start the recording process. Both LEDs 99 and 100 will stay on to indicate 'record mode'. The 'POS' digit will show a 1,2,3,4 count in. RECORDING - in step-time as used in popular sequencers such as ROLAND'S MC 303. When step recording, the eight 'BEATS SELECT' buttons 67 to 74 act as event indicators/switches which are used to record and monitor the events from 2 beats of each bar. A chasing LED display runs from left to right across LEDs 82 to 89 ("QUANTISE" set to whole notes) or LEDs 84 to 89 ("QUANTISE" set to triplet notes) and tracks the current position of the pattern backed up by the 'LGH/BAR' digits on the main display 7. The 'LGH/BAR' number changes as the pattern runs through its pre-set number of bars to show the current bar position. Pressing any of the eight (or six) buttons 67 to 74 triggers an event in that position (its LED stays on) . Pressing the button a second time will remove the event (its LED goes off) . For example, if buttons 71 and 74 are pressed with 'QUANTISE' set to ' 16t' and the 'LGH/BAR' digit currently showing '01' the activated effects will trigger on the first and second beats of the first bar. When the pattern moves to beats 3 and 4 of the bar the eight (or six) buttons will show/record events in that section of the bar and so on until the end of the last preset bar in the pattern, at which point the pattern loops round back to is start point. A 'BAR LOOP' button 106 associated with an LED 107 is used to hold the current section of the bar so that editing can be carried out more easily. Pressing this button 106 again releases the 'holding loop' . The pattern then continues onwards from the end of the current looped section. The pattern will continue to loop around the set number of bars in record mode until the 'LIVE (REC) ' button 94 is pressed again. When pressed, record mode is exited, the main display reverts to normal BPM mode and the 'LIVE (REC) ' LED 99 goes off. TAP RECORDING The 'TAP' button 66 can be used to enter events in realtime as the recording is in progress. It cannot be used to erase events. The software 'auto-Quantises' (i.e. corrects) the tapped-in events to the nearest note as set by the QUANTISE value in PATTERN SET. PROGRAMS The 'PROG' button 106 can alternatively be used in conjunction with the 'BEATS SELECT' buttons 67 to 74 to store all of the settings of the four effects modules, the BPM reading, the position of the joystick 43 and the selected 'USER BEATS' memory to provide easy recall 'scenes'. A user presses the 'PROG' button 106 (and its LED 107 lights up) in normal mode (not record mode) to enter program mode. Pressing any of the buttons 67 to 74 recalls the preset program and the LED in the button will come on. When any of the controls are moved, the LED in the button will start to flash to indicate 'EDIT' mode, i.e. the stored program has now been altered. To save a new scene, a user presses and holds down one of the buttons 67 to 74 for 3 seconds, at which time the LED in the button will flash rapidly and 'SAVE' will appear in the main display 7 to confirm the save. To exit program mode a user presses the 'PROG' button 106 again and its LED 107 goes out . MIDI The MIDI Transmit and Receive channels of the device 1 are locked together and cannot be changed independently. To set the operating MIDI channel a user presses a 'MIDI CH' button 108 once and its associated LED 109 illuminates. The main display 7 will now the current channel setting in the two right-hand digits. The user presses the buttons 68 and 67, respectively to decrement or increment the channel number from 01-16. To exit MIDI channel mode, the user presses the 'MIDI CH' button 108 again and the LED 109 goes out. The device 1 is also provided with a nudge gyro-stick 110 that can be employed by a user for two purposes, when the stick 110 is moved Northwards or Southwards it respectively increases or decreases the BPM value by 0.1 BPM per press. If the stick 110 is moved Westwards or Eastwards it respectively pulls or pushes the MIDI clock downbeat position by 0.5 beat per press (i.e. not altering the tempo of the effect (s), but changing their synchronisation with the audio source) . The device 1 is also provided on its rear with an on-off switch 111 and a socket 112 for connecting the 9vDC power supply to the device 1. There are also three sockets 113, 114 and 115 for connection to an external MIDI source. Referring to Figure 15, the "FILTER" main thread 150 begins as a continuous sampling of the audio input and, for every sample, the software firstly checks at stage 151 whether the envelope of the oscillator is in attack mode, i.e. if it is increasing. If the envelope is increasing then the software moves to stage 152 where the value of the envelope is increased unless it has reached its peak, whereupon the envelope is set to decay mode. The software then passes to stage 153. If at stage 151 the envelope is not in attack mode, i.e. it is in decay mode, the software passes to stage 154. At stage 154 the value of the envelope is reduced by a decay time constant. At stage 153 the new frequency of the output is calculated from the frequency set by the control 46 plus the current value of the envelope. The software then passes to stage 155 when a new value of the filter output is calculated as being equal to the old filter output value plus the new frequency multiplied by a velocity (the velocity is zero on the first cycle of the thread) . The software then passes to stage 156 where a new value of the velocity is calculated as being equal to the old value of the velocity + the new value of the frequency multiplied by an acceleration (the acceleration is one on the first cycle of the thread) . The software then passes to stage 157 where a new acceleration is calculated as being equal to the filter input value minus the new filter output value minus (the new velocity divided by resonance) . The resonance is set by the control 47 on the front panel. For each cycle of the thread 150, the three stages 155, 156 and 157 are carried out once for each channel of the stereo sound source. Then the software passes to an end 158 and returns to the stage 151. Figure 16 shows the software that is triggered when a new downbeat is detected. The envelope is reset to attack mode at the stage 159 and the main thread 150 re-starts as if for a first sample. Referring to Figure 17, a "VOLUMER" main thread 160 again begins as a continuous sampling of the audio input and, for every sample, the software first checks at stage 161 whether the volumer is ramping up, i.e. the volume is increasing. If so, the software moves to stage 162 where the value of the volume is increased, unless it has reached its maximum, whereupon it is set at that maximum. The software the passes to the thread end 163 and the thread cycles again. However, if the volumer was ramping down, then the software moves to stage 164, where the volume is reduced, unless it has reached zero, whereupon it is set at zero and the volumer is set to ramp up. The software then passes to the thread end 163 and the thread cycles again. Figure 18 shows the software that is triggered when a new downbeat is detected. The volume is set to ramp down at stage 165 and the main thread 160 re-starts as if for a first sample. Referring to Figure 19, a "CHOPPER" main thread 170 again begins as a continuous sampling of the audio input and, for every sample, the software first checks at stage 171 whether the chopper is ramping to "on". If so, then the software passes to stage 172 where the ramp is incremented unless the ramp is at its maximum, whereupon the chopper is set "on". Then the software passes to stage 173. However, if the chopper is not ramping to "on", then the software checks at stage 174 whether the chopper is "on". If the chopper is "on", then the software again passes to stage 173. At the stage 173, if the value attained by a timing ramp is greater than a switch value set by the control 50, the chopper is set to ramp to "off". Then the software passes to a stage 175. On the other hand, if at stage 174 the chopper was not "on", then the software checks at stage 176 whether the chopper is ramping to "off". If it is not ramping to "off", then the software passes to the stage 175; however, if it is ramping to "off", the software passes to stage 177 where the output ramp is decremented unless the ramp value is at its minimum, when the chopper is set to "off". Then the software passes to the stage 175. At the stage 175, the timing ramp is incremented, unless it overflows, in which case it is set to its maximum. The thread then ends at 178 and the software passes to stage 171. Figure 20 shows the software that is triggered when a new downbeat is detected. At the stage 179, the timing ramp is reset to zero and the chopper is set to ramping "on" . Figure 21 shows the working of the "DELAY" effect. The input signal 180 passes to a summer 181 where any previous echoes are added and then passes to a distorter/limiter 182 where the signal is distorted and has its bandwidth limited depending upon the setting of the control 52 and then passes to a first half 183 of a sample rate converter 183, 184. This changes the speed of writing an audio input sample into a delay line memory 185 and so changes the length of the delay period in the memory 185, as set by the "BEATS" control 33 and the "SPEED" control 41. The other half 184 of the sample rate converter complementarily changes the speed of reading the sample out of the memory 185 unless the output from a "chorus" waveform generator 186 is added at a summer 187 to interfere with the accuracy of the converter 183, 184. The distorter/limiter 182 and the generator 186 are controlled by the "REPRO" switch 52 and their purposes are to produce in the audio output 188 the distortions and frequency band limitations and the tape speed variations of an analog tape- playing machine. After the converter half 184, a feed-back stage 189 is provided which is activated by the "REPEAT" control 51 and controls the number of repeats fed back to the summer 181. Figure 22 illustrates the operation of software employed to divide either one of the two channels of a stereo audio input in the "PANNING" effect into a low-frequencies output, a mid-frequencies output and a high-frequencies output to be shifted between the two sound sources (not shown) . The input 190 is fed both to a low pass filter 191 and a summer 192. The output from the filter 191 is supplied both as a low- frequencies channel output 193 and to an inversion stage 194, the output from which, when added to the audio input at the summer 192, gives an output 195 from the summer 192 consisting of only the mid-and high-frequencies. The output 195 is fed both to a summer 196 and a high-pass filter 197. The output from the filter 197 is supplied both as a high- frequencies channel output 198 and to an inversion stage 199, the output from which, when added to the input 195 to the summer 196 gives a mid-frequencies channel output 200. Referring to Figure 23, a panner control ramp main thread 210 again begins as a continuous sampling of the audio input and, for every sample, the software increments the panner control main ramp at the stage 211 and then checks, at the stage 212, whether the main ramp has overflowed. If it has, then the main ramp is set to its maximum at a stage 213 and the software cycles to the stage 211; if it has not overflowed, then the software cycles directly to the stage 211. Figure 24 shows the software that is triggered when a new downbeat is detected. At the stage 214, the panner control ramp is set to zero. The device 300 shown in Figures 25 to 27 is a compact, hand-held unit having a single input 301 for receiving an audio signal, the tempo of which signal is calculated and displayed in BPM on a 4-digit LED display 302. The lamp 303 flashes to confirm receipt of an input. The device 300 uses the input to calculate a stable clock pulse. The clock pulse is transmitted by the device 300 to an external source of sound, for example, a sequencer or a tone module via an output 304, and controls the speed (i.e. tempo) of that external source so that it outputs its sound at the same tempo as, and in synchronisation with, the audio input. The software of the device 300 immediately adjusts to any drift in synchronisation between the audio input and the clock pulse and also responds to any major tempo changes of the audio input to correct the clock pulse. A ring of lamps 305 are switched on and off in turn such that they create the image of a light rotating at the rate of the clock pulse. Lamp 305z in the ring is a beat one indicator which shows the first beat of every four. Lamps 306, 307 and 308 indicate the continuous performance of the tempo measuring carried out by the device 300. While the lamp 307 is lit, the device 300 is calculating the tempo of the audio source as being unchanged. When the tempo of the audio source changes by speeding up or slowing down, the device 300 calculates the new tempo, which will be displayed at the display 302 in BPM. A new rate of clock pulse is thus generated and the lamp 308 will light up when the pulse rate is being slowed down, or the lamp 306 will light up if the pulse rate is being speeded up. The tempo of the audio source is therefore constantly monitored, and the clock pulse rate is adjusted accordingly, therefore altering the speed of the external source of sound. The tempo of patterns and songs programmed into the external source of sound can be controlled directly from the audio source, leaving a user free to add his own individual musical pieces and percussion. It is also possible for a drummer to use the device 300 to control the speed of the external source of sound (as opposed to the clock pulse doing the same) by feeding a mixed signal from a drum kit into the device 300. A button 309 associated with an LED 309z is a start/pause button which is used to send the clock pulse to the external source, or pause the pulse as desired. When paused, re-pressing the button 309 will restart the external source of sound at the point in its sequence at which it was paused. A button 310 is a stop/reset button that can be used to stop the sending of the clock pulse to the external source of sound and also, if the signal is currently paused, it will reset the signal to its start position, so that when the signal is unpaused the external source of sound will restart at the beginning of its sequence. A 4-way gyro-stick 311 works in an identical fashion to the gyro-stick 110 on the device 1. Figure 28 shows a block diagram of hardware of the device 300. An input signal 315 from the terminal 301 is processed in a left and right summer 316 that converts a stereo signal into a single signal. The single signal then passes through an input buffer 317 which conditions the signal amplitude to suit the circuitry downstream. The buffered signal passes to an auto gain control amplifier 318. The output signal from the auto gain control amplifier 318 passes to both low frequency conditioning 319 and high frequency conditioning 320 which facilitate detection of the downbeats by a microcontroller 321 and its software. The conditioned low frequency signal and the conditioned high frequency signal then pass to the microcontroller 321 that calculates the tempo in BPM and feeds that information to the display 302 and as MIDI clock pulses 322 to flash the lamp 305z. The microcontroller 321 also has a feedback 323 to the auto gain control amplifier 318. In addition to supplying the necessary information to the displays 302, the microcontroller 321 supplies the MIDI clock pulse 322 to drive an external MIDI sequencer or tone module. The device 300 can operate over a range of input BPM of 90 to 180 BPM. The lock-in time for the device 300 to make a display of a reading can be 2 to 4 seconds from introduction of readable beat information, and the audio input to external source synchronisation can be less than 6mS . The device 300 has several advantages from the point of view of a DJ. It analyses audio signals from vinyl or CD/tape and calculates the tempi in BPM. The BPM's are displayed but, more importantly, the beat information from the input is used to generate a MIDI clock signal which runs in synchronisation with the audio input, enabling any connected MIDI sequencer/tone module or in fact any computer/sequencer software set-up automatically to lock-in and track the tempo of the audio. The software constantly monitors and corrects the relative audio/MIDI beat synchronisation to keep the beats locked together and also follows any tempo changes in real-time if vinyl/CD deck pitch controls are adjusted. Thus, the tempi of patterns and songs programmed into the MIDI sequencer can be controlled directly from the audio leaving the DJ free to add or 'tweak' his own MIDI music/percussion parts and produce his own individual performance.

Claims: CIΔIMS 1. A method of treating an audio input signal having a tempo, comprising determining the tempo of said signal, and modifying said signal in time with the tempo of the original signal . 2. A method according to claim 1, wherein said modifying comprises selecting one or more of a plurality of manners of modifying. 3. A method according to claim 1 or 2, wherein a manner of modifying consists of frequency filtering said signal. 4. A method according to claim 3, wherein said filtering is controlled by means of a triangular low frequency oscillator. 5. A method according to any preceding claim, wherein a manner of modifying consists of modifying the amplitude of said signal. 6. A method according to claim 5, wherein the modifying of the amplitude of said signal is according to a predetermined pattern . 7. A method according to claim 5 or 6, wherein the modifying of the amplitude of said signal is to produce a series of amplitude pulses in which increases of amplitude alternate with decreases of amplitude. 8. A method according to any preceding claim, wherein a manner of modifying consists of repeating said signal. 9. A method according to claim 8, wherein said repeating is after a predetermined time. 10. A method according to claim 8 or 9, wherein said repeating is at a predetermined volume. 11. A method according to any preceding claim, wherein a manner of modifying consists of changing the quality of said signal . 12. A method according to claim 11, wherein said changing includes selecting from a number of different sound qualities . 13. A method according to claim 12, wherein a selected sound quality is that of a character of an analog sound-reproducing machine . 14. A method according to any preceding claim, wherein a manner of modifying comprises separating out first and second audio signals of respective differing frequency bands from said audio input signal and supplying said first and second signals to first and second spaced-apart sources of sound such that said first and second signals each shift between said first and second sources. 15. A method according to claim 14, wherein said modifying further comprises separating out from said audio input signal a third audio signal of a third differing frequency band. 16. A method according to claim 15, wherein said third audio signal shifts between said first and second sources of sound such that the shifting of the first, second and third signals follows a predetermined pattern. 17. A method according to claim 15 or 16, wherein the first, second and third separated-out signals are respectively low, medium and high frequency bands of said audio input signal. 18. A method according to claim 2 or any one of claims 3 to 17 as appended to claim 2, and further comprising displacing a control within a zone bounded by a plurality of locations associated with the respective manners of modifying said audio input signal, such that, with said control at any selected one of said locations, the degree of modification associated with that selected one location is at its maximum and the other method (s) of modification is/are significantly below its maximum/their respective maxima, and such that, with said control at a further location intermediate said locations, all of the methods of modification are above their minima. 19. A method according to any preceding claim, and further comprising selecting the rate at which said modifying takes place . 20. A method according to any preceding claim, and further comprising adjusting by means of a common control the tempo at which said modifying of said audio input signal takes place and the synchronisation of the modification with respect to said audio input signal. 21. A method according to any preceding claim, and further comprising selecting a time period, programming into said time period an arrangement of audio events and repeating said arrangement for every time period of a series of time periods each equal to the first-mentioned time period, thereby producing a pattern of audio events which consists of said arrangement repeated and which modifies said audio input signal. 22. A method according to any preceding claim, and further comprising determining the tempo of another audio input signal and modifying, in a manner different from the modification of the first-mentioned audio input signal, the other audio input signal in time with the tempo of the other audio input signal. 23. Apparatus for treating an audio input signal having a tempo, comprising determining means for determining the tempo of said signal, and modifying means for modifying said signal in time with the tempo of the original signal. 24. Apparatus according to claim 23, and further comprising manually-operable selecting means arranged to control said modifying means so as to select one or more of a plurality of manners of modifying said audio input signal. 25. Apparatus according to claim 24, and further comprising control means, said control means being displaceable within a zone bounded by a plurality of locations associated with the respective manners of modifying said audio input signal, such that, with said control means at any selected one of said locations, the degree of modification associated with that selected one location is at its maximum and the other method (s) of modification is/are significantly below its maximum/their respective maxima, and such that, with said control means at a further location intermediate said locations, all of the methods of modification are above their minima. 26. Apparatus according to claim 25, wherein said control means is a joystick. 27. Apparatus according to any one of claims 23 to 26, and further comprising a common control means for adjusting both the tempo at which said modifying of said audio input signal takes place and the synchronisation of the modification with respect to said audio input signal. 28. Apparatus according to claim 27, wherein said adjusting means is a gyrostick. 29. Apparatus according to any one of claims 23 to 28, wherein said determining means and said modifying means comprise a micro-controller. 30. A method of treating an audio signal, comprising automatically modifying said signal to produce a series of amplitude pulses in which increases of amplitude alternate with decreases of amplitude. 31. A method of treating an audio input signal, comprising separating-out first and second audio signals of respective differing frequency bands from said audio input signal and supplying said first and second signals to first and second spaced-apart sources of sound such that said first and second signals each shift between said first and second sources. 32. A method according to claim 31, wherein said modifying further comprises separating out from said audio input signal a third audio signal of a third differing frequency band. 33. A method according to claim 32, wherein said third audio signal shifts between said first and second sources of sound such that the shifting of the first, second and third signals follows a predetermined pattern. 34. A method according to claim 32 or 33, wherein the first, second and third separated-out signals are respectively low, medium and high frequency bands of said audio input signal. 35. A method of mixing audio effects, comprising displacing a control within a zone bounded by a plurality of locations associated with respective audio effects, such that, with said control at any selected one of said locations, the effect associated with that selected one location is at its maximum and the other effects are significantly below their respective maxima, and such that, with said control at a further location intermediate said locations, all of said effects are above their minima. 36. A method according to claim 35, wherein said audio effects are at least two selected from the following manners of modifying an audio input signal a manner of modifying consisting of frequency filtering, a manner of modifying consisting of amplitude modification, - a manner of modifying consisting of repeating said audio input signal, and - a manner of modifying comprising separating out first and second audio signals of respective differing frequency bands from said audio input signal and supplying said first and second signals to first and second spaced-apart sources of sound such that said first and second signals each shift between said first and second sources. 37. Apparatus for mixing audio effects, comprising control means displacable within a zone bounded by a plurality of locations associated with respective audio effects, such that, with said control means at any selected one of said locations, the effect associated with that selected one location is at its maximum and the other effects are significantly below their respective maxima, and such that, with said control means at a further location intermediate said locations, all of said effects are above their minima. 38. A method of treating an audio input signal, comprising selecting a time period, programming into said time period an arrangement of audio events and repeating said arrangement for every time period of a series of time periods each equal to the first-mentioned time period, thereby producing a pattern of audio events which consists of said arrangement repeated and which modifies said audio input signal. 39. A method according to claim 38, wherein said audio events are the occurrence of audio effects from the following range of manners of modifying said audio input signal a manner of modifying consisting of frequency filtering, a manner of modifying consisting of amplitude modification, - a manner of modifying consisting of repeating said audio input signal, and - a manner of modifying comprising separating out first and second audio signals of respective differing frequency bands from said audio input signal and supplying said first and second signals to first and second spaced-apart sources of sound such that said first and second signals each shift between said first and second sources. 40. A method of treating an audio signal having a tempo, comprising supplying another signal and adjusting by means of a common control both the tempo of said other signal and the synchronisation of said other signal with respect to said audio signal. 41. Apparatus for treating an audio signal having a tempo, comprising first supplying means for supplying an audio signal, second supplying means for supplying another signal, and common control means for controlling both the tempo of said other signal and the synchronisation of said other signal with respect to said audio signal. 42. A method of treating a digital audio signal, comprising treating said audio signal in a manner to produce an output sound of a character of an analog sound-reproducing machine.

Inventors: THOMPSON MARK EDMUND, THOMPSON, MARK, EDMUND
Applicants: RED SOUND SYSTEMS LIMITED, THOMPSON MARK EDMUND, THOMPSON, MARK, EDMUND
Application year: 1999
Main classification: G10H1
IPC codes: G10H1