System for controlling a mixer via external controller

A system includes at least one controller device connectable to a computer where a mixer function is implemented by application software. The controller device includes: a communication interface connectable to the computer; a plurality of faders capable of remote-controlling parameters of channels assigned thereto; a channel shift button; and a bank shift button. The channels assigned to the faders are collectively shifted by one channel in response to an instruction given via the channel shift button, or collectively shifted by the one bank in response to an instruction given via the bank shift button. For each of the controller devices, identification information of the controller device and information of a first channel of all of the assigned channels is stored so that the stored information is used at the time of activation of the software for restoring previous settings stored at the time of last deactivation of the software.

BACKGROUND

The present invention relates to a system in which an external controller is connected to a computer having installed therein an application program, called “DAW” (Digital Audio Workstation) software, for implementing audio processing functions, such as recording and reproduction, effect impartment, mixing etc. of audio signals, and in which the DAW software is remote-controlled via the external controller.

In the field of audio signal processing apparatus using a computer, it has heretofore been known to perform audio processing, such as recording, editing, mixing etc. of performance data, through digital signal processing. The audio signal processing apparatus employs a general-purpose computer, such as a PC (Personal Computer), and various types of hardware devices, such as an audio interface and MIDI (Musical Instrument Digital Interface) interface, necessary for the audio signal processing. Further, an application program for performing audio signal processing functions is installed in the computer. With such arrangements, audio signal processing functions, such as recording and reproduction, effect impartment, mixing etc. of audio signals, are implemented by the computer. Such audio signal processing apparatus are called “digital audio workstations” (DAWs). In the following description, the application program for the computer to perform such DAW functions will be referred to as “DAW software”.

The DAW software operating on a PC is well-developed such that even an individual person can easily perform music production by installing the DAW software in the PC. However, along with a recent increase in the number of functions of the DAW software, necessary parameters have increased, so that it has become difficult to manipulate all of the parameters through operation of a mouse alone. Thus, in some cases today, a dedicated external controller for manipulating the DAW software is connected to a PC having the DAW software installed therein so that the DAW software is controlled via the external controller. In such cases, designated parameters of channels set on the DAW software (or controller) can be remote-controlled.

Examples of such techniques are disclosed in:

Steinberg Media Technologies GmbH CC121 Operation Manual [online], Internet <ftp://ftp/steinberg.net/Download/Hardware/CC121/CC121_OperationManual_ja.pdf>

Many of the dedicated controllers for manipulating the DAW software are for professional use and high-priced. Although there are also inexpensive controllers for personal use, they have only a small number of physical controls (or operators), and it is difficult to simultaneously manipulate a plurality of parameters and a plurality of tracks by use of such an inexpensive controller. Further, because, in many cases, the PC having the DAW software installed therein is for personal use and other external devices are connected to the PC, the controller does not always stay in a same physical connection state. Therefore, on occasion, there is a need to reset a connection state between the DAW software and the controller. Further, many of the types of controllers are designed on the premise that they are used on a stand-alone basis, and these types of controllers cannot be used simultaneously and in an interlocked fashion.

SUMMARY OF THE INVENTION

In view of the foregoing prior art problems, it is an object of the present invention to provide an improved system which can eliminate a need for resetting a connection state between an external controller (controller device) and application software and which allows a plurality of external controllers (controller devices) to be connected to a computer and to operate in an interlocked fashion.

In order to accomplish the above-mentioned object, the present invention provides an improved system including at least one controller device connectable to a computer where a mixer function is implemented by application software, the controller device comprising: a communication interface connectable to the computer; a plurality of faders each capable of remote-controlling parameters of one of a plurality of channels assigned thereto, the plurality of channels having consecutive channel numbers; a channel shift button operable to give an instruction for collectively shifting, by one channel, the channels assigned to the plurality of faders; and a bank shift button operable to give an instruction for collectively shifting, by one bank, the channels assigned to the plurality of faders, the one bank comprising a number of channels equal to a total number of the plurality of faders, the system comprising a control section which, upon activation of the application software, assigns channels, which are to be mixed by a mixer function, to the plurality of faders in ascending order of channel numbers starting with a predetermined first channel number, and which collectively shifts, by one channel, the channels assigned to the plurality of faders in response to the instruction given via the channel shift button or collectively shifts, by the one bank, the channels assigned to the plurality of faders in response to the instruction given via the bank shift button. When a plurality of the controller devices are connected to the computer, the control section not only assigns the channels to the faders, considering that a single controller device provided with a given number of faders, equal to a product between the total number of the controller devices connected to the computer and the total number of the faders provided in each of the controller devices, is connected to the computer, but also stores controller information including respective identification information of the controller devices connected to the computer and information indicative of a predetermined first channel of all of the channels assigned to the faders.

According to the present invention, the control section handles a plurality of the controller devices connected to the computer as a single controller device provided with a given number of faders, equal to a product between the total number of the controller devices connected to the computer and the total number of the faders provided in each of the controller devices, but also stores the controller information including the respective identification information of the controller devices connected to the computer and information indicative of the predetermined first channel of all of the channels assigned to the faders. Thus, once the application software is activated with a plurality of the controller devices connected to the computer, settings of the channels at the time of last deactivation of the application software can be restored by reading out the stored controller information. Further, because the controller information includes the respective identification information of the controller devices connected to the computer, it is possible to eliminate a need for resetting (setting again) connection states of the controller devices with the application software.

The present invention may be constructed and implemented not only as the apparatus invention discussed above but also as a method invention. Also, the present invention may be arranged and implemented as a software program for execution by a processor, such as a computer or DSP, as well as a non-transitory storage medium storing such a software program. In this case, the program may be provided to a user in the storage medium and then installed into a computer of the user, or delivered from a server apparatus to a computer of a client via a communication network and then installed into the client's computer. Further, the processor used in the present invention may comprise a dedicated processor with dedicated logic built in hardware, not to mention a computer or other general-purpose processor capable of running a desired software program.

