Electronic device, electronic musical instrument, function allocation method in electronic device, and program
Patent Information
- Application Number
- JP2021045285
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-18
- Publication Date
- 2025-03-05
- Estimated Expiration
- 2041-03-18
AI Technical Summary
【0007】 本発明によれば、複数の機能の効果的な組合せを初心者でも良好に認識することが可能となる。
Smart Images

Figure 0007639430000001 
Figure 0007639430000002 
Figure 0007639430000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an electronic device, an electronic musical instrument, a function allocation method in an electronic device, and a program. [Background technology]
[0002] 2. Description of the Related Art Multifunctional electronic musical instruments, such as music synthesizers, are known that are equipped with a customization function that enables instant adjustment of parameters suitable for each tone color among a large number of parameter information that determines the tone color (for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 8-123415 Summary of the Invention [Problem to be solved by the invention]
[0004] However, it is difficult for inexperienced users or users with a particular playing style to discover effective combinations of functions.
[0005] SUMMARY OF THE PRESENT EMBODIMENT An object of the present invention is to provide an electronic musical instrument that allows even a beginner to easily recognize effective combinations of a plurality of functions. [Means for solving the problem]
[0006] An electronic musical instrument in one example embodiment includes a plurality of function designation keys and at least one processor, and the at least one processor determines a plurality of recommended functions to be recommended to a user based on matrix data indicating a combination recommendation degree of each function and data on the number of times each function has been used by the user, and assigns the determined plurality of recommended functions to each of the plurality of function designation keys. Effect of the Invention
[0007] According to the present invention, even a beginner can easily recognize effective combinations of a plurality of functions. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a hardware configuration of an embodiment of an electronic musical instrument. [Diagram 2] FIG. 2 is a diagram showing an example of the configuration of a switch and display unit 105. [Diagram 3] 11 is an explanatory diagram of the operation of a user button function assignment process; FIG. [Figure 4] 5A to 5C are diagrams illustrating examples of data configurations of various data used in a user button function assignment process. [Diagram 5] 13 is a flowchart showing an example of a button control process for a group of user buttons, including a calculation process of a column vector C. [Figure 6] 13 is a flowchart showing an example of a calculation process of column vector R and column vector F. [Figure 7] 13 is a flowchart showing an example of a calculation process of a column vector A and a button arrangement process. [Figure 8] 13 is a flowchart illustrating an example of an identification information display process. [Figure 9] 13A to 13C are diagrams illustrating an example of a screen of display information displayed on a full-dot LCD 202 by the identification information display process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Fig. 1 is a diagram showing an example of the hardware configuration of an embodiment of an electronic keyboard instrument, which is an example of an electronic musical instrument. In Fig. 1, an electronic keyboard instrument 100 is realized as, for example, an electronic piano, and includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a keyboard section 104, a switch and display section 105, and a sound source LSI 106, which are interconnected by a system bus 108. An output of the sound source LSI 106 is input to a sound system 107.
[0010] The keyboard unit 104 detects the depression or release of each of a plurality of keys as performance operators, and notifies the CPU 101 of the detection.
[0011] A switch and display unit 105 detects the operation of various switches by the performer and notifies the CPU 101, which then displays various information on a liquid crystal display.
[0012] In this embodiment, for example, as shown in FIG. 2, there are provided a user button group (function designation keys) 201 consisting of buttons 1 to N, a full-dot LCD (liquid crystal display) 202, and a function button group 203 consisting of function buttons 1 to M.
[0013] To each function button i (1≦i≦M) of the function button group 203, various functions are assigned for controlling various musical functions of the electronic keyboard instrument 100. The form of the function button group 203 may be a mechanical button, a touch panel display, or a hierarchical structure with less than M buttons, and the form is not particularly limited.
[0014] In this embodiment, of all M types of functions accessible from the function button group 203, a predetermined number N types of functions, which is less than the M types of functions, can be assigned to buttons 1 to N of the user button group 201. The user can quickly access the assigned functions, for example, during a performance, by operating the user button group 201. In this embodiment, it is possible to automatically assign to each button 1 to N of the user button group 201 a function that is frequently used by the user and a recommended function that is related to the function and that the user has not yet used.
[0015] The CPU 101 uses the RAM 103 as a working memory and loads a control program stored in the ROM 102 into the RAM 103 and executes it to control the electronic musical instrument 100 of Fig. 1. The CPU 101 executes a process of generating sound generation instruction data for instructing the sound generation or muting of a musical tone corresponding to a keyboard performance by a performer, based on a detection notification of a key-on or key-off operation notified from the keyboard unit 104, and notifies the sound source LSI 106 of the generated sound generation instruction data. In this embodiment, the CPU 101 also executes a control operation of automatically assigning a function frequently used by the user and a recommended function related to the function and not yet used by the user, to each button 1 to N of the user button group 201 shown in Fig. 2 in the switch and display unit 105 of Fig. 1, by loading a control program shown in a flowchart described later from the ROM 102 into the RAM 103 and executing it.
[0016] The sound source LSI 106 is a large-scale integrated circuit for generating musical tones. The sound source LSI 106 generates digital musical sound waveform data based on sound generation instruction data input from the CPU 101, and outputs the data to the sound system 107. The sound system 107 converts the digital musical sound waveform data input from the sound source LSI 106 into an analog musical sound waveform signal, amplifies the analog musical sound waveform signal with a built-in amplifier, and outputs the signal from a built-in speaker.
[0017] The details of the function assignment process (hereinafter referred to as "user button function assignment process") to the user button group 201 in Fig. 2 according to the embodiment of the electronic keyboard instrument 100 having the above configuration (hereinafter referred to as "this embodiment") will be described below. As described above with reference to Fig. 2, in this embodiment, it is possible to automatically assign a predetermined number N of functions that are frequently used by the user and recommended functions related to those functions that the user has not yet used, which are smaller than the M types of all functions accessible from the function button group 203, to each of the buttons 1 to N (function specifiers) of the user button group 201 that can be quickly accessed during a performance, etc.
[0018] Fig. 3 is an explanatory diagram of the operation of the user button function assignment process in this embodiment, and Fig. 4 is a diagram showing an example of the data configuration of various data used in the user button function assignment process. In the user button function assignment process in this embodiment, first, square matrix data indicating the combination recommendation level of each function for a plurality of functions M that is greater than a predetermined number N (hereinafter, referred to as "function combination recommendation level square matrix data") is stored in, for example, the ROM 102 in Fig. 1.
[0019] Specifically, the function combination recommendation degree square matrix data is stored in advance in the ROM 102 of Fig. 1 as a matrix W shown in Fig. 3. In the matrix W, as shown in Fig. 4(a), M types of functions (first functions) from function 1 to function M are assigned to each of the M rows (i-th row) (1≦i≦M), and M types of functions (second functions) from function 1 to function M are assigned to each of the M columns (j-th row) (1≦j≦M). In the example of Fig. 3, for example, seven functions, namely, a split function, a main part timbre function, a split part timbre function, a main part octave shift function, a split part octave shift function, a split point function, and a split part volume function, are assigned to each row and each column of the matrix W.
[0020] The split function is a function for splitting (dividing) the keyboard (not shown) of the keyboard section 104 in Fig. 1 into two areas. When the user presses the button to which the split function is assigned, the user can play, for example, a melody in the main part of the right keyboard area, which is divided by default, and can perform, for example, automatic accompaniment by operating specific keys in the split part of the left keyboard area.
[0021] The main part tone color function is a function for selecting the tone color of the main part instrument sound of the right side keyboard area that is enabled by the split function.
[0022] The split part tone color function is a function for selecting the tone color of the instrument sound of the split part of the left keyboard area that has been enabled by the split function.
[0023] The main part octave shift function is a function that can shift the range of the right keyboard area, which is enabled by the split function, to the higher or lower range in octave units.
[0024] The split part octave shift function is a function that can shift the range of the left keyboard area, which is enabled by the split function, to the higher or lower range in octave units.
[0025] The split point function is a function that can move the boundary position on the keyboard between the right keyboard area and the left keyboard area that has been enabled by the split function.
[0026] The split part volume function is a function that allows adjustment of the balance of the instrument volume of the split part in the left keyboard area, which is enabled by the split function, relative to the main part.
[0027] The above functions are merely examples for explaining the present embodiment, and various combinations of functions may be defined in an actual product.
[0028] Next, in the matrix W, for each intersection element where each of the M rows (i-th row, 1≦i≦M) intersects with each of the M columns (j-th column, 1≦j≦M), a recommendation degree W of the combination of the first function assigned to the row (i-th row) and the second function assigned to the column (j-th column) corresponding to the intersection element is calculated as shown in FIG. ij is set. In the diagonal elements of matrix W, the first function and the second function respectively assigned to the row (i-th row) and column (j-th column) (j=i) are the same, and the recommendation level is set to the maximum value of "1." However, this maximum value of "1" for the diagonal elements is the case when the matrix is normalized, and if it is not normalized, the value may be greater than "1." In the intersection elements of a row (i-th row) and a column (j-th column) (j≠i) to which mutually different first and second functions are respectively assigned, the value "0" is set if the combination of the first and second functions is not recommended, and a value closer to "1" is set as the recommendation level (affinity) of the combination of the first and second functions becomes higher. However, when it is desired to more highly recommend a combination of functions, these values (intersection elements) may be set to values larger than the values of the diagonal elements. In other words, the intersection elements may be set to values greater than "1".
[0029] In the example of FIG. 3, as shown by the dashed thick frame 301 (outer frame in the range of the 4th to 6th rows and the 4th to 6th columns) in the matrix W, for example, the split point function and the main part octave shift function, and the split point function and the split part octave shift function are set to a high recommendation level value of "0.8" (for example, dashed line 302 (thick frame in the range of the 6th row and the 4th column) or 303 (thick frame in the range of the 6th row and the 5th column) in FIG. 3). This means that when the user is using, for example, the main part octave shift function or the split part octave shift function, the split point function as an alternative can be assigned to the user button group 201 as a recommended function at the same time. Conversely, when the user is using, for example, the split point function, the main part octave shift function or the split part octave shift function as an alternative can be assigned to the user button group 201 as a recommended function at the same time. The reverse is also possible.
[0030] 3, for example, the split function and the main part tone color function or the split part tone color function are set to a high recommendation value of "0.8." This means that when the user is using the split function, for example, the main part tone color function and the split part tone color function can be assigned to the user button group 201 at the same time as recommended functions with a high probability. The reverse is also possible.
[0031] Alternatively, the split function and the main part octave shift function or the split part octave shift function are set to a relatively high recommendation level of "0.6." This means that, for example, when the user is using the split function, the main part octave shift function or the split part octave shift function can be assigned simultaneously to the user button group 201 as a recommended function with a relatively high probability. The reverse is also possible.
[0032] Alternatively, the split function and the split point function are set to a relatively high recommendation level of "0.4." This means that when the user is using the split function, for example, the split point function can be assigned to the user button group 201 as a recommended function with a relatively high probability. The reverse is also possible.
[0033] Furthermore, the split function and the split part volume function are set to a somewhat high recommendation level of "0.2." This means that when the user is using the split function, for example, the split part volume function may be assigned to the user button group 201 as a recommended function with a somewhat high probability at the same time. The reverse is also possible. In the present embodiment shown in FIG. 3, a square matrix W (matrix data) is exemplified. However, it does not necessarily have to be a square matrix, and a non-square matrix (matrix data) may be used. Setting all row elements of a specific function in a square matrix to 0 is equivalent to excluding the specific function in a non-square matrix. In the present embodiment, the diagonal elements in the square matrix W are set to the same value. However, it is not necessary to set the same value to the diagonal elements. For example, if a combination of function A and function B is recommended, but function B is strongly recommended when function A is used, whereas function A is not recommended to that extent when function B is used, different values may be set to the diagonal elements.
[0034] Next, in the above-described user button function allocation process in this embodiment, for example, the CPU 101 in FIG. 1 calculates the number of times each of a plurality of functions has been used by the user as function use count data.
[0035] Specifically, CPU 101 calculates the function use count data as column vector C shown in Fig. 3. In column vector C, M types of functions, function 1 to function M, are assigned to each of M rows (i-th row) (1≦i≦M) as shown in Fig. 4(b). In addition, the CPU 101 assigns the number of times each of M types of functions is used C to each element (1≦i≦M) of the i-th row of M rows in the column vector C, as shown in FIG. 4(b). i Set the number of times of use C i The unit of is, for example, the number of times.
[0036] Fig. 5 is a flowchart showing an example of a button control process for the user buttons 201 in Fig. 2, including a calculation process of the column vector C. This process is a process in which the CPU 101 in Fig. 1 loads a button control process program stored in the ROM 102 into the RAM 103, and repeatedly executes the program in a main loop process (not shown).
[0037] In FIG. 5, first, CPU 101 executes a button detection process to detect which button has been operated among function buttons 1 to N of function button group 203 in switch / display unit 105 in FIG. 2 (step S501). Here, N function buttons in function button group 203 are assigned as shortcuts to buttons 1 to N in user button group 201, respectively. Therefore, when any button j (1≦i≦N) of buttons 1 to N in user button group 201 is operated, CPU 101 determines that function button i (1≦i≦M) in function button group 203 corresponding to that button j has been operated.
[0038] Next, when the CPU 101 detects that, for example, a button i (1≦i≦M) is operated, the CPU 101 executes the function process P i Execute (step S502 i )(1≦i≦M).
[0039] Then, the CPU 101 calculates the number of times the i-th element in FIG. 4(b) corresponding to the button i in the structure of the column vector C having the data configuration example of FIG. 4(b) stored in the RAM 103 in FIG. i counts up by +1 (step S503 i )(1≦i≦N).
[0040] After that, the CPU 101 ends the button control process shown in the flowchart of FIG.
[0041] The above button control process is repeatedly executed by a main loop process (not shown), whereby function use count data is accumulated as a column vector C structure having the data configuration example of FIG. 4(b) on the RAM 103.
[0042] Returning to the explanation of FIG. 3, in this embodiment, CPU 101 calculates a recommendation degree for each of a plurality of functions for a user (hereinafter referred to as "function recommendation degree data for a user") from the function combination recommendation degree square matrix data and function use count data described above.
[0043] Specifically, the CPU 101 multiplies the matrix W by the column vector C according to the calculation of the following formula (1) to calculate the function recommendation degree data for the user as the column vector R shown in FIG. R = W C (1) In the column vector R, as shown in FIG. 4(c), M types of functions, function 1 to function M, are assigned to each of the M rows (i-th row) (1≦i≦M). In addition, the CPU 101 multiplies each of the elements (1≦i≦M) of the M rows (i-th row) in the column vector R by the matrix W in the formula (1) and the column vector C as shown in FIG. 4(c). i Calculate and set.
[0044] In the example of Fig. 3, in the matrix calculation shown in the above formula (1), for example, the user has not used the split point function even once. Therefore, the function usage count data of the element of the split point function in column vector C is 0 times (dashed line frame 304 in Fig. 3). However, as a result of the matrix operation of equation (1), a high figure of 104 appears as the user-to-user function recommendation level data for the split point function element of column vector R (dashed frame 305 in FIG. 3). This is for the following reasons. First, the fact that the user used the split function 100 times is reflected as a score of 40 for the split point function, which has a recommendation level of "0.4" for the split function. In addition, the fact that the user used the main part octave shift function and the split part octave shift function, which have a high recommendation level of "0.8" for the split function, 40 times each contributes to the addition of a score of 32+32. For this reason, the result of the multiplication + accumulation operation of the row of the split point function (the sixth row) of matrix W and column vector C and column vector C to calculate the user-to-user function recommendation level data for the split point function in column vector R is 0.4×100+0×0+0×0+0.8×40+0.8×40 +1×0+0×0=40+32+32=104 That is why it has a high score. This means that for users who rarely use the split point function (i.e., who may not even know about the split function) and who use the main part octave shift function or the split part octave shift function, the system of this embodiment recommends that they would be better off using the split point function to change the split position rather than using the octave shift function while keeping the split position fixed.
[0045] 3, the split function itself, the main part octave shift function, and the split part octave shift function, which are originally used frequently by users, have high function use count data values for these functions in column vector C, such as 100, 40, and 40. As a result, the values of each user-to-user function recommendation level data in column vector R obtained as a result of multiplying matrix W by column vector C are also high, such as 148, 100, and 100. For example, to calculate the user recommendation data for the split function in the column vector R, the result of multiplication and accumulation of the row (first row) of the split function in the matrix W by the column vector C is 1×100+0.8×0+0.8×0+0.6×40+0.6×40 +0.4×0+0.2×0=100+24+24=148 As such, it has a high score.
[0046] In this manner, in the user button function allocation process, the function recommendation degree for a user R obtained in the column vector R calculated by multiplying the matrix W, which is the function combination recommendation degree square matrix data, and the column vector C, which is the function use frequency data, is not the function use frequency data itself, but the function combination recommendation degree for a user R obtained in the column vector R calculated by multiplying the matrix W, which is the function combination recommendation degree square matrix data, and the column vector C, which is the function use frequency data. iBased on this, functions are assigned to the user button group 201. As a result, it is possible to assign functions that the user does not know to the user button group 201 as recommended functions based not only on the number of times the user uses the functions but also on the recommendation level (affinity) between the functions.
[0047] Continuing with the description of Fig. 3, in this embodiment, the CPU 101 calculates a predetermined number N of functions as function allocation determination data based on the function use count data and the function recommendation level data for users described above.
[0048] Specifically, CPU 101 calculates the function allocation determination data as a column vector F shown in Fig. 3. In the column vector F, M types of functions, function 1 to function M, are assigned to each of M rows (i-th row) (1≦i≦M), as shown in Fig. 4(d). Next, CPU 101 sets the value "1" to each of the elements of column vector F corresponding to a first number L (≦N) of elements in column vector C in descending order of the number of times of use. Next, the CPU 101 calculates the recommendation level R i The value "1" is further set to each of the elements of column vector F that correspond to the (NL) elements in descending order of the value of "1" and that do not yet have the above-mentioned value "1". Then, CPU 101 sets the value "0" to elements of column vector F other than the elements to which the value "1" is set.
[0049] For example, in the example in Figure 3, the function usage count data C in column vector C i The elements "F1, F4, F5" of the column vector corresponding to the L=3 elements "C1=100", "C4=40", and "C5=40" are set to "1" in descending order of the value of R. iThe value "1" is set to the element "F6" of the column vector F which corresponds to the (NL)=(4-3)=1 element "R6=104" in descending order of value of F, and which has not yet been set to the value "1" mentioned above. The value "0" is set to the elements "F2, F3, F7" other than the elements to which the value "1" is set. In this way, it is determined that the four functions of the split function, the main part octave shift function, the split part octave shift function, and the split point function are assigned to the N=4 buttons 1 to 4 of the user button group 201 in FIG. 2. However, the arrangement order has not yet been determined.
[0050] In this way, when calculating column vector F, information such as the value of the function use count data in column vector C or the value of the function recommendation level data for the user in column vector R is removed and summarized as function placement determination data with a value of 1. In other words, the function placement determination data of column vector F provides determination information as to which N types of functions out of M types of functions are to be assigned to N buttons 1 to N of user button group 201 in FIG.
[0051] The reason why this function placement determination data is selected from the L functions with the highest function usage count data values in the column vector C and from the N L functions with the highest function recommendation level data values in the column vector R is to enable functions to be assigned to the user button group 201 by balancing the criteria between the number of uses by the user and the function recommendation level to the user based on the recommendation level between functions.
[0052] 6 is a flowchart showing an example of the calculation process of the above-mentioned column vector R and column vector F. This process is a part of the process in which the CPU 101 in FIG. 1 loads a program for user button function assignment stored in the ROM 102 into the RAM 103 and executes it in accordance with an instruction by the user using a switch or the like (not shown) on the switch / display unit 105.
[0053] First, the CPU 101 calculates user-specific function recommendation data as a column vector R by multiplying a matrix W having the data structure example of FIG. 4(a), which is pre-stored in the ROM 102 of FIG. 1, by a column vector C having the data structure example of FIG. 4(b), which is generated in the RAM 103 of FIG. 1 by the button control processing exemplified in the flowchart of FIG. 5, using the calculation shown in the above-mentioned equation (1), and stores the data structure example of FIG. 4(c) in the RAM 103 (step S601).
[0054] Next, the CPU 101 refers to the column vector C in the data configuration example of FIG. 4(b) on the RAM 103, and obtains the function use count data C i The value "1" is set to the elements of the structure of the data configuration example of FIG. 4(d) of column vector F on the RAM 103 corresponding to the L (≦N) functions with high values of .
[0055] Furthermore, the CPU 101 refers to the column vector R of the data configuration example of FIG. 4(c) obtained on the RAM 103 in step S601, and extracts the user-specific function recommendation degree data R excluding the elements to which the value “1” has already been set in step S602. i The value "1" is set to the elements of the structure of the data configuration example of FIG. 4(d) of column vector F on RAM 103 corresponding to the top (NL) functions with the largest value (step 603).
[0056] In the initial state of the structure of the data configuration example of the column vector F on the RAM 103 in Fig. 4(d), all elements are set to the value "0." Therefore, in the structure of the data configuration example of the column vector F on the RAM 103 in Fig. 4(d), the values of all elements other than the elements to which the value "1" is set in steps S602 and S603 are set to "0."
[0057] After the process of step S603, CPU 101 ends the calculation process of column vector R and column vector F shown in the flowchart of FIG.
[0058] 3, in this embodiment, the CPU 101 calculates function allocation order data from the above-mentioned function combination recommendation degree square matrix data and function allocation determination data. Then, the CPU 101 assigns a predetermined number N of functions to each of the function specifiers in an arrangement order based on the calculated function allocation order data.
[0059] Specifically, the CPU 101 calculates the functional allocation ranking data as the column vector A shown in FIG. 3 by multiplying the matrix W by the column vector F according to the calculation shown in the following formula (2). A = WF (2) In column vector A, as shown in FIG. 4(e), M types of functions, function 1 to function M, are assigned to each of M rows (i-th row) (1≦i≦M). In addition, the CPU 101 multiplies each element (1≦i≦M) of the M rows (i-th row) of the column vector A by the matrix W of the formula (2) and the column vector F, as shown in FIG. 4(e). i Calculate and set.
[0060] Then, the CPU 101 calculates the function allocation order data A in the column vector A. i A predetermined number N of functions corresponding to the predetermined number N of elements are assigned to each of the function specifiers in a layout order corresponding to the order of the predetermined number N of elements having the largest value of .
[0061] For example, in the example of Figure 3, functional allocation order data A in column vector A i The split function, the main part octave shift function, the split part octave shift function, and the split point function, whose values are "A1=2.6", "A4=2.4", "A5=2.4", and "A6=3", are selected. And each function placement order data A iThe values of the split point function (A6=3), split function (A1=2.6), main part octave shift function (A4=2.4), and split part octave shift function (A5=2.4) are rearranged in descending order and assigned to the N=4 buttons 1 to 4 of the user button group 201 in FIG. 2.
[0062] In this manner, in this embodiment, the function allocation determination data of the column vector F is multiplied by the function combination recommendation degree square matrix data of the matrix W to calculate the function allocation order data of the column vector A, so that the order of functions allocated to each button of the user button group 201 is determined based only on the recommendation degrees between the functions of the matrix W, not on the number of times the user uses the functions. For example, in the example of FIG. 3, the function allocation order data A6=3 for the split point function (dashed frame 304 in FIG. 3) that has never been used by the user and whose function use count data of the column vector C is 0 is calculated (dashed frame 306 in FIG. 3), and the split point function is allocated to the first button 1 of the user button group 201. In this manner, it is possible to make it easier for the user to grasp the relationship between the functions.
[0063] However, the function layout ranking data of column vector A may be calculated based on the user function recommendation data of column vector R, so that the layout ranking of functions in the allocation to each button of user button group 201 also depends on the number of times the user uses the function.
[0064] Fig. 7 is a flow chart showing an example of the calculation process of the column vector A and the button arrangement process. This process is a part of the process in which the CPU 101 in Fig. 1 loads a program for user button function assignment stored in the ROM 102 into the RAM 103 and executes it in accordance with an instruction by the user using a switch or the like (not shown) on the switch display unit 105, as in Fig. 6, and is executed following the calculation process of the column vector R and the column vector F in Fig. 6.
[0065] First, CPU 101 multiplies matrix W having the data configuration example of FIG. 4(a), which is stored in advance in ROM 102 of FIG. 1, by column vector F having the data configuration example of FIG. 4(d), which is generated in RAM 103 of FIG. 1 by the processes of steps S602 and S603 of FIG. 6 described above, in accordance with the calculation shown in the above-mentioned equation (2), to calculate functional allocation ranking data as column vector A, and stores this in RAM 103 in the data configuration example of FIG. 4(e) (step S701).
[0066] Next, CPU 101 refers to column vector F and column vector A, and sequentially arranges functions whose arrangement has been confirmed, starting from button 1 on the left side of user button group 201 in FIG. 2, in descending order of arrangement priority (step S702).
[0067] After that, CPU 101 ends the calculation process of column vector A and the button arrangement process shown in the flowchart of FIG.
[0068] In this embodiment, function identification display information for identifying and displaying (labeling) each of the M types of functions described above is stored in advance in the ROM 102 of Fig. 1 in a data configuration example such as that shown in Fig. 4(f). Then, based on the function identification display information, the CPU 101 acquires function identification display information corresponding to the function assigned to each of the N types of function specifiers assigned according to the flowchart of Fig. 7, and displays the information in an identifying manner near the function specifier.
[0069] Fig. 8 is a flow chart showing an example of the above-mentioned identification information display process. This process is a part of the process in which the CPU 101 in Fig. 1 loads a program for user button function allocation stored in the ROM 102 into the RAM 103 and executes it in accordance with an instruction by the user using a switch or the like (not shown) on the switch display unit 105, as in Fig. 6 and Fig. 7, and is executed following the calculation process of the column vector A and the button arrangement process in Fig. 7.
[0070] In the flowchart of Fig. 8, the CPU 101 first refers to the allocation of functions to each button of the user button group 201 in Fig. 2, which was determined by the process of step S702 in Fig. 7. Then, for each function assigned to each button, the function identification display information S in the data configuration example of Fig. 4(f) stored in the ROM 102 is i 1 (step S801), the CPU 100 references the character string S, which is an identification display for identifying the function of each button, and generates display information D to be displayed on the full-dot LCD 202 of FIG. 2 based on the character string S for each function. The display information D is then stored in the RAM 1033 of FIG. 1 (step S801).
[0071] While the user is playing the electronic keyboard instrument 100, the CPU 101 instructs the control circuit of the full-dot LCD 202 to display the display information D generated for each function in step S801 on the full-dot LCD 202 of FIG. 2 (step S802).
[0072] Thereafter, CPU 101 ends the identification information display process shown in the flowchart of FIG. 8, ends the execution of the program for the user button function assignment process, and returns to the execution of a main loop process (not shown).
[0073] Fig. 9 is a diagram showing an example of a screen of the display information D displayed on the full-dot LCD 202 of Fig. 2 by the above-mentioned identification information display process. Assume that the split point function, split function, main part octave shift function, and split part octave shift function are assigned to N=4 buttons 1 to 4 of the user button group 201 by the process shown in the flowchart of Fig. 7. As a result, the display information D shown in Fig. 9 showing the labels of each function is always displayed near each of the buttons 1 to 4 at the bottom of the full-dot LCD 202 by the identification information display process shown in the flowchart of Fig. 8.
[0074] In this embodiment, the function combination recommendation degree data of the matrix W is stored in advance in the ROM 102 as a fixed value set by a factory setting, for example, but a plurality of types may be prepared according to the user's proficiency level, or may be generated based on the user's function usage history. Furthermore, the function combination recommendation degree data of the matrix W may be shared with other users via the Internet, etc.
[0075] In this embodiment, the user buttons 201 in FIG. 2 have been described as physical switch buttons, but these may be buttons displayed on a touch panel liquid crystal display, for example.
[0076] The following supplementary notes are further disclosed regarding the above-described embodiment. (Appendix 1) A plurality of function designation keys; At least one processor; wherein the at least one processor: determining a plurality of functions to be recommended to the user based on the matrix data indicating the degree of recommendation of the combination of each function and the data on the number of times each function is used by the user; assigning the determined recommended functions to the function designation keys, respectively; electronic equipment. (Appendix 2) In the matrix data, functions are associated with rows and columns, respectively; A value indicating the degree of recommendation of the combination of the first function corresponding to the row and the second function corresponding to the column is set in the intersection element where the row and the column intersect. 2. The electronic device according to claim 1. (Appendix 3) The intersection elements are set to values of 0 to 1. 10. The electronic device according to claim 2. (Appendix 4) The matrix data includes either a non-square matrix or a square matrix. 4. An electronic device according to any one of claims 1 to 3. (Appendix 5) The determined number of recommended features may include features that have never been used by the user. 5. An electronic device according to any one of claims 1 to 4. (Appendix 6) A plurality of music function designation keys; At least one processor; wherein the at least one processor: determining a plurality of recommended functions to be recommended to the user based on matrix data indicating the combination recommendation level of each music function and data on the number of times each music function is used by the user; assigning the determined recommended functions to the music function designation keys, respectively; Electronic musical instrument. (Appendix 7) At least one processor of the electronic device comprises: determining a plurality of functions to be recommended to the user based on the matrix data indicating the degree of recommendation of the combination of each function and the data on the number of times each function is used by the user; assigning the determined recommended functions to the function designation keys, respectively; method. (Appendix 8) At least one processor of the electronic device, determining a plurality of functions to be recommended to the user based on the matrix data indicating the degree of recommendation of the combination of each function and the data on the number of times each function is used by the user; assigning the determined recommended functions to the function designation keys, respectively; A program that executes a process. [Explanation of symbols]
[0077] 100 Electronic Keyboard Instruments 101 CPU 102 ROM 103 RAM 104 Keyboard section 105 Switch and display section 106 Sound source LSI 107 Sound System 108 System Bus 201 User buttons 202 Full-dot LCD 203 Function buttons W Function combination recommendation degree square matrix data C Column vector data of function usage count R User-to-user feature recommendation column vector data F Function allocation confirmed column vector data A Feature allocation ranking column vector
Claims
1. A plurality of function designation keys; At least one processor; wherein the at least one processor: determining a plurality of functions to be recommended to the user based on the matrix data indicating the degree of recommendation of the combination of each function and the data on the number of times each function is used by the user; assigning the determined recommended functions to the function designation keys, respectively; electronic equipment.
2. In the matrix data, functions are associated with rows and columns, respectively; A value indicating a recommendation level of a combination of the first function corresponding to the row and the second function corresponding to the column is set in an intersection element where the row and the column intersect.
2. The electronic device according to claim 1.
3. The intersection elements are set to values of 0 to 1.
3. The electronic device according to claim 2.
4. The matrix data includes either a non-square matrix or a square matrix.
4. The electronic device according to claim 1.
5. The determined number of recommended features may include features that have never been used by the user.
5. The electronic device according to claim 1.
6. A plurality of music function designation keys; At least one processor; wherein the at least one processor: determining a plurality of recommended functions to be recommended to the user based on matrix data indicating the combination recommendation level of each music function and data on the number of times each music function is used by the user; assigning the determined recommended functions to the music function designation keys, respectively; Electronic musical instrument.
7. At least one processor of the electronic device comprises: determining a plurality of functions to be recommended to the user based on the matrix data indicating the degree of recommendation of the combination of each function and the data on the number of times each function is used by the user; assigning the determined plurality of recommended functions to a plurality of function designation keys, respectively; method.
8. At least one processor of the electronic device, determining a plurality of functions to be recommended to the user based on the matrix data indicating the degree of recommendation of the combination of each function and the data on the number of times each function is used by the user; assigning the determined plurality of recommended functions to a plurality of function designation keys, respectively; A program that executes a process.
Citation Information
Patent Citations
Method and device for processing function registration
JP1994208432A
Musical sound control information setting device
JP1996123415A