Electronic device, data processing method, and storage medium

CN116206581BActive Publication Date: 2026-09-18CASIO COMPUTER CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211528314.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-11-30
Filing Date
2022-11-30
Publication Date
2026-09-18
Estimated Expiration
2042-11-30

AI Technical Summary

Technical Problem

但是,在变更音色的情况下,用户需要一个一个地变更成为对象的音色数据

Benefits of technology

[0011] According to one embodiment of this disclosure, an electronic musical instrument, a data processing method, and a storage medium are provided that can easily process data with a hierarchical structure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116206581B_ABST
    Figure CN116206581B_ABST
Patent Text Reader

Abstract

Provided is an electronic device, a data processing method, and a storage medium, which easily process data having a hierarchical structure in an electronic musical instrument. The electronic device includes at least one processor that accepts a selection operation of a user to arbitrarily select any one of a plurality of data types for first data, and stores the first data, which is adapted to association with second data, in a memory based on the data type selected by the selection operation, wherein the plurality of data types include a content-dependent reference type, a content-guaranteed reference type, and a data-inclusion type, and the second data is data of a different hierarchical level from the first data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Reference to related applications

[0002] This application claims the priority interest of Japanese Patent Application No. 2021-194314, filed on November 30, 2021, and the entire contents of Japanese Patent Application No. 2021-194314 are incorporated herein by reference. Technical Field

[0003] This specification discloses information about electronic devices, data processing methods, and storage media. Background Technology

[0004] Data processed by electronic musical instruments contains hierarchical data. As an example of such data, registration data is known, as shown in Japanese Patent Application Publication No. 2009-222772.

[0005] Registration data may include, for example, data representing the timbre, referred to as timbre data. Users can select registration data and play electronic instruments with the timbre set according to the selected registration data.

[0006] The registration data includes two types: a data-included type, which contains timbre entity data, and a reference type, which does not contain timbre entity data. The reference type registration data records the timbre data number of the reference destination. The electronic musical instrument reads the timbre data of the reference destination and sets it to conform to the timbre of the registration data. In the reference type, because it does not contain timbre entity data, the data size of the registration data is correspondingly reduced.

[0007] In the reference-based model, multiple registration data share and reference a single timbre data. Therefore, when this timbre data is changed, the timbre is changed in all registration data that references it. However, it's not necessarily desired that the timbre will change in all registration data. Users need to identify all the changed registration data and edit each of them individually to prevent accidental timbre changes. This task places a significant burden on the user.

[0008] In data inclusion types, the undesirable changes in timbre described above do not occur. However, when changing the timbre, the user needs to modify the timbre data of each object individually. This task places a significant burden on the user. Summary of the Invention

[0009] This disclosure is made in view of the above circumstances, and one of its advantages is that it provides an electronic device, a data processing method, and a storage medium that can easily process data with a hierarchical structure.

[0010] An electronic device according to one embodiment of the present disclosure includes at least one processor, which accepts a user's selection operation of any one of a plurality of data types for first data, and stores the first data in memory based on the data type selected by the selection operation, which is adapted to the association with second data, wherein the second data is data at a different level from the first data.

[0011] According to one embodiment of this disclosure, an electronic musical instrument, a data processing method, and a storage medium are provided that can easily process data with a hierarchical structure. Attached Figure Description

[0012] Figure 1 This is a diagram showing the appearance of an electronic musical instrument according to one embodiment of the present disclosure.

[0013] Figure 2 This is a block diagram illustrating the structure of an electronic musical instrument according to one embodiment of the present disclosure.

[0014] Figure 3 It is a diagram used to illustrate registration data and timbre data.

[0015] Figure 4 This is a diagram illustrating the data types of the registered data.

[0016] Figure 5 This is a diagram representing an example of a registration directory.

[0017] Figure 6 This is a flowchart illustrating the processing of a data processing program executed by the processor of an electronic musical instrument in one embodiment of this disclosure.

[0018] Figure 7 It means Figure 6 The detailed sub-process of step S105 is the editing process.

[0019] Figure 8 It means Figure 6 The detailed sub-process of writing in step S107.

[0020] Figure 9 It means Figure 6 The detailed sub-process of writing in step S111.

[0021] Figure 10 It means Figure 6 The detailed process of saving the process in step S113 is a sub-process.

[0022] Figure 11 It means Figure 6 The detailed sub-process of loading the process in step S115.

[0023] Figure 12 It means Figure 6 The detailed sub-process of step S117 is the automatic saving process.

[0024] Figure 13 It means Figure 6 The detailed sub-process of step S119 is the automatic loading of the processing details. Detailed Implementation

[0025] Referring to the accompanying drawings, an electronic musical instrument will be described in detail as an example of an electronic device according to one embodiment of the present disclosure.

[0026] Figure 1 This is a diagram showing the appearance of an electronic musical instrument 1 according to one embodiment of the present disclosure. Figure 2 This is a block diagram representing the structure of electronic musical instrument 1. Electronic musical instrument 1 is, for example, an electronic keyboard with a built-in synthesizer sound source. Electronic musical instrument 1 can also be an electronic keyboard instrument other than the aforementioned electronic keyboard, and can also be an electronic percussion instrument, an electronic wind instrument, or an electronic string instrument.

[0027] The electronic musical instrument 1 includes, as part of its hardware structure, at least one processor 10, RAM (Random Access Memory) 11, ROM (Read Only Memory) 12, USB (Universal Serial Bus) interface 13, LCD (Liquid Crystal Display) 14, LCD controller 15, keyboard 16, operation unit 17, key scanner 18, pulse counter 19, A / D converter 20, sound source LSI (Large Scale Integration) 21, D / A converter 22, amplifier 23, and speaker 24. All components of the electronic musical instrument 1 are connected via a bus 25.

[0028] The processor 10 reads the program and data stored in the flash ROM 12 and uses the RAM 11 as the working area, thereby comprehensively controlling the electronic musical instrument 1.

[0029] The processor 10 may be a single processor or a multi-processor, and may contain at least one processor. When configured to include multiple processors, the processor 10 may be packaged as a single device or may be composed of multiple devices physically separated within the electronic instrument 1.

[0030] As functional blocks, the processor 10 includes: a selection operation receiving unit 100a, which accepts a user's selection operation from a plurality of data types of first data to select one data type, wherein the first data has a plurality of data types that can be processed by the electronic musical instrument and holds a hierarchical structure of second data using itself; and a data storage unit 100b, which stores the first data in a storage unit based on the data type selected by the selection operation. Through the operation of these functional blocks, data with a hierarchical structure can be easily processed in the electronic musical instrument 1. The data processing method and storage medium of the embodiments of this disclosure are implemented by causing the functional blocks of the processor 10 to perform various processes. The processor 10 is an example of a computer capable of accessing a flash memory ROM 12, which is an example of the aforementioned storage unit.

[0031] RAM11 temporarily stores data and programs. It holds programs, data, and communication data read from flash ROM12.