DETAILED DESCRIPTION

FIG. 1shows an embodiment of a system of the present invention where at least one controller device (external remote controller) is connected to a PC (Personal Computer)1. InFIG. 1, the PC1has installed therein DAW (Digital Audio Workstation) software that is application software for implementing audio processing functions, such as recording and reproduction, effect impartment, mixing etc. of audio signals. Two external remote controllers2and3, each of which is a dedicated controller device for manipulating the DAW software, are connected to the PC1. The PC1includes a plurality of USB (Universal Serial Bus) terminals of a USB interface that is one of serial interface standards for interconnecting peripheral devices and a PC, and the external remote controllers2and3too include USB terminals. The PC1and the external remote controllers2and3are communicatively interconnected via USB cables interconnecting their respective USB terminals. The external remote controllers2and3can remote-control parameters of individual channels in the DAW software.

Whereas, in the illustrated example ofFIG. 1, two external remote controllers2and3are connected to the PC1, up to n (e.g., four) external remote controllers are connectable to the PC1. The external remote controllers2and3are of a same construction, and thus, the following describe representatively the construction of the external remote controller2.

As shown inFIG. 1, the external remote controller2includes four faders Fd2a, Fd2b, Fd2cand Fd2d. Each of the four faders Fd2ato Fd2dis in the form of a vertically elongated touch panel and is capable of adjusting a fader level of a channel assigned thereto by a human operator or user sliding its finger or the like on and along the touch panel. In each of the faders Fd2ato Fd2dis incorporated a display section Lv2a, Lv2b, Lv2cor Lv2dthat comprises a plurality of LEDs disposed at substantially equal intervals along the longitudinal axis of the touch panel. In each of the display sections Lv2a-Lv2d, one of the LEDs which corresponds to a current position of a fader knob (i.e., fader level) of the channel assigned thereto (i.e., corresponding channel) is lit or illuminated. As the user slides its finger or the like on and along any one of the faders Fd2ato Fd2d, the position of the corresponding fader knob is moved, so that the LED illuminated in the corresponding display section Lv2a-Lv2dis moved in accordance with, i.e. in an interlocked relation to, the moved fader knob position. Namely, because the position of the fader knob represents a fader level, the fader level can be adjusted by the user sliding its finger or the like on and along the fader Fd2a-Fd2d.

FIG. 2shows a GUI (Graphical User Interface) screen of the DAW software displayed on the PC1which has the external remote controllers2and3connected thereto as shown inFIG. 1and on which the DAW software is running. In the illustrated example ofFIG. 2, a window Wa of a sequencer and a window Wb of a mixer are being displayed on the GUI screen of the DAW software. The window Wa is a GUI permitting production of a music piece, on which information of a plurality of tracks of performance data and track-by-track performance data are time-serially displayed in horizontally elongated rectangles. Once a reproduction (play) button is depressed, a cursor c gradually moves rightward at a speed corresponding to a tempo, during which the performance data of the individual tracks at each cursor position are reproduced. Further, with the DAW software, a mixer function is performed or implemented such that, at the time of reproduction, audio signals of the individual tracks are output after being mixed by the mixer. On the window Wb, which is a GUI of the mixer that mixes audio signals of the individual tracks, are displayed at least the faders of the plurality of channels for adjusting mixing levels of the individual tracks. The user can adjust the mixing levels by moving or dragging the corresponding fader knobs on the screen to thereby adjust fader levels of the channels (tracks) assigned to the faders.

The faders of, for example, twelve channels are being displayed on the window Wb, and the displayed channels, comprising the tracks, can be assigned to the individual faders. As an example, a control section that controls the channel assignment and stores the controlled results is included in the PC1(i.e., incorporated as application software).

Positions of the fader knobs can be remote-controlled with the external remote controller2in place of the faders displayed on the window Wb. In this case, positions of the fader knobs of channels assigned to the four faders Fd2ato Fd2dof the external remote controllers2are remote-controlled. In this case, four channels of desired increasing or ascending consecutive channel numbers can be assigned to the faders Fd2ato Fd2d(namely, the four channels can be assigned to the faders Fd2ato Fd2din ascending order of the channel numbers); channels of random non-consecutive channel numbers cannot be assigned to the faders Fd2ato Fd2d. The assigned four channels can be changed by the user depressing a channel shift button provided in a “Channel” section or a bank shift button provided in a “Bank” section of the external remote controller2shown inFIG. 1. Namely, if the user depresses a “<” button Cd2, the channels assigned to the faders Fd2ato Fd2dare shifted by one channel in a channel-No. decreasing or descending direction. For example, if the user depresses the “<” button Cd2with channels of channel Nos.3to6(i.e., channels ch3to ch6) assigned to the faders Fd2ato Fd2d, then channels ch2to ch5are assigned to the faders Fd2ato Fd2d. If the user depresses the “>” button Cu2in the “Channel” section, the channels assigned to the faders Fd2ato Fd2dare shifted by one channel in a channel-No. increasing or ascending direction. For example, if the user depresses the “>” button Cu2with channels ch3to ch6assigned to the faders Fd2ato Fd2d, then channels ch4to ch7are assigned to the faders Fd2ato Fd2d. Because the channels displayed on the window Wb sequentially increase in channel number in a left-to-right direction, the “<” button Cd2may be called “leftward channel shift button”, while the “>” button Cu2may be called “rightward channel shift button”.

