METHOD OF PERFORMING A PIECE OF MUSIC

20230343313 · 2023-10-26

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for performing a piece of music comprising the steps of: receiving (310) an input signal from a musical instrument (220), the inputs signal encoding the notes played on the instrument (220), matching (320) a note or combination of notes in the input signal to a respective trigger in a predefined set of triggers stored in a memory (130), each trigger being associated with a respective fragment of music that makes up a part of the piece of music, each fragment having a predefined length and starting from a predefined position relative to the start of a bar, and at least one of the fragments being more complex than the associated trigger, wherein when a note or combination of notes that matches a trigger is played by the user the method outputs (330) at least part of the matched fragment that starts at the time that the note or combination of notes is played.

    Claims

    1. A method for performing a piece of music comprising the steps of: receiving an input signal from a musical instrument, the inputs signal encoding the notes played on the instrument, matching a note or combination of notes in the input signal to a respective trigger in a predefined set of triggers stored in a memory, each trigger being associated with a respective fragment of music that makes up a part of the piece of music, each fragment having a predefined length and starting from a predefined position relative to the start of a bar, and at least one of the fragments being more complex than the associated trigger, characterised in that when a note or combination of notes that matches a trigger is played by the user the method outputs at least part of the matched fragment that starts at the time that the note or combination of notes is played.

    2. A method according to claim 1 including setting a preset threshold time for determining if the user has played a combination of notes simultaneously and to take each note as part of the trigger.

    3. A method according to claim 1 in which the step of outputting a fragment from the point where it is triggered comprises passing the fragment to an audio playback device from that point.

    4. A method according to claim 1 in which each of the fragments corresponds to a portion of the piece of music being played that has a duration equal to one bar or a duration that is less than a bar.

    5. A method according to claim 1 in which a fragment is associated with only one bar or selected bars in the piece of music so that it will only be output if the correct trigger is played at that time or within the duration of the fragment.

    6. A method according to claim 1 in which all fragments start on the first beat of a bar and at least one fragment includes an initial period of padding with no notes if the notes are not to output until later in the bar.

    7. A method according to claim 1 comprising playing each fragment on mute on a loop synchronised to the predefined start time for each fragment and the step of outputting a part of a fragment associated with a matched trigger comprises turning off the mute from that point in time within the fragment when the note or combination notes associated with the trigger is played so the rest of the fragment can be heard until the end of the fragment whereupon it continues to play on mute.

    8. A method according to claim 1 comprising providing multiple sets of fragments, each set corresponding to one part of the piece of music.

    9. A method according to claim 1 comprising processing more than one trigger sequence associated with each set of fragments.

    10. A method according to claim 9 further comprising permitting the user to define the specific instrument from a type of instruments to be selected and thereby choose which set of fragments they will trigger.

    11. A method according to claim 1 further comprising providing two or more sets of trigger signals, each associated with a different level of difficulty, and assigning a difficulty level to each user, thereafter only matching the input note or combinations of notes to the chosen set of triggers.

    12. A method according to claim 1 further comprising providing additional feedback to a user to indicate their performance compared to an ideal performance.

    13. A method according to claim 1 further comprising providing cues to the user to aid them in playing the correct note or correct sequence of notes at the correct time.

    14. A method according to claim 1 comprising receiving from a user a selection of a piece of music, and selecting the appropriate set of triggers and fragments that enable that piece of music to be played.

    15. A system for assisting a user in playing along to a piece of music, the system comprising: A a processing circuit having access to information stored in at least one storage device, an input device for receiving from a user an electronic signal encoding a note or combination of notes played by the user, a set of stored trigger signals, a set of stored fragments of music, each fragment having a predefined length and starting from a predefined position relative to the start of a bar, and an output device, in which the processing circuit is configured to match the input signal to a respective trigger, each trigger being associated with one of the stored fragments, and in which the processing circuit is further configured to cause the output device to play audibly or record the matched fragment from the point in the piece of music corresponding to the time within the bar that the note or combination of notes of the input signal is played.

    16. A system according claim 15, in which the processing circuit is further configured to cause the output device to: play each fragment on mute on a loop synchronised to the predefined start time for each fragment; and turn off the mute from that point in time within the fragment when the note or combination notes associated with the trigger is played so the rest of the fragment can be heard until the end of the fragment whereupon it continues to play on mute.

    17. A system according claim 15, in which the processing circuit is further configured to provide two or more sets of trigger signals, each associated with a different level of difficulty, and assign a difficulty level to each user, thereafter only matching the input note or combinations of notes to the chosen set of triggers.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0071] There will now be described by way of example only, one embodiment of the present invention with reference to and as illustrated in the accompanying drawings of which:

    [0072] FIG. 1 shows an illustrative block diagram of the main parts of a system in accordance with an aspect of the invention;

    [0073] FIG. 2 is a schematic diagram that shows an embodiment of a system installed in a recording studio and being used by four players;

    [0074] FIG. 3 is an illustrative process flow chart of the steps that are performed when a group of users a playing a song with the system of FIG. 1; and

    [0075] FIG. 4 is an illustrative process flow chart of the steps that are performed by the processor when a trigger is received;

    [0076] FIG. 5 is an illustration of the set of fragments that make up each part of a song;

    [0077] FIG. 6 is a table showing how different triggers can be assigned to different difficulty levels;

    [0078] FIG. 7 is an example of a simple trigger;

    [0079] FIG. 8 is an example of a complex fragment that can be associated with a trigger; and

    [0080] FIG. 9 shows the repeated playing of the fragments internally within the laptop between the start and end of a song with those that are output highlighted and bold and being the only ones that are audible.

    DETAILED DESCRIPTION OF THE PRESENT INVENTION

    [0081] FIG. 1 shows a complete system 100 for enabling a piece of music to be played by a group of people, each being referred to in this description as a user of the system. The system will typically be located in a recording studio, where it may be prewired with all of the required inputs and output devices, and will come with a set of instruments that the players may use. A player could of course bring along an instrument of their own to use with the system. As will be explained parts of the piece of music may be played automatically as a backing track that can accompany the players.

    [0082] As shown in FIG. 1 the system comprises a processing circuit 120, a storage device including an amount of electronic memory 130 for storage of data, a computer program stored in the memory 130 and a set of data associated with at least one song. The computer program comprises a set of instructions which when running on the processing circuitry cause the system to receive process input signals received from the instruments and to take appropriate actions to output a corresponding piece of music.

    [0083] FIG. 2 shows a typical implementation of the system 100. As can be seen the system allows four people to play along together, each with their own instrument 220. In this example there are two people using keyboards, one a drum set and the other a guitar.

    [0084] Each player generates one input signal in the form of a MIDI IN signal. All four signals are fed to a multiplexing device 210 that converts the four signals into a single multiplexed MIDI input signal that is fed into a laptop 121 that functions as the processing circuit 120. An output from the laptop 121 is connected to a demultiplexing device 181 which splits out a single audio signal from the laptop that encodes four song tracks into the respective tracks and feeds each audio signal to an audio device. In this case each of the four users has a set of headphones 182 that act as the audio device and replay the output signal that is associated with their playing. A second audio output signal that is not de-multiplexed feeds an amplifier (not shown) which in turn drives a set of loudspeakers 184. This second output signal encodes all four audio tracks to allow the entire song to be played out loud.

    [0085] Each input stream of midi data encodes the notes played by a user and certain properties of those notes, in particular the time that each note is played. The input data stream is generated in real time so that each time a note is played it is encoded and input to the laptop as midi data. The input will accept multiple notes played simultaneously, in fact any sequence that can be played on the instrument will be encoded in the file, allowing the sequence to be audibly reproduced. Note that in this system the actual notes may not generally be audibly reproduced but instead function as triggers for alternative sequences of notes. In a modification a “midi thru’ function which allows these notes to be directly converted to audio signals and passed to the output so they can be heard or recorded, or to allow for an experienced musician to play the instrument ‘as is’ without assistance

    [0086] The program running on the laptop 121 presents a graphical user interface 122 on the screen of the laptop that allows a technician to operate the system. If the screen is touch sensitive this may display buttons that can be pressed, or alternatively the technician may use a conventional keyboard or mouse or trackpad to interact.

    [0087] The graphical user interface 122 also includes a control panel which enables a technician to interact with the systems for the purpose of choosing which song is to be played and the instruments and difficultly level and so on as will be explained below.

    [0088] The memory 130 stores data defining many song parts. In this example each part of the piece of music corresponding to a played instrument is defined by a respective set of midi files. Each file corresponds to one fragment of one part of the piece of music which is a set of notes and their timing. By part of a piece of music we mean the notes that will be played by one of the players when performing the whole song. In the example of FIG. 2, there will be four sets of fragments: two guitar parts, one keyboard part and one drums part. By fragment we mean a small chunk of the piece of music, such as a single bar of music that is included in the piece of music.

    [0089] In this example, a vocal track is also stored in the memory as an audio file, which may be fed to the output of the laptop as the song is played without the need for any triggers.

    [0090] An important feature of each set of fragments is that if audibly output in the correct sequence at the correct time the whole of a part of the piece of music will output which may be reproduced audibly or recorded (or both) from those fragments.

    [0091] FIG. 5 shows a simple set of fragments for four parts 501-504 of an exemplary piece of music that may each by played by one of the four players. For each part there is a set of fragments that are to played, Fragments 1 to 3 etc. The precise timing of each segment within the bar will also be stored in the memory alongside or as part of the fragment file. There may be different fragments for each bar of the song, although some may repeat during the piece of music, for example if they form part of a chorus.

    [0092] As well as storing the fragments the memory stores multiple sets of triggers. For each fragment there is at least one associated trigger. The triggers are single notes or combinations of notes that a user may play in order to trigger a corresponding fragment. Generally the triggers will be less complex than the associated fragments. FIG. 7 shows a simple input note forming a trigger, and FIG. 8 shows the more complex fragment that is associated with that trigger.

    [0093] In the example of FIG. 2, each song part has associated with it three sets of triggers. The three sets correspond to three different difficulty levels- easy, medium and hard. The triggers for the easy set will generally be simpler than the triggers of the hard set, for instance single notes rather than complex combinations forming chords. This is shown in FIG. 6, with one trigger for each of the four fragments of FIG. 9.

    [0094] One of the set of triggers is assigned to the player who wants to play a particular part of a piece of music. For example, the two keyboard players may be assigned the easy level for a part, and the drum and guitar players may be assigned the hard level for those parts. The keyboard players only need to play simple triggers to perform their part and the guitar and drums players must perform more complex triggers. Significantly, changing the difficulty level only changes the triggers, the audio output is made up of the triggered fragments and this will be the same regardless of difficulty level chosen.

    [0095] The processing circuit is configured to analyse each input signal to identify within the signal each note of combination of notes that is being played. A combination is a set of notes played at the same time or almost at the same time, in this case within 20 milliseconds of the start of the first note.

    [0096] The analysis matches the note or combination of notes with the set of triggers and if a match is found the associated fragment is output from the laptop to the output devices which in this example are the two loudspeakers and the headphones of the player playing that part of the song.

    [0097] The laptop 121 is also connected to an additional output device 141 that enables cues to be presented to each player on a tablet device associated with that player. These cues tell the player what sequence of notes to play corresponding to the correct sequence of triggers. In the example this is embodied as computer tablet devices 200 that each display a graphical representation of the music on screen (e.g. score). In addition the example includes for each player a digital controller, such as an Arduino device, that powers and controls an illuminated strip attached to the instrument that guides the player on where to physically place their fingers. The skilled person will understand how to implement such a device and to control this by passing to the input of the device the musical score that is to be played.

    [0098] The system may be operated in two main operating modes. The first is a play mode which enables each player to select a piece of music, and to play along to generate the piece of music. The second is a programming mode that enables new pieces of music to be set up. The first mode is illustrated in the flow chart of FIG. 4 and the programming mode is illustrated in the flow chart of FIG. 5.

    The Play Mode

    [0099] The play mode is used when a player or group of players in the studio wish to play along to a piece of music. When entering this mode the technician in charge of the laptop will enter the user’s names. They will also ask each player to choose the instrument they wish to play, perhaps even the type of instrument, and will ask the players what piece of music they want to play. They will also ask what level of difficulty each player wants to select. This information is then entered into the system, assigning the appropriate triggers and fragments to each player.

    [0100] The players can then get into position within the studio with their instruments, don a pair of headphones and set up their tablet devices so they can see and follow the cues they are given. FIGS. 3 and 4 are flowcharts which set out the main steps that are carried out when a piece of music is performed.

    [0101] The technician will start the piece of music, Step 300, which presents a start cue to the players. If there is a vocal track, this will start at the cue and continue to the end of the piece of music or whenever the vocals finish. This vocal track does not require any triggers to be played. Each player must then follow the cues, performing a sequence of triggers at the correct time to play their instrumental part of the piece of music. The laptop receives input signals from the players, Step 310. From the start of the piece of music, the laptop will play each of the fragments internally on a loop, synchronised to a predefined time within each bar of the piece of music or selected bars. For instance, a fragment of length of one bar may be synchronised to start on the first beat of every bar and will loop around to repeat on each first beat. The exact start time will be selected according to when within the bar structure of the piece of music the fragment should start in the played or recorded piece of music if triggered at the right time.

    [0102] The played files will remain looping on the laptop but not output to the audio devices for the duration of the piece of music. During this time the laptop will analyse the input signal to see if a match can be made to a trigger, indicating that the trigger has been played, step 320. If the laptop matches an input note or combination of notes to a trigger for a fragment, the fragment will be fed in Step 330 to the output starting from the point within the fragment corresponding to the time the note was played. The laptop or the output convert the fragment from midi data to audio data at this point. This will pass the fragment to the output at the start of the fragment if the trigger is played at the right time, or part way through if the timing is off. Once the end of a fragment is reached it will go back to only playing internally.

    [0103] The system will continue receiving input signals for the players until the end of the run time of the piece of music is reached at Step 340. It will then stop in this example. If each player played the correct sequence of triggers, the piece of music will have been audibly reproduced, or recorded, or both, perfectly.

    [0104] FIG. 4 gives more detail of the matching and output process for a single fragment.

    [0105] The final output is shown in FIG. 9, with the audio signal form of the fragments highlighted in bold being fed to the loudspeakers and headphones whilst the others are not output and do not need to be converted to audio signals. Note that fragments 1 to 4 for the first bar may differ from fragments 1 to 4 of the later bars, and that the start time for each fragment within a bar (when the user should play the trigger) may vary.

    [0106] This system allows a player to perform a complex piece of music with only a relatively simple set of triggers.

    Programming Mode

    [0107] The programming mode is used to create and store the fragments and triggers that are needed for the play mode.

    [0108] If the data already exists in the form of triggers and fragments, then programming the piece of music into the system is as simple as downloading the files encoding those triggers and fragments into the memory that is accessible to the laptop.

    [0109] If the fragments do not exist, the process of creating them can be performed by downloading an entire part of a piece of music, from start to end of the musical part, as a midi file and then splitting or chopping it up into shorter fragments. The point at which each fragment starts within a bar is then also stored alongside or as part of each fragment.

    [0110] To generate the triggers, a simplified performance of the track may be performed and then chopped up to form the set of triggers, or these may be manually generated using a computer interface.