[0032] The flash ROM 12 functions as a storage medium. It is a non-volatile semiconductor memory such as flash memory, EPROM (Erasable Programmable ROM), and EEPROM (Electrically Erasable Programmable ROM), serving as a secondary or auxiliary storage device. The flash ROM 12 stores programs and data used by the processor 10, represented by the data processing program 120, for various processing tasks.

[0033] In this embodiment, each functional block of the processor 10 is implemented by a data processing program 120, which is software. Alternatively, some or all of the functional blocks of the processor 10 may also be implemented by dedicated logic circuits or other hardware.

[0034] USB interface 13 is an interface that can connect to USB flash memory 2, which is an example of an external storage medium.

[0035] LCD14 is an example of a display device. LCD14 is driven by LCD controller 15. When LCD controller 15 drives LCD14 according to control signals from processor 10, it displays a screen corresponding to the control signals on LCD14. LCD14 can also be replaced by display devices such as organic EL (Electroluminescence) or LED (Light Emitting Diode). LCD14 can also be a touch panel. In this case, the touch panel can function as both an input device and a display device.

[0036] Keyboard 16 is a keyboard with multiple white and black keys that function as multiple playing controls. Each key corresponds to a different pitch.

[0037] The operating unit 17 includes operating components such as switches, buttons, knobs, rotary encoders, wheels, and touch panels, which can be operated mechanically, capacitively, or via diaphragm. Figure 2 Among them, as examples of operating components included in the operating unit, a switch panel 17a, a rotary encoder 17b, and a wheel 17c are shown.

[0038] As a more specific example, the operation unit 17 includes a pitch bend wheel, a modulation wheel, a volume knob, a function rotary encoder, a layer rotary encoder, a parameter rotary encoder, a data entry unit, and a registration unit 170.

[0039] The pitch bend wheel is an operating component used to produce a pitch bend effect. The modulation wheel is an operating component used to produce vibrato and other sound vibration effects. The volume knob is an operating component used to adjust the volume. The function rotary encoder is an operating component used to select the function whose settings are to be changed. The layer rotary encoder is an operating component used to select the layer whose settings are to be changed. The parameter rotary encoder is an operating component used to select the parameters included in the selected function. The data entry unit includes a rotary encoder for changing the value of the selected parameter, as well as "+" (positive) and "-" (negative) keys. The registration unit 170 is an operating component used to select the data to be registered.

[0040] like Figure 1 As shown in the enlarged view, the registration section 170 includes a "BANK+" key 172 and a "BANK-" key 174, as well as 10 numbered buttons 176a to 176j, numbered "1" to "9" and "0".

[0041] In this embodiment, 200 registration data entries are stored in the flash memory ROM 12. These 200 entries are divided into 20 groups that can be selected using the "BANK+" key 172 and the "BANK-" key 174 for management. Each group contains 10 entries. The user selects a group by operating the "BANK+" key 172 and the "BANK-" key 174, and selects one entry from the selected group by pressing any of the numbered buttons 176a to 176j. The selected group and the information of the registration data are displayed, for example, on the LCD 14.

[0042] The key scanner 18 monitors key presses and releases on the keyboard 16, as well as operations on some of the operating components included in the operation unit 17. For example, when the key scanner 18 detects a user's key press, it outputs key event information to the processor 10. This key event information includes pitch information (key number) of the key involved in the key press. Key numbers are sometimes also referred to as key numbers, MIDI keys, or note numbers.

[0043] Alternatively, a separate unit can be set up to measure the key press speed (speed value), so that the key event information includes the speed value. As a key press speed measurement unit, for example, a unit can be used where two to three contact switches are set for each key, and the measurement is performed based on the time difference between the conduction of each contact switch when the key is pressed. The speed value can also be described as a value representing the intensity of the key press operation.