Further, if the user depresses a “<” button Bd2in the “Bank” section, the channels assigned to the faders Fd2ato Fd2dare shifted by one bank (in this case, four channels) in the channel-No. decreasing or descending direction. For example, if the user depresses the “<” button Bd2with channels ch6to ch9assigned to the faders Fd2ato Fd2d, then channels ch2to ch5are assigned to the faders Fd2ato Fd2d. If the user depresses the “>” button Bu2in the “Bank” section, the channels assigned to the faders Fd2ato Fd2dare shifted by one bank (four channels) in the channel-No. increasing or descending direction. For example, if the user depresses the “>” button Bu2with channels ch6to ch9assigned to the faders Fd2ato Fd2d, then channels ch10to ch13are assigned to the faders Fd2ato Fd2d. Thus, the “<” button Bd2may be called “leftward bank shift button”, while the “>” button Bu2may be called “rightward bank shift button”.

Namely, by the user depressing the channel shift button Cd2or Cu2or bank shift button Bd2or Bu2, four channels of desired consecutive channel numbers can be assigned to the Fd2ato Fd2d.

As noted above, four channels of desired ascending consecutive channel numbers can be assigned to the faders Fd2ato Fd2d(namely, the four channels can be assigned to the faders Fd2ato Fd2din ascending order of the channel numbers) independently of a channel selected on the window Wb of the PC1. Note, however, that, if the user simultaneously depresses the “<” button Cd2and a “Shift” button Sh2of the external remote controller2, the function of the button Cd2is switched to a “Select” function so that four channels of desired ascending consecutive channel numbers, starting with the channel currently selected on the window Wb of the PC1, are assigned to the faders Fd2ato Fd2d. For example, if channel ch3is currently selected on the window Wb, channels ch3to ch6are assigned to the faders Fd2ato Fd2d. Further, if the user simultaneously depresses the “>” button Cu2and the “Shift” button Sh2, the function of the button Cu2is switched to a “Meter” function (i.e., level meter display function) so that input levels of four channels assigned to the faders Fd2ato Fd2dare displayed on the corresponding display sections Lv2ato Lv2d. If the user operates, i.e. slides its forger on, any one of the faders Fd2ato Fd2dwhile level meters are displayed in response to the depression of the “>” button Cu2and the “Shift” button Sh2, the display section of the operated fader displays a position of the fader knob for a given time and then returns back to the level meter display. Note that the above-mentioned level meter display function is in an OFF state when the external remote controller2is activated.

The external remote controller3has the same functions as the external remote controller2; namely, the external remote controllers2and3are constructed to behave in the same manner.

FIG. 3is a block diagram showing an example hardware setup of the PC1in which the DAW software is installed. As shown inFIG. 3, a CPU (Central Processing Unit)10in the PC1executes a management program (Operating System or OS) so that general behavior of the PC1is controlled by the OS. The PC1also includes a non-volatile ROM (Read-Only Memory)11in which are stored various programs and various data, and a RAM (Random Access Memory)11in which are stored a working area of the CPU10and various data. The PC1includes a storage device21that may be a drive device provided with any of various recording media, such as a hard disk HD, compact disk CD and flexible disk FD, and various applications, such as the DAW software, are stored in the hard disk HD. By executing the DAW software, the PC1implements the audio processing functions, such as recording and reproduction, effect impartment, mixing etc. of audio signals, so that desired music production can be readily performed by use of the PC1.

A display IF13is a display interface for displaying, on a display section14such as a liquid crystal display, various GUI screens of currently operating applications. A detection IF15is an interface for scanning controls (operators)16, such as switches, provided on the PC1to detect operation of any of the controls16, so that an operation signal corresponding to the operated control16. A communication IF17is a communication interface for performing communication with an external device, such as a controller device, via a communication I/O18, and the communication IF17is, for example, a USB or Ethernet (registered trademark) interface. An effecter (EFX)19imparts, under the control of the CPU10, effects, such as reverberation, echo and chorus, to audio signals having been mixed by the DAW software. Further, under the control of the CPU10, a DSP20performs audio signal processing for mixing input audio signals after adjusting sound volume levels and frequency characteristics of the audio signals on the basis of respective parameters and then controlling audio characteristics, such as sound volume, panning and effect, of the mixed audio signals on the basis of respective parameters. The above-mentioned CPU10, ROM11, RAM12, display IF13, detection IF15, communication IF17, EFX19, DSP20and storage device21communicate data with one another via a communication bus22.

An AD23comprises a plurality of analog input ports for inputting analog signals to the PC1, and the analog signals thus input are converted via the AD23into digital signals and then sent to an audio bus26. A DA24comprises a plurality of analog output ports for outputting mixed analog signals from the PC1, and digital signals received via the audio bus24are converted by the DA24into audio signals and output from the DA24. A DD25comprises a plurality of input/output ports for not only inputting digital signals to the PC1but also outputting mixed digital signals to the outside. Digital input signals input via the DD25are sent to the audio bus26, and digital output signals received via the audio bus26are output to a digital recorder or the like. The EFX19and the DSP20communicate data etc. with the AD23, DA24and DD25via the audio bus26. Note that the digital signals sent from the AD23and DD25are received by the DSP20so that the aforementioned digital signal processing is performed by the DSP20on the received audio signals.

Whereas hardware of the AD23, DA24and DD25may be provided in the PC1, the AD23, DA24and DD25may be implemented by software in the PC1. Further, if the CPU10is constructed to perform the audio signal processing in place of the DSP20, the DSP20can be dispensed with.

FIG. 4shows a hierarchical structure of the PC to which are connected the external remote controllers according to an embodiment of the invention connected thereto. In the illustrated example ofFIG. 4, three external remote controllers2,3and4are connected to the PC1via USB cables connected to their respective USB terminals. The external remote controllers2,3and4are connected to ports1aof different port numbers of the PC1under the control of the OS1c. The port numbers depend on a driver1bused, and correspondence relationship between the ports numbers and the external remote controllers2,3and4is stored by the OS1c. Further, the external remote controllers2,3and4are logically connected to different port names of MIDI ports of the DAW software under the control of the OS1c. Correspondence relationship between the port names and the external remote controllers2,3and4is determined and stored by the DAW software. In this way, communication between the DAW software1dand the external remote controllers2,3and4can be performed under the control of the OS1c.

When the external remote controllers2,3and4have been connected to the PC1and the DAW software1dhas been activated for the first time, the external remote controllers2,3and4are newly registered into the DAW software in order of indexes allocated to the port names of the MIDI ports. The indexes allocated to the port names depend on the driver1band are, for example, in the form of MAC (Media Access Control) addresses or serial numbers, such as manufacturer's serial numbers, of the external remote controllers2,3and4connected to the ports. Also, at the time of initial activation of the DAW software1d, controller IDs are allocated to the external remote controllers2,3and4, using the indexes of the individual port names, such that each of the external remote controllers2,3and4can be uniquely identified. Further, the DAW software manages and stores respective properties of the external remote controllers2,3and4registered in the DAW software. The properties include the names of the ports, having the external remote controllers2,3and4connected thereto, and the allocated controller IDs.

FIG. 5is a conceptual diagram explanatory of controller information of the external remote controllers that is stored in the working area of the RAM12used by the DAW software. The controller information includes information indicative of a channel number of a first (or leading) one of all of the channels last assigned to the external remote controllers and properties of external remote controllers A, B, . . . registered in the DAW software in the order of the indexes allocated to the port names. The properties of each of the external remote controllers A, B, . . . include the port name of the port, having the external remote controller connected thereto, allocated controller ID, channel number of a first one of the channels assigned to the external remote controller and the (total) number of faders provided in the external remote controller. Note that the properties themselves are retained even after the registered external remote controller is detached or disconnected from the PC1. Further, the controller information shown inFIG. 5is stored into the non-volatile storage device21when the DAW software has been deactivated, so that it can be read out from the storage device21and set into the RAM12upon subsequent activation of the DAW software (i.e., next activation of the DAW software following the last deactivation).

By using such controller information when the DAW software is activated next time, the channels last assigned to the external remote controllers can be restored even when the external remote controllers are connected to the port names of MIDI ports different from those which they were connected to last time.

FIG. 6shows a basic form of channel assignment to the external remote controller. Upon activation of the DAW software, at least the mixer function is implemented, so that a “mixer” screen is displayed on the window Wb as shown inFIG. 6. On the “mixer” screen are displayed twelve channel faders30of channels ch1to ch12that sequentially increase in channel number one by one in the left-to-right direction. The external remote controller2, on the other hand, is provided with four faders Fd2ato Fd2dto which different channels can be assigned. Let's now consider a case where four channels ch3to ch6, enclosed by broken line on the window Wb shown inFIG. 6, have been assigned to the faders Fd2ato Fd2d. In this case, the position of the fader knob of channel ch3can be remote-controlled to move by the user sliding its finger or the like on the corresponding fader Fd2a, and the LED illuminated on the display section Lv2ais moved in interlocked relation to the moved (i.e., moved-to) position of the fader knob. The same is true with the other faders Fd2b, Fd2cand Fd2d. Namely, by the user sliding its finger or the like on any one of the faders Fd2bto Fd2d, the position of the fader knob of channel ch4-ch6assigned to the fader can be remote-controlled to move, and the LED illuminated on the display section Lv2b-Lv2dis moved in interlocked relation to the moved-to position of the fader knob.

As the user slides its finger or the like on any one of the faders Fd2ato Fd2dof the external remote controller2, the fader knob31of the corresponding channel fader30displayed on the mixer screen is moved in interlocked relation to the user's sliding operation.

The following describe, with reference toFIG. 7, a detailed example manner in which channels are assigned to the external remote controller2when the external remote controller2is connected to the PC1. In the illustrated example ofFIG. 7, the DAW software is running on the PC1, and twelve channel faders30of channels ch1to ch12are displayed on the mixer screen of the window Wb. In this example, just one external remote controller2is connected to the PC1. Each of the channel faders30includes the fader knob31, level meter33, mute button “m” and solo button “s”. By the user dragging or moving the fader knob31of the channel fader30via a pointing device, the fader level of the channel assigned to the channel fader30can be adjusted. Further, an input level of the assigned channel is displayed on the level meter33, and switching can be made between mute ON and mute OFF states of the channel via the mute button “m”. Further, switching can be made between solo ON and solo OFF states of the channel via the solo button “s”. Furthermore, the channel number32of each of the channel faders30is displayed at the bottom of the channel fader30. Also, in the illustrated example ofFIG. 7, the channel fader30of channel ch3, whose background is displayed in a gray color, is a currently selected channel fader.

Let it also be assumed here that channels ch3to ch6in a “current assigned range 40” are channels currently assigned to the faders Fd2ato Fd2d. If the user depresses the channel rightward button Cu2(“>”) of the external remote controller2in a state as indicated by such a current assigned range 40, the channels assigned to the faders Fd2ato Fd2dare shifted by one channel in the rightward direction, as a result of which channels ch4to ch7are assigned to the faders Fd2ato Fd2das indicated by a “channel-shifted assigned range 41”. If the user depresses the bank rightward button Bu2(“>”) of the external remote controller2in a state as indicated by the channel-shifted assigned state 41, the channels assigned to the faders Fd2ato Fd2dare shifted by one bank in the rightward direction, as a result of which channels ch8to ch11are assigned to the faders Fd2ato Fd2das indicated by a “bank-shifted assigned range 42”. In this case, because only one external remote controller2is currently connected to the PC1, one bank has a size of four channels that is equal to the number of the faders provided in the external remote controller2.