[0044] Pulse counter 19 is used to detect various rotary encoders (in... Figure 2 The device that operates (referred to as "rotary encoder 17b" in the text).

[0045] The A / D converter 20 is compatible with various wheels (in... Figure 2 A device that converts the analog voltage corresponding to the volume position (referred to as "wheel 17c") into digital data.

[0046] The processor 10 instructs the sound source LSI 21 to read the corresponding waveform data from multiple waveform data stored in the flash memory ROM 12. The waveform data to be read is determined, for example, based on the timbre selected by the user and key event information.

[0047] The sound source LSI 21 generates musical tones based on waveform data read from the flash memory ROM 12, according to the instructions of the processor 10. The sound source LSI 21, for example, has 128 generating units and can simultaneously emit up to 128 musical tones. In this embodiment, the processor 10 and the sound source LSI 21 are configured as separate devices; however, in another embodiment, the processor 10 and the sound source LSI 21 may be configured as a single processor.

[0048] The digital sound signal of the musical tone generated by the sound source LSI21 is converted into an analog signal by the D / A converter 22, amplified by the amplifier 23, and output to the speaker 24.

[0049] In this embodiment, the hierarchical data in the electronic musical instrument 1 is easily processed by the operation of the function blocks of the processor 10. In this embodiment, registration data is taken as an example of hierarchical data (first data). In short, registration data is described in a hierarchical structure so that its subordinate data can be used. In this embodiment, timbre data is taken as an example of subordinate data (second data) of the registration data. The flash memory ROM 12 operates as a storage unit for storing registration data that can be processed by the electronic musical instrument 1.

[0050] Registration data is environmental setting data that summarizes settings related to the overall action of performance or sound. In this embodiment, four timbres can be specified simultaneously through registration data (in other words, four timbre data). Using such registration, the user can perform layered performances with up to four overlapping timbres.

[0051] Figure 3 It is a diagram used to illustrate registration data and timbre data. In Figure 3 The text indicates a registration data 230 expanded in RAM 11, which serves as the working area, and a data group stored in flash ROM 12.

[0052] like Figure 3 As shown, the data group stored in the flash ROM 12 includes a timbre catalog 200, multiple timbre data 210, a registration catalog 220, and multiple registration data 230.

[0053] Timbre data 210 is a collection of timbre-related parameters. The size of each timbre data 210 is, for example, 200 bytes. The maximum number of timbre data 210 items that can be stored in the flash memory ROM 12 is, for example, 1000. The number of timbre data 210 items stored in the flash memory ROM 12 increases or decreases through creation, copying, or deletion.

[0054] like Figure 3 As shown, the registration data 230 expanded in RAM11 has entity data for a maximum of four timbre data corresponding to the common parameter area CPA, the timbre catalog area TDA, and layers 1 to 4. Hereinafter, for convenience, the entity data of the timbre data will be referred to as "timbre entity data".

[0055] The flash ROM 12 stores registration data 230 of multiple data types. Figure 4 The data type of the registration data 230 stored in the flash ROM 12 is shown.

[0056] like Figure 4 As indicated by symbol A, registration data 230 containing a total of four timbre entity data corresponding to layers 1 to 4 is stored in flash ROM 12. The data type of the layer containing timbre entity data is called "data inclusion type". For convenience, registration data 230 containing timbre entity data corresponding to all layers 1 to 4 is called "fully inclusion type registration data 230".

[0057] When the fully enclosed registration data 230 is expanded in RAM 11, the processor 10 copies the registration data 230 itself into RAM 11. Thus, the user can use the registration data 230 to perform a performance.

[0058] like Figure 4As indicated by symbol B, the flash ROM 12 stores registration data 230, which contains a mixture of data inclusion and reference types, having one to three timbre entity data items. The reference type is a data type of the layer that does not have timbre entity data. In the reference type, as a substitute for the lack of timbre entity data, the timbre number assigned to the timbre data 210 as a reference destination is recorded in the timbre directory area TDA. The timbre number recorded in the timbre directory area TDA is reference information used to refer to the timbre data 210 as an example of second data.

[0059] Here, the tone catalog area TDA manages whether tone entity data exists and the tone number of tone data 210 representing the reference destination. Specifically, the tone catalog area TDA maintains a value of 0 to 1000 corresponding to each layer. A value of 0 indicates that tone entity data exists. Values ​​of 1 to 1000 represent the tone number of tone data 210 stored in the flash memory ROM 12.

[0060] exist Figure 4 In the example of symbol B, when the value "0, 99, 0, 0" is recorded in the timbre catalog area TDA, this value is an ordering of information from layers 1 to 4. Specifically, the first value 0, the third value 0, and the fourth value 0 represent information from layers 1, 3, and 4, respectively. The value 99 represents information from layer 2. In this example, registration data 230 contains timbre entity data corresponding to layers 1, 3, and 4, and layer 2 represents timbre data 210 with the reference destination timbre number 99. Here, all values ​​other than 0 represent timbre numbers.

[0061] so, Figure 4 The registration data 230 represented by symbol B becomes a hybrid registration data 230 that combines reference type and data inclusion type. For convenience, such registration data 230 is referred to as "hybrid registration data 230".

[0062] When the mixed-type registration data 230 is expanded in RAM 11, the processor 10 copies the registration data 230 itself into RAM 11. During the use of the registration data 230, the processor 10 reads tone data 210 from the flash memory ROM 12 as needed for the reference layer.

[0063] Furthermore, when the processor 10 expands the mixed-type registration data 230 in RAM 11, it reads the tone data 210, represented by the tone number recorded in the tone catalog area TDA, from the flash ROM 12 and copies it to the corresponding layer. Therefore, in RAM 11, the registration data 230 becomes the same as the fully-enclosed type. Thus, the processor 10 can use the registration data 230 simply by reading the expanded registration data 230 in RAM 11 (from another perspective, without reading the flash ROM 12). As a result, processing speed is increased.

[0064] like Figure 4 As indicated by symbol C, the reference-only registration data 230 does not store even one timbre entity data in the flash memory ROM 12. For convenience, the reference-only registration data 230 is referred to as "full-reference registration data 230".

[0065] When the full-reference registration data 230 is expanded in RAM 11, the processor 10 copies the registration data 230 itself into RAM 11. During the use of the registration data 230, the processor 10 reads timbre data 210 from flash ROM 12 as needed for each layer.

[0066] The size of registration data 230 varies depending on the number of timbre entity data it contains. That is, registration data 230 is variable-length data. For example, the size of a fully referenced registration data 230 with no timbre entity data is 100 bytes. The size of a fully contained registration data 230 with four timbre entity data is 900 bytes.

[0067] In this embodiment, the area allocated to the registration data 230 in the flash memory ROM 12 is 100,000 bytes. Therefore, if all registration data 230 are fully inclusive, a maximum of 111 registration data 230s can be stored in the flash memory ROM 12. However, considering data efficiency, it is assumed that reference-type applications are also more common. Therefore, in this embodiment, the maximum number of registration data 230s that can be stored in the flash memory ROM 12 is set to 200, and the maximum number of tone entity data that can be included in all registration data 230s is set to 400. A maximum of 100 fully inclusive registration data 230s can be stored in the flash memory ROM 12.

[0068] In the flash ROM 12, all data is managed through a file system. Therefore, multiple tone data 210 are treated as one file each. Multiple registration data 230 are also treated as one file each. This data is managed by filenames, not addresses.

[0069] The timbre directory 200 is a directory used to associate the timbre number assigned to each timbre data 210 with the filename. The registration directory 220 is a directory used to associate the number (hereinafter referred to as the "registration number") assigned to each registration data 230 with the filename.

[0070] Figure 5 This is a diagram representing an example of registration directory 220. Registration directory 220 manages the registration number, file name, number of timbre entity data contained, and data size (in bytes) of registration data 230.

[0071] Previously, when changing a single timbre data point that was shared by multiple registrations, the timbre was altered across all the registrations referencing the changed timbre data. If these registrations contained entries whose timbre the user did not want to change, the user had to locate all the changed registrations and edit each entry individually to prevent accidental timbre alteration. This process placed a significant burden on the user.

[0072] Furthermore, when copying registration data to other interchangeable electronic instruments, giving it to other users, or uploading it online for sharing, it is necessary to copy the timbre data referenced by the registration data without omission. However, this is cumbersome for users. Additionally, to use the registration data, the separate data—timbre data and registration data—must be managed in groups. Therefore, hybrid registration data containing references and fully referenced registration data have poor portability.

[0073] In contrast, fully inclusive registration data eliminates the need for tasks such as copying timbre data, and it also eliminates the need to manage timbre data as separate data sets. For example, simply copying the individual registration data to another electronic instrument allows it to be used in that instrument. Therefore, fully inclusive registration data offers superior portability.

[0074] However, since multiple registration data do not share the same data structure as a single timbre data, there are cases where multiple registration data contain the same timbre data, and a single registration data contains multiple instances of the same timbre data. Therefore, it is inferior to the reference type in terms of efficient data management. Due to the large data size, it puts pressure on the memory, and the large amount of data transferred during registration data switching can generate processing load.

[0075] Therefore, in this embodiment, the data processing program 120 described below is executed. By executing the data processing program 120, the registration data 230 can be easily processed in the electronic musical instrument 1.

[0076] Figure 6 This is a flowchart illustrating the processing of a data processing program 120 executed by the processor 10 in one embodiment of this disclosure. For example, when a user operates a functional rotary encoder, the data processing program 120 begins execution.

[0077] The processor 10 detects the function set by the operation of the functional rotary encoder (step S101).

[0078] The processor 10 determines whether the function detected in step S101 is the selection function of the registration data 230 (step S102).

[0079] If the function detected in step S101 is the selection function of registration data 230 (step S102: Yes), the processor 10 executes the selection process of registration data 230 (step S103).

[0080] Specifically, the processor 10 accepts operations from the registration unit 170. For example, the user can select the storage device for managing the registration data 230 by pressing the "BANK+" key 172 or the "BANK-" key 174. The selected storage device is displayed on the LCD 14. When the user presses one of the numbered buttons 176a to 176j, the selection of the registration data 230 is confirmed.

[0081] When the selection of registration data 230 is determined, the processor 10 obtains the corresponding registration number. The processor 10 reads the registration data 230 assigned the obtained registration number from the flash ROM 12 (in other words, the registration data 230 selected through the selection operation), transfers it to the RAM 11 and expands it, thus ending the processing of this flowchart.

[0082] If the function detected in step S101 is the editing function of registration data 230 (step S102: No and step S104: Yes), the processor 10 executes the editing process to edit the registration data 230 (step S105). For example, the registration data 230 of the object to be edited is the registration data 230 selected by the selection function and expanded on RAM 11.

[0083] Users can edit parameters defined in the Common Parameter Area (CPA) of the registration data 230 by operating the operation unit 17. Editable parameters include, for example, the file name, mode, and timbre number of the registration data 230.

[0084] In the Common Parameter Area (CPA), patterns for levels 1 through 4 are defined. Each pattern represents the data type of the timbre corresponding to its level. The data types shown in the patterns have two reference types and one data inclusion type. One reference type is a content-dependent reference type (first reference type). The other reference type is a content-guaranteed reference type (second reference type). Pattern 0 represents a content-dependent reference type. Pattern 1 represents a content-guaranteed reference type. Pattern 2 represents a data inclusion type.

[0085] When "0012" is recorded as a pattern value in the Common Parameter Area (CPA), this value represents the information from layers 1 to 4 arranged sequentially. Specifically, the initial value 0 and the following values ​​0 represent information from layers 1 and 2, respectively. Value 1 represents information from layer 3. Value 2 represents information from layer 4. In this example, layers 1 and 2 are defined as content-dependent references, layer 3 is defined as a content-guaranteed reference, and layer 4 is defined as a data-included reference.

[0086] When the content of timbre data 210, which is a shared reference for multiple registration data 230, is changed, the timbre number recorded as the reference destination in the timbre catalog area TDA remains unchanged for layers of all registration data 230 that describe the timbre data 210 as the reference destination. Therefore, registration data 230 containing such layers is affected by timbre changes that accompany changes to timbre data 210.

[0087] In contrast, the layers defined as content-guaranteed reference types in all the registration data 230 that describe the aforementioned timbre data 210 as reference destinations are rewritten as timbre numbers described as reference destinations in the timbre catalog area TDA.

[0088] Specifically, when the content of the timbre data 210 is changed and saved, the processor 10 generates a copy of the timbre data 210 before the change, assigns a new timbre number, and saves it in the flash memory ROM 12. For layers defined as content-assured reference types, the timbre number recorded in the timbre directory area TDA is rewritten with the new timbre number assigned to the copied timbre data 210. Because of this rewriting process, in layers defined as content-assured reference types, the content of the timbre data 210 at the reference destination remains unchanged compared to before the change. Therefore, the registered data 230 is not affected by the timbre changes associated with the change of the timbre data 210.

[0089] Thus, when the processor 10 changes the timbre data 210 (second data) referenced by the content-assured reference type (second reference type), it copies the timbre data 210 before the change and changes the timbre number (change information) indicating the reference destination, so that the registration data 230 of the content-assured reference type refers to the copied timbre data 210.

[0090] Figure 7 It means Figure 6 The detailed sub-process of editing steps S105. For example... Figure 7 As shown, processor 10 confirms the parameters defined in the common parameter area CPA (step S201).

[0091] When the user changes the file name (step S202: Yes), the processor 10 updates the file name (step S203). Specifically, in step S203, the processor 10 updates the file name defined in the Common Parameter Area (CPA) and also updates the file name of the registration data 230 of the edited object registered in the registration directory 220. The processor 10 saves the updated registration data 230 in the flash memory ROM 12 and terminates the process. Figure 6 The processing of flowcharts.

[0092] When a user performs a change layer mode operation (step S202: No and step S204: Yes), the processor 10 determines whether it is a change operation from a reference type (content-dependent reference type or content-guaranteed reference type) to a data-inclusive type (step S205).

[0093] In the case of a change operation from reference type to data inclusion type (step S205: Yes), the processor 10 changes the corresponding layer from reference type to data inclusion type (step S206).

[0094] Specifically, in step S206, the processor 10 reads the timbre data 210, represented by the timbre number recorded in the timbre directory area TDA, from the flash memory ROM 12, copies it to the corresponding layer, and copies the value corresponding to that layer recorded in the timbre directory area TDA (such as...) to the corresponding layer. Figure 4 As explained in the description, a value of 0 represents layer information, and values ​​other than 0 represent timbre numbers. The updated mode (i.e., value 2 representing data inclusion) is recorded in the common parameter area CPA. The processor 10 saves the updated registration data 230 in the flash memory ROM 12 and terminates the process. Figure 6 The processing of flowcharts.

[0095] In the case of a change operation from data-containing type to reference type (step S205: No and step S207: Yes), the processor 10 changes the corresponding layer from data-containing type to reference type (step S208).

[0096] Specifically, in step S208, the processor 10 records the timbre number representing the reference destination in the timbre directory area TDA, deletes the timbre entity data of the corresponding layer, and records the changed mode (i.e., a value of 0 representing a content-dependent reference type or a value of 1 representing a content-guaranteed reference type) in the common parameter area CPA. The processor 10 saves the updated registration data 230 in the flash memory ROM 12 and ends the process. Figure 6 The flowchart is processed. Furthermore, the tone numbers recorded in the tone catalog area (TDA) are specified, for example, through user operation.

[0097] Furthermore, when the mode changes from a content-dependent reference type to a content-guaranteed reference type, or vice versa, the processor 10 changes the mode value from 0 to 1 or from 1 to 0 and saves it in the flash memory ROM 12, then terminates the process. Figure 6 The processing of flowcharts.

[0098] Thus, in Figure 6 In the editing process of step S105, the processor 10 operates as a selection operation receiving unit 100a that accepts the user's selection operation, and also operates as a data storage unit 100b. The user selection operation selects any one data type from a plurality of selectable first data (registered data 230) data types (i.e., data inclusion type, content-dependent reference type, and content-guaranteed reference type). The data storage unit 100b stores the first data (registered data 230) into the flash memory ROM 12, which is an example of a storage unit, based on the data type selected by the selection operation.

[0099] Users can easily change complex, hierarchical registration data 230 into a data type that is easy to process, for example, by simply changing the mode.

[0100] When the user changes the timbre number (step S204: No and step S209: Yes), the processor 10 determines whether the mode of the corresponding layer is data inclusion type (step S210). If it is data inclusion type (step S210: Yes), the processor 10 terminates directly. Figure 6 The processing of flowcharts.

[0101] If the corresponding layer's mode is reference type (step S210: No), in step S211, the processor 10 updates the timbre number corresponding to that layer recorded in the timbre catalog area TDA to the timbre number specified through the change operation. The processor 10 saves the updated registration data 230 in the flash memory ROM 12 and ends the process. Figure 6 The processing of flowcharts.

[0102] When a change operation is performed on parameters other than filename, mode, and timbre number (step S209: No), in step S212, processor 10 executes the processing corresponding to the change operation and ends. Figure 6 The processing of flowcharts.

[0103] Here, it is explained that the updated registration data 230 is saved in the flash memory ROM 12 during the editing process, but the process disclosed herein is not limited to this. The updated registration data 230 may also be saved in the flash memory ROM 12 through the write process of step S107, which will be described next.

[0104] If the function detected in step S101 is the write function of registration data 230 (step S104: No and step S106: Yes), the processor 10 executes the write process of writing registration data 230 to flash memory ROM 12 (step S107). The registration data 230 to be written is, for example, the registration data 230 obtained and stored in RAM 11 by means of new generation, or the registration data 230 edited by the editing process in step S105.

[0105] Figure 8 It means Figure 6 The detailed sub-process of the write processing in step S107. For example... Figure 8 As shown, the processor 10 selects the registration number of the write destination (step S301). The registration number can be a number specified by the user or a number automatically determined by the processor 10.

[0106] Processor 10 obtains the number A of timbre entity data contained in the registration data 230 of the write object (step S302).

[0107] Processor 10 obtains the quantity B of timbre entity data contained in registration data 230 corresponding to the registration number to be written to the destination (step S303). If no registration data 230 corresponding to the registration number is registered, the quantity B of timbre entity data obtained here is zero.

[0108] The processor 10 obtains the number C of timbre entity data stored in the entire flash ROM 12 (step S304).

[0109] Processor 10 determines whether the sum of quantity A obtained in step S302 and quantity C obtained in step S304 minus quantity B obtained in step S303 exceeds 400 (i.e., the maximum number of timbre entity data that all registration data 230 can contain) (step S305).

[0110] If the value mentioned above does not exceed 400 (step S305: No), the processor 10 will save the registration data 230 of the written object in the flash memory ROM 12 (step S306) and end. Figure 6 The flowchart is processed. As a result, the registration data 230 corresponding to the registration number written to the destination is updated.

[0111] If the value exceeds 400 (step S305: Yes), the processor 10 displays an error message (step S307) and terminates. Figure 6 The flowchart is processed. For example, an error message such as "MEMORY FULL" is displayed. In the case of writing registration data 230 that is the object of the write, for example, the user needs to reduce the amount of tone data 210 stored in flash ROM 12 by moving a portion of the registration data 230 in flash ROM 12 to an external storage medium.

[0112] If the function detected in step S101 is the editing function of timbre data 210 (step S106: No and step S108: Yes), the processor 10 executes the editing process of timbre data 210 (step S109). The timbre data 210 that is to be edited is, for example, the timbre data 210 corresponding to the layer specified by the user operation from the registration data 230 selected by the selection function and expanded in RAM 11.

[0113] When the editable object is included as timbre entity data in the registration data 230 (i.e., in the data inclusion type), the processor 10 modifies the timbre entity data according to the user's operation. In the case where no timbre entity data is provided but the timbre number of the reference destination is described (i.e., in the reference type), the processor 10 reads the timbre data 210 indicated by the timbre number of the reference destination from the flash ROM 12, copies it to the corresponding layer, and modifies the timbre data 210 according to the user's operation. The processor 10 saves the modified timbre data 210 in the flash ROM 12.

[0114] If the function detected in step S101 is the writing function of timbre data 210 (step S108: No and step S110: Yes), the processor 10 executes the write process of writing timbre data 210 to flash memory ROM 12 (step S111). The timbre data 210 to be written is, for example, the timbre data 210 corresponding to the layer selected by the selection function and specified by the user in the registration data 230 expanded in RAM 11.

[0115] Figure 9 It means Figure 6 The detailed sub-process of the write processing in step S111. For example... Figure 9As shown, the processor 10 selects the tone number to be written to the destination (step S401). The tone number can be a number specified by the user or a number automatically determined by the processor 10.

[0116] The processor 10 retrieves the registration data 230 (step S402) from the timbre data 210 stored in the flash memory ROM 12, which contains the content guarantee reference type layer that records the timbre number selected in step S401 as the reference destination.

[0117] As a result of the search, the processor 10 determines whether corresponding registration data 230 exists (step S403). If no corresponding registration data 230 exists (step S403: No), the processor 10 saves the timbre data 210 of the writing target in the flash memory ROM 12 (step S404) and ends the process. Figure 6 The flowchart is processed. Therefore, the timbre data 210 corresponding to the timbre number written to the destination is stored in the flash memory ROM 12.

[0118] If the corresponding registration data 230 exists (step S403: Yes), the processor 10 retrieves unused tone numbers (i.e., tone numbers not assigned to tone data 210) from the flash memory ROM 12, and obtains the discovered unused tone numbers as a result of the retrieval (step S405). The obtained tone number is kept as the value E. If no unused tone number is found, the value E is set to -1.

[0119] If the value E is not -1 (step S406: No), the processor 10 copies the timbre data 210 shown by the timbre number selected in step S401, and saves the copied timbre data 210 as the timbre data 210 of the timbre number shown by the value E in the flash memory ROM 12 (step S407).

[0120] Processor 10 retrieves the registration data 230 from step S402, and for all corresponding layers (i.e., all content-guaranteed reference types of the timbre number selected in step S401 that are recorded as reference destinations), updates the timbre number of the reference destination to the timbre number shown by value E (step S408). Next, processor 10 stores the timbre data 210 of the written object as the timbre data 210 of the timbre number selected in step S401 in the flash memory ROM 12 (step S404).

[0121] Thus, for layers defined as content-assured reference types, the timbre numbers recorded in the timbre catalog area (TDA) are rewritten with the new timbre numbers assigned to the copied timbre data 210. Because of this rewriting process, the content of the timbre data 210 at the reference destination remains unchanged compared to before the change. Therefore, the registration data 230 is not affected by the timbre changes associated with the changes to the timbre data 210. Users do not need to perform complex editing operations on the registration data 230 to avoid unwanted timbre changes.

[0122] Furthermore, as a result of writing the timbre data 210 of the writing target into the flash memory ROM 12, if the maximum number of timbre entity data that can be stored, i.e., 400, is exceeded, the processor 10 does not execute the processing in step S408, but instead... Figure 6 The write process in step S107 also displays an error message and ends. Figure 6 The flowchart processing is as follows. Additionally, if the value E is -1 in step S406 (step S406: Yes), the processor 10 displays an error message (step S409) stating that the write area of ​​the target tone data 210 has not been written to the flash ROM 12, and then terminates the process. Figure 6 The processing of flowcharts.

[0123] Next, the operation of processing tone data 210 and registration data 230 using an external storage medium (e.g., USB flash memory 2) connected to the electronic musical instrument 1 will be described.

[0124] If the function detected in step S101 is the function of saving registration data 230 (step S110: No and step S112: Yes), the processor 10 executes a saving process to save the registration data 230 stored in the flash memory ROM 12 to an external storage medium (step S113). The registration data 230 of the object to be saved is, for example, registration data 230 specified by the user.

[0125] Figure 10 It means Figure 6 The detailed sub-process of saving the processing information in step S113. For example... Figure 10 As shown, the processor 10 determines whether it can normally access the external storage medium for saving the destination (step S501). For example, if the external storage medium for saving the destination is not connected to the electronic musical instrument 1, normal access cannot be performed. In this case (step S501: No), the processor 10 displays an error message (step S502) and terminates. Figure 6 The processing of flowcharts.

[0126] If the external storage medium of the storage destination can be accessed normally (step S501: Yes), the processor 10 obtains the file name of the registration data 230 of the storage object (step S503) and obtains the registration number (step S504).

[0127] The processor 10 saves the image file of the registration data 230 shown by the registration number obtained in step S504 in the external storage medium with the file name obtained in step S503 (step S505).

[0128] During the write process to the external storage medium, an error occurs when the free area of ​​the external storage medium is insufficient. When such an error occurs (step S506: Yes), the processor 10 displays an error message (step S507), cancels the write to the external storage medium, and terminates the process. Figure 6 The flowchart is processed. If no such error occurs (step S506: No), the registration data 230 is normally saved in the external storage medium. If the registration data 230 with the same filename has already been saved in the external storage medium, it is saved by overwriting.

[0129] By using the save function of the registration data 230, the user can maintain the data type of the registration data 230 stored in the flash ROM 12 and save it to the external storage medium. For example, the user can save a reference-type registration data 230 with a small data size to the external storage medium in its original data type. The save function of the registration data 230 is useful for the user when maintaining the data type makes the registration data 230 easy to handle.

[0130] If the function detected in step S101 is the loading function of registration data 230 (step S112: No and step S114: Yes), the processor 10 executes the loading process of saving the registration data 230 stored in the external storage medium into the flash memory ROM 12 (step S115). The registration data 230 of the object to be saved is, for example, the registration data 230 specified by the user.

[0131] Figure 11 It means Figure 6 The detailed sub-process of loading in step S115. For example... Figure 11 As shown, the processor 10 determines whether it can normally access the external storage medium that serves as the storage source (step S601). For example, if the external storage medium that serves as the storage source is not connected to the electronic musical instrument 1, normal access cannot be performed. In this case (step S601: No), the processor 10 displays an error message (step S602) and terminates. Figure 6 The processing of flowcharts.

[0132] If the external storage medium serving as the storage source can be accessed normally (step S601: Yes), the processor 10 obtains the filename of the registration data 230 of the storage object (step S603) and obtains the registration number of the flash memory ROM 12 serving as the storage destination (step S604). The registration number of the storage destination can be a number specified by the user or a number automatically determined by the processor 10.

[0133] The processor 10 saves the image file of the registration data 230 of the object to the flash memory ROM 12 with the file name obtained in step S603 and the registration number obtained in step S604 (step S605).

[0134] During the writing process to the flash ROM 12, an error occurs when there is insufficient free space in the flash ROM 12. When such an error occurs (step S606: Yes), the processor 10 displays an error message (step S607), cancels the writing to the flash ROM 12, and ends the process. Figure 6 The flowchart is processed. If no such error occurs (step S606: No), the registration data 230 is normally stored in the flash memory ROM 12. The registration data 230 storing the destination registration number is overwritten.

[0135] By using the loading function of registration data 230, the user can maintain the data type of registration data 230 stored in the external storage medium and save it in the flash memory ROM 12. For example, the user can save data-containing registration data 230 in the flash memory ROM 12 with its original data type. The loading function of registration data 230 is useful for the user when it is easy to handle the registration data 230 in a way that maintains its data type.

[0136] If the function detected in step S101 is the automatic saving function of registration data 230 (step S114: No and step S116: Yes), the processor 10 executes the automatic saving process of saving the registration data 230 stored in the flash memory ROM 12 to the external storage medium (step S117). The registration data 230 of the object to be saved is, for example, the registration data 230 specified by the user.

[0137] Figure 12 It means Figure 6 The detailed sub-process of step S117 is as follows: In general, the processor 10 converts the reference-type registration data 230 (first data) stored in the flash memory ROM 12, which is an example of a storage unit, into a data-included type and saves it in an external storage medium according to a predetermined operation performed by the user (the operation of selecting the automatic saving function of registration data 230).

[0138] Specifically, such as Figure 12 As shown, the processor 10 determines whether it can normally access the external storage medium as the save destination (step S701). If it cannot normally access the external storage medium as the save destination (step S701: No), the processor 10 displays an error message (step S702) and terminates. Figure 6 The processing of flowcharts.

[0139] If the external storage medium that is the destination for saving can be accessed normally (step S701: Yes), the processor 10 obtains the file name of the registration data 230 of the object to be saved (step S703) and obtains the registration number (step S704).

[0140] The processor 10 expands the image file of the registration data 230 represented by the registration number obtained in step S704 on RAM 11 (step S705).

[0141] exist Figure 12 In the flowchart, when the value L is set to 0, the processing object becomes layer 1; when the value L is set to 1, the processing object becomes layer 2; when the value L is set to 2, the processing object becomes layer 3; and when the value L is set to 3, the processing object becomes layer 4. The processor 10 performs the processing of step S706 on each of layers 1 to 4 of the registration data 230 expanded on RAM 11.

[0142] Specifically, in step S706, the processor 10 determines whether the mode described in the common parameter area CPA of the layer being processed is data-inclusive (step S706). If it is data-inclusive (step S706: Yes), the processor 10 does not make any special changes to the layer of the layer being processed. If it is not data-inclusive (i.e., if it is reference-type) (step S706: No), the processor 10 changes the layer of the layer being processed to data-inclusive (step S707). Specifically, in S707, the processor 10 copies the timbre data 210 represented by the timbre number of the reference destination to the layer of the layer being processed, and copies the value corresponding to that layer described in the timbre directory area TDA (e.g., ...) to the layer of the layer being processed. Figure 4 As explained in the description, the value 0 represents layer information, and values ​​other than 0 represent timbre numbers. The updated value is set to zero, and the changed pattern (i.e., value 2 representing data inclusion type) is recorded in the common parameter area CPA. By performing this process, the registration data 230 expanded on RAM11, if it is of reference type, is automatically transformed into full inclusion type.

[0143] The processor 10 saves the registration data 230 expanded on RAM 11 in an external storage medium with the filename obtained in step S703 (step S708).

[0144] During the write process to the external storage medium, an error occurs when the free area of ​​the external storage medium is insufficient. When such an error occurs (step S709: Yes), the processor 10 displays an error message (step S710), cancels the write to the external storage medium, and ends the process. Figure 6 The flowchart is processed. If no such error occurs (step S709: No), the registration data 230 is normally saved in the external storage medium. If registration data 230 with the same filename has already been saved in the external storage medium, it is saved by overwriting.

[0145] By using the automatic saving function of registration data 230, users can automatically convert the reference registration data 230 stored in flash ROM 12 into a fully inclusive registration data 230 with excellent portability and save it to an external storage medium. For example, users can use the registration data 230 in another electronic instrument simply by copying the fully inclusive registration data 230 saved on the external storage medium. The automatic saving function of registration data 230 is useful when it is easy for users to handle the fully inclusive registration data 230.

[0146] Users can save the registration data 230 by selecting the save function (see reference). Figure 10 ) and auto-save function (see Figure 12 Either of the following can be selected: whether to save the registration data 230 to the external storage medium while maintaining its data type, or to change it to a fully inclusive type before saving it to the external storage medium. That is, the operation of selecting either the save function or the automatic save function of the registration data 230 is an operation accepted by the selection operation receiving unit 100a, and is an example of an operation of selecting any one data type from a plurality of selectable first data (registration data 230) data types (i.e., data inclusion type, content-dependent reference type, and content-guaranteed reference type).

[0147] If the function detected in step S101 is the automatic loading function of registration data 230 (step S116: No and step S118: Yes), the processor 10 executes the automatic loading process of saving the registration data 230 stored in the external storage medium to the flash memory ROM 12 (step S119). The registration data 230 of the object to be saved is, for example, the registration data 230 specified by the user.

[0148] Figure 13 It means Figure 6The detailed sub-process of step S119's automatic loading process. In general, the processor 10 determines whether the tone data 210 (second data) below the registration data 230 (first data) stored in the external storage medium is stored in the flash memory ROM 12, which is an example of a storage unit. If the tone data 210 is stored in the flash memory ROM 12, the registration data 230, which is a data-included type stored in the external storage medium, is converted into a reference type that refers to the tone data 210 stored in the flash memory ROM 12, and then stored in the flash memory ROM 12.

[0149] Specifically, such as Figure 13 As shown, the processor 10 determines whether it can normally access the external storage medium used as the storage source (step S801). If it cannot normally access the external storage medium used as the storage source (step S801: No), the processor 10 displays an error message (step S802) and terminates. Figure 6 The processing of flowcharts.

[0150] If the external storage medium serving as the storage source can be accessed normally (step S801: Yes), the processor 10 obtains the filename of the registration data 230 of the storage object (step S803) and obtains the registration number of the flash memory ROM 12 serving as the storage destination (step S804). The registration number serving as the storage destination can be a number specified by the user or a number automatically determined by the processor 10.

[0151] The processor 10 reads the registration data 230 with the filename obtained in step S803 from the external storage medium and expands it on RAM 11 (step S805).

[0152] The processor 10 performs the processing of step S806 on layers 1 to 4 of the registration data 230 expanded on RAM 11.

[0153] Specifically, in step S806, the processor 10 determines whether the mode described in the common parameter area CPA for the layer to be processed is a data inclusion type (step S806). If it is a data inclusion type (step S806: Yes), the processor 10 compares the timbre entity data of the layer to be processed with the timbre data 210 represented by each timbre number (value T = 1 to 1,000) stored in the flash memory ROM 12 (step S807). If the content of the timbre entity data of the layer to be processed is consistent with the content of the timbre data 210 of the comparison object (step S808: Yes), the processor 10 changes the layer to be processed from a data inclusion type to a content guarantee reference type (step S809). Specifically, in step S809, the processor 10 changes the mode of the layer to be processed to a content guarantee reference type, and for the layer to be processed, the timbre number representing the content-consistent timbre data 210 is described as the reference destination, and the timbre entity data of the layer to be processed is deleted. Furthermore, if it is not a data inclusion type (i.e., if it is a reference type) (step S806: No), the processor 10 does not make any special changes to the layer that is the object of processing. In the absence of timbre data 210 with consistent content (step S808: No), the processor 10 also does not make any special changes to the layer that is the object of processing. By performing the above processing, in the registration data 230 expanded on RAM 11, data inclusion type layers are automatically converted to content-guaranteed reference type.

[0154] The processor 10 stores the registration data 230 expanded on RAM 11 in flash memory ROM 12 with the file name obtained in step S803 and the registration number obtained in step S804 (step S810).

[0155] During the writing process to the flash ROM 12, an error occurs when there is insufficient free space in the flash ROM 12. When such an error occurs (step S811: Yes), the processor 10 displays an error message (step S812), cancels the writing to the flash ROM 12, and ends the process. Figure 6 The flowchart is processed. If no such error occurs (step S811: No), the registration data 230 is normally saved in the flash memory ROM 12. In addition, the registration data 230 storing the destination registration number is overwritten.

[0156] By using the automatic loading function of registration data 230, users can automatically convert the data-inclusive registration data 230 stored in the external storage medium into reference-type registration data 230 (content-guaranteed reference type in this example) with a smaller data size, and save it in the flash memory ROM 12. This allows for efficient management of the registration data 230 in the flash memory ROM 12. Furthermore, since it is a content-guaranteed reference type, undesirable changes in timbre associated with changes in the timbre data 210 of the reference destination will not occur. The automatic loading function of registration data 230 is useful when it is easy for users to handle reference-type registration data 230. Additionally, the automatic loading function can also automatically convert to content-dependent reference type instead of content-guaranteed reference type.

[0157] Users can select the "Load Registration Data 230" function (see reference). Figure 11 ) and auto-loading functionality (see Figure 13 Either of the following can be selected: whether to save the registration data 230 to the flash memory ROM 12 while maintaining its data type, or to save it to an external storage medium after changing it to a reference type as needed. That is, the operation of selecting either the loading function or the automatic loading function of the registration data 230 is an operation accepted by the selection operation receiving unit 100a, and is an example of an operation that selects any one data type from a plurality of selectable first data (registration data 230) data types (i.e., data inclusion type, content-dependent reference type, and content-guaranteed reference type).

[0158] If the function detected in step S101 is the function of saving tone data 210 (step S120: Yes), the processor 10 executes a saving process to save the tone data 210 stored in the flash memory ROM 12 to an external storage medium (step S121). The tone data 210 to be saved is, for example, tone data 210 specified by the user.

[0159] The processor 10 saves the image file of the object's timbre data 210 to the external storage medium with the filename of the object's timbre data 210. Additionally, if timbre data 210 with the same filename is already saved to the external storage medium, it is saved by overwriting the existing data. If the external storage medium to which the save destination is located is not connected to the electronic musical instrument 1 or if there is insufficient free space on the external storage medium, the saving process in step S121 terminates due to an error.

[0160] If the function detected in step S101 is the loading function of timbre data 210 (step S122: Yes), the processor 10 executes the loading process of storing the timbre data 210 stored in the external storage medium in the flash memory ROM 12 (step S123). The timbre data 210 to be stored is, for example, the timbre data 210 specified by the user.

[0161] Specifically, in step S123, the processor 10 saves the image file of the object's timbre data 210 as the filename of the object's timbre data 210, and saves the timbre data 210 as a timbre number specified by the user's operation, etc., in the flash memory ROM 12. Additionally, the timbre data 210 with the destination timbre number is overwritten. During the writing process to the flash memory ROM 12, for example, if the connection between the external storage medium serving as the storage source and the electronic musical instrument 1 is severed, the saving process in step S123 terminates due to an error.

[0162] If the function detected in step S101 is not a function previously described, then the processor 10 executes the processing corresponding to that function (step S124) and ends. Figure 6 The processing of flowcharts.

[0163] Thus, according to this embodiment, an electronic musical instrument 1 capable of easily processing data with a hierarchical structure, a data processing method executed by the processor 10 of the electronic musical instrument 1 (which is an example of a computer), and a data processing program 120 are provided.

[0164] In the above embodiments, in the reference type, the tone data 210 stored in the flash ROM 12 is always set as the reference destination, but the structure of this disclosure is not limited to this. For example, when two hybrid registration data 230s are expanded on RAM 11, and these registration data 230s include a reference type layer that refers to the common tone data 210, the common tone data 210 may be such that one party's registration data 230 refers to the tone data 210 stored in the flash ROM 12, and the other party's registration data 230 refers to the corresponding layer of the registration data 230 of the party that refers to the common tone data 210 (i.e., the layer of the registration data 230 of the party expanded on RAM 11).

[0165] In the above embodiment, the data processing program is stored in the flash memory ROM 12, but it is not limited to this. It can also be stored in a removable storage medium such as a USB memory, CD, DVD, or a server. The electronic musical instrument 1 can obtain the data processing program from such a storage medium or from the server via a network.

[0166] Furthermore, the present invention is not limited to the embodiments described above, and various modifications can be made during the implementation phase without departing from its spirit. Additionally, the functions performed in the above embodiments can be implemented by combining them appropriately as much as possible. The above embodiments include various stages, and various inventions can be extracted through appropriate combinations of the disclosed constituent elements. For example, even if several constituent elements are deleted from all the constituent elements shown in the embodiments, as long as the desired effect is achieved, the structure with the deleted constituent elements can still be extracted as an invention.

Claims

1. An electronic musical instrument, characterized in that, The electronic musical instrument has at least one processor. The at least one processor accepts a user's selection operation for any one of multiple data types for the first data, wherein the first data has a hierarchical structure using second data at a different level, and the data type of the first data includes any one of the following: content-dependent reference type as a first reference type, content-guaranteed reference type as a second reference type, and data inclusion type. In the first reference type, the first data includes reference information that the first data refers to the second data. In the second reference type, the first data does not have entity data. Referring to the second data, the first data in the second reference type contains reference information that the first data refers to the second data. In the data inclusion type, the first data includes the entity data of the second data. The at least one processor stores the first data in memory, adapted to its association with the second data, based on the data type selected through the selection operation. When the data type selected by the selection operation is the second reference type, if the second data referenced by the first data of the second reference type is changed, the processor copies the second data before the change, and then corrects the reference information of the first data of the second reference type, so that the first data of the second reference type refers to the second data copied before the change.

2. The electronic musical instrument according to claim 1, characterized in that, The at least one processor, based on the user's operation, converts the first data, which is a reference type of the first data referencing the second data, stored in the memory into the data inclusion type and saves it in an external storage medium.

3. The electronic musical instrument according to claim 2, characterized in that, The at least one processor determines whether the second data contained in the first data of the data inclusion type stored in the external storage medium is stored in the memory. If the second data is stored in the memory, the first data of the data inclusion type stored in the external storage medium is converted into a reference type that refers to the second data stored in the memory and stored in the memory.

4. The electronic musical instrument according to any one of claims 1 to 3, characterized in that, The first data includes registration data, and the second data includes timbre data.

5. The electronic musical instrument according to any one of claims 1 to 3, characterized in that, When the second data referenced by the first data of the first reference type is changed, the at least one processor does not change the reference information of the first data of the first reference type, such that the first data of the first reference type refers to the changed second data. In the data inclusion type, the first data includes the physical data of the second data.

6. A data processing method for an electronic musical instrument, characterized in that, Based on any one of multiple data types arbitrarily selected by the user for the first data, the first data, adapted to its association with the second data, is stored in memory. The first data has a hierarchical structure using second data at a different level. The data type of the first data includes any one of the following: a content-dependent reference type as a first reference type, a content-guaranteed reference type as a second reference type, and a data inclusion type. In the first reference type, the first data includes reference information that the first data refers to the second data. In the second reference type, the first data does not have entity data. Referring to the second data, the first data of the second reference type includes reference information for referencing the second data. In the data inclusion type, the first data includes the entity data of the second data. When the selected data type is the second reference type, when the second data referenced by the first data of the second reference type is changed, the second data before the change is copied, and then the reference information of the first data of the second reference type is corrected so that the first data of the second reference type refers to the second data copied before the change.

7. The data processing method for electronic musical instruments according to claim 6, characterized in that, According to the user's operation, the first data, which is a reference type of the first data referring to the second data and stored in the memory, is converted into the data inclusion type and stored in the external storage medium.

8. The data processing method for electronic musical instruments according to claim 7, characterized in that, Determine whether the second data contained in the first data of the data inclusion type stored in the external storage medium is stored in the memory. If the second data is stored in the memory, convert the first data of the data inclusion type stored in the external storage medium into a reference type that refers to the second data stored in the memory, and store it in the memory.

9. The data processing method for an electronic musical instrument according to any one of claims 6 to 8, characterized in that, The first data includes registration data, and the second data includes timbre data.

10. The data processing method for an electronic musical instrument according to any one of claims 6 to 8, characterized in that, When the second data referenced by the first data of the first reference type is changed, the reference information of the first data of the first reference type is not changed, so that the first data of the first reference type refers to the changed second data. In the data inclusion type, the first data includes the physical data of the second data.

11. A storage medium storing program code, characterized in that, The program code causes the electronic musical instrument's computer to perform the following actions: Based on any one of multiple data types arbitrarily selected by the user for the first data, the first data, adapted to its association with the second data, is stored in memory. The first data has a hierarchical structure using second data at a different level. The data type of the first data includes any one of the following: a content-dependent reference type as a first reference type, a content-guaranteed reference type as a second reference type, and a data inclusion type. In the first reference type, the first data includes reference information that the first data refers to the second data. In the second reference type, the first data does not have entity data. Referring to the second data, the first data of the second reference type includes reference information for referencing the second data. In the data inclusion type, the first data includes the entity data of the second data. When the selected data type is the second reference type, when the second data referenced by the first data of the second reference type is changed, the second data before the change is copied, and then the reference information of the first data of the second reference type is corrected so that the first data of the second reference type refers to the second data copied before the change.

12. The storage medium according to claim 11, characterized in that, When the second data referenced by the first data of the first reference type is changed, the reference information of the first data of the first reference type is not changed, so that the first data of the first reference type refers to the changed second data. In the data inclusion type, the first data includes the physical data of the second data.

Citation Information

Patent Citations

  • Electronic musical device and program

    JP2009222772A

  • Game machine

    JP2021194314A

  • Retrieving and reusing stored message content

    US20150264003A1