Further, if the user depresses the channel leftward button Cd2(“<”) of the external remote controller2in the state as indicated by the current assigned range 40, the channels assigned to the faders Fd2ato Fd2dare shifted by one channel in the leftward direction, as a result of which channels ch2to ch5are assigned to the faders Fd2ato Fd2d. If the user depresses the bank leftward button Bd2(“<”) of the external remote controller2in the state as indicated by the channel-shifted assigned range 41, the channels assigned to the faders Fd2ato Fd2dare shifted by one bank in the leftward direction. However, in this case, the channels assigned to the faders Fd2ato Fd2dare shifted by only three channels in the leftward direction because there are only three channels, less than the one bank size, to the left of the channel-shifted assigned state 41, so that channel ch1that is of the smallest channel number is assigned to the leftmost-end fader Fd2aand the channels of ascending consecutive channel numbers ch2to ch4are assigned to the faders Fd2bto Fd2dfollowing the leftmost-end fader Fd2a; in the aforementioned manner, channels ch1to ch4are assigned to the faders Fd2ato Fd2d.

The following describe, with reference toFIG. 8, a detailed manner in which channels are assigned to the external remote controllers2and3when the two external remote controllers2and3are connected to the PC1. In the illustrated example ofFIG. 8, the DAW software is running on the PC1, and twelve channel faders30of channels ch1to ch12are displayed on the mixer screen of the window Wb. Because the external remote controllers2and3are connected to the PC1, one bank size is eight channels that is equal to the total number of the faders provided on the two external remote controllers2and3. Also, in the illustrated example ofFIG. 8, the channel fader30of channel ch3, whose background is displayed in a gray color, is a currently selected channel fader.

Let it be assumed here that channels ch3to ch10in a “current assigned range” 45 are currently assigned to the faders Fd2ato Fd2dand faders Fd3ato Fd3d. If the user depresses the channel rightward button Cu2(“>”) of the external remote controller2or the channel rightward button Cu3(“>”) of the external remote controller3in a state as indicated by such a current assigned range 45, the channels assigned to the faders Fd2ato Fd2dand Fd3ato Fd3dare shifted by one channel in the rightward direction, as a result of which channels ch4to ch11are assigned to the faders Fd2ato Fd2dand Fd3ato Fd3das indicated by a “channel-sifted assigned range 46”. If the user depresses the bank rightward button Bu2(“>”) of the external remote controller2or the bank rightward button Bu3(“>”) of the external remote controller3in a state indicated by the channel-shifted assigned range 46, the channels assigned to the faders Fd2ato Fd2dand Fd3ato Fd3dare shifted by one bank, i.e. eight channels, in the rightward direction. Actually, however, because the greatest channel number is “12” and thus there is only one channel, less than one bank size, to the right of the channel-shifted assigned range 46, the channels are shifted by one channel in the rightward direction, as a result of which channel ch12of the greatest channel number is assigned to the rightmost-end fader Fd3dand channels ch11to ch5of the preceding descending consecutive channel numbers are assigned to the faders Fd3cto Fd3aand the faders Fd2dto Fd2a(namely, channels ch11to ch5are assigned to the faders Fd2ato Fd2din descending order of the channel numbers) as indicated by a bank-shifted assigned state 47.

Further, if the user depresses the channel leftward button Cd2(“<”) of the external remote controller2or the channel leftward button Cd3(“<”) of the external remote controller3in the state as indicated by the current assigned range 45, the channels assigned to the faders Fd2ato Fd2dare shifted by one channel in the leftward direction, as a result of which channels ch2to ch9are assigned to the faders Fd2ato Fd2dand Fd3ato Fd3d. If the user depresses the bank leftward button Bd2(“<”) of the external remote controller2or the bank leftward button Bd3(“<”) of the external remote controller3in the state indicated by the channel-shifted assigned state 46, the channels assigned to the faders Fd2ato Fd2dand Fd3ato Fd3dare shifted by one bank, i.e. eight channels, in the leftward direction. Actually, however, because the smallest channel number is “1” and there are only three channels, less than one bank size, to the left of the assigned range 46, the channels are shifted by only three channels in the leftward direction, as a result of which channel ch1of the smallest channel number is assigned to the leftmost-end fader Fd2aand channels ch2to ch8of the following ascending consecutive channel numbers are assigned to the faders Fd2bto Fd2dand the faders Fd3ato Fd3d.

As set forth above, in the case where n external remote controllers are connected to the PC1, no matter which one of the channel shift buttons and bank shift buttons of the n external remote controllers is operated, all channels assigned to these external remote controllers are shifted in response to the operated channel shift button or bank shift button. However, in a case where the user instructs, through shift button operation, that a shift be effected beyond the channel of the smallest or greatest channel number, a channel shift is effected only up to the channel of the smallest or greatest channel number, i.e. a channel shift beyond the channel of the smallest or greatest channel number is inhibited. Namely, if the assigned range cannot be shifted by the number of channels as instructed through the user's operation of any one of the shift buttons, an exceptional channel assignment process is performed in which a channel shift is effected only up to the channel of the smallest or greatest channel number and then terminated.

Further, in the case where n external remote controllers are connected to the PC1and m faders are provided in each of the external remote controllers, the DAW software performs the channel assignment process, regarding or considering the product (n*m) as the number of channels constituting one bank size. Namely, even where n external remote controllers are connected to the PC1, the DAW software considers that only one external remote controller provided with the (n*m) faders is logically connected to the PC1.

FIG. 9Ashows a connection state in which three external remote controllers are connected to the PC1, andFIG. 9Bshows an example manner in which channels are assigned upon initial activation of the DAW software in the connection state ofFIG. 9A. Once the DAW software is activated for the first time (i.e., upon initial activation of the DAW software) in the connection state ofFIG. 9A, the DAW software determines which external remote controllers are currently connected to which port names of the MIDI ports, and the external remote controllers are newly registered into the DAW software in the order of the indexes of the port names to which the external remote controllers are connected. The indexes are MAC addresses or serial numbers, such as manufacturer's serial numbers, of the external remote controllers connected to the ports of the port names. If the order of the indexes of the port names is “(A)→(B)→(C)”, then the three external remote controllers are registered into the DAW software upon the initial activation of the DAW software in the order of the indexes, i.e. “Controller A→Controller B→controller C”, as shown inFIG. 9B. Note that the indexes of the port names depend on the driver1b.

Unique controller IDs are allocated, under the control of the DAW software, to the three external remote controllers, Controller A, Controller B and Controller C, newly registered upon the initial activation of the DAW software, and channels are assigned to the external remote controllers in the order of the indexes of the port names starting with the first channel number as indicated inFIG. 9B. Namely, upon the initial activation of the DAW software, channels of ascending consecutive channel numbers, starting with channel ch1that is the leading or first channel of various channels currently handled in the DAW software, are assigned to the external remote controllers in the order of Controller A→Controller B→Controller C. In the case where the three external remote controllers, Controller A, Controller B and Controller C, are connected to the PC1as noted above, the DAW software performs the channel assignment, considering the product (n*m) as the number of channels constituting one bank size. In this case, because each of the external remote controllers has four faders, the DAW software assigns twelve channels ch1to ch12(3*4=12) to Controller A, Controller B and controller C logically regarded or considered as a single external remote controller provided with twelve faders.

As a consequence, channels ch1to ch4are assigned to Controller A, channels ch5to ch8are assigned to Controller B, and channels ch9to ch12are assigned to Controller C. Further, in a case where the fourth external remote controller in addition to the first to third external remote controller is connected to the PC1, the DAW software considers that one logical external remote control provided with sixteen faders is connected to the PC1, sets sixteen channels as one bank size, and assigns sixteen channels ch1to ch16, constituting one bank size, to the four external remote controllers. In this case, channels ch13to ch16are assigned to the fourth external remote controller.

The controller information to be stored upon the initial activation of the DAW software includes the channel number of the first channel ch1of all the channels assigned to the external remote controllers, and profiles of Controller A, Controller B and Controller C. The profile of each of Controller A, Controller B and Controller C includes the respective port name, controller ID, channel number of the first channel of the channels assigned to the external remote controller and the number of faders provided in the external remote controller.

FIG. 10Ashows channel assignment to external remote controllers at the time of last deactivation of the DAW software, andFIG. 10Bshows channel assignment to external remote controllers at the time of next activation of the DAW software following the last deactivation. Namely, at the time of the last deactivation of the DAW software shown inFIG. 10A, three external remote controllers, Controller A, Controller B and Controller C, were (had been) registered in the DAW software, and channels ch1to ch4were assigned to Controller A, channels ch5to ch8assigned to Controller B, and channels ch9to ch12assigned to Controller C. Also, at the time of the deactivation, the DAW software stores the above-mentioned controller information. Then, once the thus-deactivated DAW software is activated again (i.e., upon the next activation), the DAW software identifies the controller IDs of the external remote controllers, determined to be currently connected to the PC1, on the basis of the MAC addresses or serial numbers, such as the manufacture's serial numbers, of the external remote controllers. In the illustrated example ofFIG. 10B, the controller IDs of Controller A, Controller B and Controller C are identified by the DAW software. Then, the DAW software reads out the stored controller information and determines, on the basis of the controller IDs identified upon the next activation, whether the connected external remote controllers have already been registered in the DAW software and whether the organization (i.e., combination and arrangement) of the connected external remote controllers is the same as that at the time of the last deactivation. In the illustrated example ofFIG. 10B, where Controller A, Controller B and Controller C are connected to the PC1, the DAW software determines that the connected Controller A, Controller B and Controller C have been registered and the organization of the connected controllers is the same as that at the time of the last deactivation. Then, the DAW software performs the channel assignment, considering twelve channels as the number of channels constituting one bank size. Here, because the leading or first channel in the controller information is of channel number ch1, the DAW software assigns twelve channels ch1to ch12to Controller A, Controller B and Controller C logically considered as a single external remote controller provided with twelve faders. Namely, channels ch1to ch4are assigned to Controller A, channels ch5to ch8are assigned to Controller B, and channels ch9to ch12are assigned to Controller C, and in this way, the same assignment state as at the time of the last deactivation is restored.

At the time of the next activation, the DAW software determines whether the currently connected external remote controllers are the same as those connected at the time of the last deactivation, on the basis of the controller IDs of the external remote controllers in place of the port names. Thus, even where the port names to which the external remote controllers have been connected at the time of the next activation are different (have changed) from those at the time of the last deactivation, the DAW software can accurately determine whether the connected external remote controllers have already been registered. Further, in the case where the fourth external remote controller was connected and channels ch13to ch16were assigned at the time of the last deactivation and where the fourth external remote controller has been determined to be currently connected to the PC1at the time of the next activation, channels ch13to ch16are assigned to the fourth external remote controller, and in this way, the same assignment state as at the time of the last deactivation is restored.

FIG. 11Ashows channel assignment to external remote controllers at the time of the last deactivation of the DAW software, andFIG. 11Bshows channel assignment to external remote controllers in a case where the number of external remote controllers connected to the PC1at the time of the next activation has decreased from that at the time of the last deactivation. Namely, at the time of the last deactivation of the DAW software shown inFIG. 11A, three external remote controllers, Controller A, Controller B and controller C, were (had been) registered in the DAW software, and channels chi to ch4were assigned to Controller A, channels ch5to ch8assigned to Controller B, and channels ch9to ch12assigned to Controller C. Also, at the time of the deactivation, the DAW software stores the above-mentioned controller information. Then, once the thus-deactivated DAW software is activated again (i.e., upon the next activation), the DAW software identifies the controller IDs of the external remote controllers, determined to be currently connected to the PC1, on the basis of the MAC addresses or serial numbers, such as the manufacture's serial numbers, of the external remote controllers. In the illustrated example ofFIG. 11B, the controller IDs of two external remote controllers, Controller A and Controller C, are identified by the DAW software. Then, the DAW software reads out the stored controller information and determines, on the basis of the controller IDs identified upon the next activation, whether the connected external remote controllers have been registered and whether the organization of the connected external remote controllers is the same as that at the time of the last deactivation.

In the illustrated example ofFIG. 11B, where Controller A and Controller C are connected to the PC1without Controller B being connected to the PC1, the DAW software determines that the connected controllers have been registered, but determines that the organization of the external remote controllers is different from that at the time of the last deactivation where Controller B was connected to the PC1. Because, in this case, only two external remote controllers are connected to the PC1, the DAW software performs the channel assignment, considering eight channels as the number of channels constituting one bank size. Here, because the first channel in the controller information is of channel number ch1, the DAW software assigns eight channels ch1to ch8to Controller A and controller C logically considered as a single external remote controller provided with eight faders. Namely, channels ch1to ch4are assigned to Controller A, and channels ch5to ch8are assigned to Controller C, as shown inFIG. 11B. Then, the DAW software stores controller information reflecting therein the changed assignment state.

At the time of the next activation, the DAW software determines whether the currently connected external remote controllers are the same as those connected at the time of the last deactivation, on the basis of the controller IDs of the external remote controllers in place of the port names. Thus, even where the port names to which the external remote controllers have been connected at the time of the next activation are different (have changed) from those at the time of the last deactivation, the DAW software can accurately determine whether the connected external remote controllers have been registered. Further, in the case where the fourth external remote controller was connected and channels ch13to ch16were assigned at the time of the last deactivation and where the same third and fourth external remote controllers have been determined to be currently connected to the PC1at the time of the next activation, channels ch9to ch12are assigned to the third the external remote controller and channels ch13to ch16are assigned to the fourth external remote controller.

FIG. 12Ashows channel assignment to external remote controllers at the time of the last deactivation of the DAW software, andFIG. 12Bshows channel assignment to external remote controllers in a case where the number of external remote controllers connected to the PC1at the time of the next activation has increased from that at the time of the last deactivation. Namely, at the time of the last deactivation of the DAW software shown inFIG. 12A, three external remote controllers, Controller A, Controller B and Controller C, were registered in the DAW software, and channels ch1to ch4were assigned to Controller A, channels ch5to ch8assigned to Controller B, and channels ch9to ch12assigned to Controller C. Also, at the time of the deactivation, the DAW software stores the above-mentioned controller information. Then, once the thus-deactivated DAW software is activated again (i.e., upon the next activation), the DAW software identifies the controller IDs of the external remote controllers, determined to be currently connected to the PC1, on the basis of the MAC addresses or serial numbers, such as the manufacture's serial numbers, of the external remote controllers. In the illustrated example ofFIG. 12B, the controller IDs of three external remote controllers, Controller A, Controller B and Controller C, are identified by the DAW software, but the controller ID of the fourth external remote controller is not identified because the fourth external remote controller (Controller D) has not yet been registered. Then, the DAW software reads out the stored controller information and determines, on the basis of the controller IDs identified upon the next activation, whether the connected external remote controllers have already been registered and whether the organization of the connected external remote controllers is the same as that the time of the last deactivation.

In the illustrated example ofFIG. 12B, the DAW software determines that the connected controllers, Controller A, Controller B and Controller C, have already been registered, but determines that the fourth external remote controller (Controller D) has not yet been registered. Also, the DAW software determines that the organization of the external remote controllers is different (has changed) from that at the time of the last deactivation because the fourth external remote controller (Controller D) has been newly connected. In this case, the DAW software creates controller information including the controller ID of the newly connected fourth external remote controller and registers Controller D immediately following the registered position of Controller C. Because four external remote controllers are connected to the PC1, the DAW software performs the channel assignment, considering sixteen channels as the number of channels constituting one bank size. Here, because the first channel in the controller information is of channel number ch1, the DAW software assigns sixteen channels ch1to ch16to Controller A, Controller B, controller C and Controller D logically considered as a single external remote controller provided with sixteen faders. In this case, channels ch1to ch16are assigned with higher priority on the earlier registered external remote controllers, i.e. Controller A, Controller B and controller C. Namely, channels ch1to ch4are assigned to Controller A, channels ch5to ch8assigned to Controller B, channels ch9to ch12assigned to Controller C, and channels ch13to ch16assigned to Controller D, as shown inFIG. 12B. Then, the DAW software stores controller information reflecting therein the changed assigned state.

At the time of the next activation, the DAW software determines whether the currently connected external remote controllers are the same as those connected at the time of the last deactivation, on the basis of the controller IDs of the external remote controllers in place of the port names. Thus, even where the port names to which the external remote controllers have been connected at the time of the next activation are different (has changed) from those at the time of the last deactivation, the DAW software can accurately determine whether the connected external remote controllers have been registered. Further, in the case where the fourth external remote controller was connected and channels ch13to ch16were assigned at the time of the last deactivation and where the same fourth external remote controller has been determined to be currently connected to the PC1at the time of the next activation, channels ch13to ch16are assigned to the fourth the external remote controller, and in this way, the same assignment state as at the time of the last deactivation is restored.

FIG. 13Ashows channel assignment to external remote controllers at the time of the last deactivation of the DAW software, andFIG. 13Bshows channel assignment to external remote controllers in a case where different external remote controllers from those at the time of the last deactivation have been connected at the time of the next activation. Namely, at the time of the last deactivation of the DAW software shown inFIG. 13A, three external remote controllers, Controller A, Controller B and controller C, were registered in the DAW software, and channels ch1to ch4were assigned to Controller A, channels ch5to ch8assigned to Controller B, and channels ch9to ch12assigned to Controller C. Also, at the time of the deactivation, the DAW software stores the above-mentioned controller information. Then, once the thus-deactivated DAW software is activated again (i.e., upon the next activation), the DAW software identifies the controller IDs of the external remote controllers, determined to be currently connected to the PC1, on the basis of the MAC addresses or serial numbers, such as the manufacture's serial numbers, of the external remote controllers. In the illustrated example ofFIG. 13B, the controller ID of Controller C is identified by the DAW software, but the controllers ID of newly connected external remote controllers (second and third connected controllers inFIG. 13B, i.e. Controller D and Controller F) are not identified because the newly connected external remote controllers, Controller D and Controller F, have not yet been registered. Then, the DAW software reads out the stored controller information and determines, on the basis of the controller ID identified upon the next activation, whether the connected external remote controllers have been registered and whether the organization of the connected external remote controllers is the same as that at the time of the last deactivation.

In the illustrated example ofFIG. 13B, the DAW software determines that Controller C currently connected to the DAW software has been registered, but determines that the newly connected external remote controllers, Controller D and Controller F, have not yet been registered. Also, the DAW software determines that the organization of the external remote controllers is different from that at the time of the last deactivation because (Controller D and Controller F) have been newly connected. In this case, the DAW software creates controller information including the controller IDs of the newly connected external remote controllers, i.e. Controller D and Controller F, and newly registers Controller D and Controller F in the order mentioned here. Because three external remote controllers are currently connected to the PC1, the DAW software performs the channel assignment, considering twelve channels as the number of channels constituting one bank size. Here, because the first channel in the controller information is of channel number ch1, the DAW software assigns twelve channels ch1to ch12to Controller C, Controller D and Controller F logically considered as a single external remote controller provided with twelve faders. In this case, channels ch1to ch12are assigned with higher priority on the earlier registered external remote controller. Namely, channels ch1to ch4are assigned to Controller C, channels ch5to ch8assigned to Controller D, and channels ch9to ch12assigned to Controller F, as shown inFIG. 13B. Then, the DAW software stores controller information reflecting therein the changed assignment state. If another new remote controller (i.e., fourth remote controller) has been connected to the PC1at the time of the next activation, channels ch13to ch16are assigned to the fourth remote controller.

At the time of the next activation, the DAW software determines whether the currently connected external remote controllers are the same as those connected at the time of the last deactivation, on the basis of the controller IDs of the external remote controllers in place of the port names. Thus, even where the port names to which the external remote controllers have been connected at the time of the next activation are different (has changed) from those at the time of the last deactivation, the DAW software can accurately determine whether the connected external remote controllers have been registered.

Further, in the above-described embodiment, the personal computer (PC)1having the DAW software installed therein includes a control section for controlling the assignment, storage of assigned results, etc. as described above with reference toFIGS. 6 to 13B; namely, application software for implementing the functions of the control section is incorporated in the PC1. However, the present invention is not so limited, and another computer in the system may perform the functions of the control section. Alternatively, a control section for controlling the assignment, storage of assigned results, etc. as described above with reference toFIGS. 6 to 13Bmay be included in each of the external remote controllers (controller devices)2and3; namely, the application software for implementing the functions of the control section may be incorporated in each of the external remote controllers (controller devices)2and3.

In each of the above-described controller devices of the present invention, the controller information indicative of an assignment state of channels to the controller devices at the time of the last deactivation of the DAW software is automatically stored, and channels are assigned to the controller devices at the time of the next activation (following the last deactivation) on the basis of the stored controller information. Thus, the present invention permits a seamless connection between the controller devices and the DAW software without the user caring about connecting and setting states of the controller devices. In this way, if only a desired controller device is physically connected to the DAW software, the controller device can be used in the same states as at the time of the last deactivation of the DAW software. In this case, even where the number of the controller devices connected to the DAW software is different from that at the time of the last deactivation of the DAW software, the first channel to be assigned is the same as at the time of the last deactivation. Further, if the number of the controller devices connected to the DAW software has decreased, the channels to be assigned is decreased, while, if the number of the controller devices connected to the DAW software has increased, the number of the channels to be assigned is increased. Also, the present invention can eliminate a need for resetting logical connection states in accordance with physical connection states.

Whereas the preceding paragraphs have described the controller device of the present invention as limited to a fader unit, the present invention may be practiced as a controller device for remote-controlling parameters of audio processing functions, such as recording and reproduction, effect impartment, mixing etc. of audio signals. Further, whereas the controller device of the present invention has been described as connected to a computer via a USB-based scheme, the scheme for physically connecting the controller device to the computer is not limited to the USB-based scheme and may be one using any other suitable communication interface. Furthermore, the maximum number of controller devices connectable to the computer is not necessarily limited to four and may be more than four.

This application is based on, and claims priority to, JP PA 2011-069816 filed on 28 Mar. 2011. The disclosure of the priority application, in its entirety, including the drawings, claims, and the specification thereof, are incorporated herein by reference.