[0001] The present invention relates to a method and an apparatus for processing a digital
musical file.
[0002] one preferred embodiment of the present invention consists in processing musical
files of SMF-type (i.e. Standard MIDI File) and the description of the present invention
clearly refers to this preferred embodiment, without therefore loosing its general
scope.
[0003] SMF-type musical files are commonly used as musical bases during concerts performed
by a small number of musicians (typically one or two musicians) for a restricted audience
or on any occasion in which requiring a large number of musicians to play would be
too costly. During such kind of use, the musician plays his/her own musical instrument
while an SMF-type musical file is played back by an SMF player and thus used as a
musical base. Obviously, earlier on the musician must have studied the SMF-type musical
file to determine a chord progression defining the harmony of the musical file, so
that he/she can play this chord progression by his/her own musical instrument while
the SMF-type musical file is played back. Studying SMF-type musical files to be able
to determine their corresponding chord progressions is very time-consuming for musicians,
because during their performances musicians need to be able to play a wide selection
of songs to meet all the various requests they may receive from the audience. In addition
it happens quite often that the audience ask a musician to play a song, which he/she
can't play because he/she hasn't studied it earlier on, even though he/she's got the
corresponding SMF-type musical file available.
[0004] To determine the song progression of an SMF-type musical file, some software products
have been released, which are capable of analyzing an SMF-type musical file and working
out the corresponding chord progression. However, this kind of software products work
out the full chord progression of a musical file, which results to be extremely complicated
and practically impossible to play for a musician, unless the musician carries out
a hard simplification work on it. Basically, this kind of software products results
to be useful only to analyze SMF-type musical files subsequently for educational and
composition purposes as well as to transcribe musical sequences.
[0005] To try and solve the above explained inconveniences, the proposal has been forwarded
to enclose the corresponding chord progression in text format with every SMF-type
musical file. Such a proposal, however, hasn't ever been successful with professional
musicians and, at present, it's still rare to find an SMF-type musical file having
its own chord progression in text format enclosed.
[0006] The scope of the present invention is to provide a method and an electronic apparatus
to process a digital musical file without the above described inconveniences and whose
implementation is easy and cost-effective at the same time.
[0007] According to the present invention, a method is provided to process a digital musical
file as stated in claim 1.
[0008] According to the present invention, a method is provided to process a digital musical
file as stated in claim 28.
[0009] According to the present invention, an electronic apparatus is also provided to process
a digital musical file as stated in claim 41.
[0010] The present invention is herein described with reference to the enclosed drawings,
which show an example of its non-restrictive embodiment, wherein:
■ Fig. 1 shows an electronic apparatus for playing back and processing SMF-type musical
files according to the present invention;
■ Fig. 2 schematically shows two images visualized by a liquid crystal display provided
in the electronic apparatus shown in Fig. 1.
[0011] Number 1 in Fig. 1 shows a synthesizer device to play back and process SMF-type musical
files. An SMF-type musical file comprises a plurality of channels (typically 16 channels),
which are either divided into their corresponding tracks (format "1") or into one
single track (format "0"). Each channel contains a note sequence, wherein each note
is associated with its corresponding code (referred to as "Program Change") identifying
the tone and with its corresponding value (referred to as "Hold") identifying its
possible duration extension.
[0012] With reference to the "General MIDI Sound Set" specifications, an SMF-type musical
file F can contain tones belonging to 128 different musical instruments, that are
divided into 16 families, each family consisting of 8 different musical instruments.
Consequently, each musical instrument is identified by a progressive number ranging
from 1 up to 128. For a clear reference, the 16 families are the following:
FAMILY |
PROGRESSIVE NUMBER |
NAME |
1 |
1-8 |
Piano |
2 |
9-16 |
Chromatic Perc. |
3 |
17-24 |
Organ |
4 |
25-32 |
Guitar |
5 |
33-40 |
Bass |
6 |
41-48 |
Orchestra |
7 |
49-56 |
Ensemble |
8 |
57-64 |
Brass |
9 |
65-72 |
Reed |
10 |
73-80 |
Pipe |
11 |
81-88 |
Synth Lead |
12 |
89-96 |
Synth Pad |
13 |
97-104 |
Synth Effects |
14 |
105-112 |
Ethnic |
15 |
113-120 |
Percussive |
16 |
121-128 |
Sound Effects |
[0013] The synthesizer apparatus 1 comprises a box device 2 housing a processing unit 3;
a display 4, that is driven by the processing unit 3; a 3.5" floppy disk drive 5 (or
any other mass-storage memory like Smart Media, Compact Flash, Hard Disk, etc.), that
is connected with the processing unit 3; and a keyboard 6, that is connected with
the processing unit 3.
[0014] In particular, the processing unit 3 comprises a microprocessor, ROM-type memories
containing the operative system of the microprocessor, RAM-type memories used by the
microprocessor, and a group of controllers for controlling the display 4, the drive
5, the keyboard 6, and other external devices that can be connected with the synthesizer
apparatus 1.
[0015] The synthesizer apparatus 1 is typically connected with an amplifier 7, which is
capable of amplifying a musical signal coming out from the synthesizer apparatus 1
and drive it to a pair of speaker boxes 8.
[0016] Usually a user inserts a floppy disk 9 containing an SMF-type musical file F into
the floppy disk drive 5 and commands the processing unit 3 by means of the keyboard
6 to play back the SMF-type musical file F and transmit the related musical signal
to the amplifier 7. While playing it back, the processing unit 3 processes the SMF-type
musical file F to extract its related chord progression CP defining the harmony of
the very musical file F and to visualize such a chord progression CP on the display
4 simultaneously with the playback of the musical file F. In other words, while the
musical file F is played back by the synthesizer apparatus 1, its related chord progression
CP is visualized on the display 4 in synchronization with the playback of the very
musical file F. Therefore, during the playback of the musical file F, on the display
4 the user can watch what chord progression CP is associated with the musical file
F and play some notes by using his/her instrument 9 (typically his/her instrument
9 is also connected with the amplifier 7) consistently with the visualized chord sequence.
[0017] It becomes obvious that a user can play his/her instrument 9 by using an SMF-type
musical file as his/her accompaniment, even if he/she hasn't ever studied it earlier
on, since simultaneously and in synchronization with the playback of the musical file
F the synthesizer apparatus 1 visualizes the chord progression CP that is associated
with the musical file F and that defines the harmony of the very musical file F.
[0018] According to alternative embodiments, the synthesizer apparatus 1 may be either independent,
as shown in Fig. 1, or integrated into one musical instrument, typically a keyboard.
[0019] As shown in Fig. 2, while the chord progression CP is visualized, the display 4 visualizes
the current chord CC and one of the subsequent chords SC at least. In particular,
the number of the visualized subsequent chords SC coming after the current chord CC
can be chosen by the user by means of the keyboard 6 and it ranges from one up to
a maximum number, that depends on the size of the display 4. Of course, if the same
chord is repeated subsequently several times, then this chord appears as both current
chord CC as well as subsequent chord SC.
[0020] By means of the keyboard 6 the user can choose what kind of visualization of the
CC and SC chords he/she likes. For example, the CC and SC chords can be Visualized
by using the alphanumeric representation according to the Anglo-Saxon convention (as
shown in Fig. 2), the alphanumeric representation according to the Italian convention,
a standard music score, or guitar strings. Depending on user's preferences and on
the size of the display 4, it is also possible to use different kinds of representations
at the same time. It should also be noticed that the graphic representation of the
current chord CC is preferably different from that of the subsequent chords SC so
as to help the user when reading the CC and SC chords on the display 4.
[0021] As it will be described in detail later on, the visualization of the CC and SC chords
on the display 4 is updated at visualization time intervals whose duration is constant,
predetermined and linked with the time duration of the rhythmic division of the playing
back musical file F. In other words, between two subsequent modifications of the CC
and SC chords, which are visualized on the display 4, a time interval lapses, which
is constant and equal to a predetermined visualization time interval. Consequent to
the above explanation, it is obvious that the CC and SC chords visualized on the display
4 are not updated exactly as they occur in the playback of the musical file F, but
they are updated only at certain visualization time intervals, whose duration is predetermined.
[0022] How the processing unit 3 extracts the chord progression CP corresponding to the
musical file F is described here below.
[0023] First, all tracks related to non-harmonic sounds are eliminated (alternatively, if
the SMF-type musical file F is codified in format "0" the corresponding channels are
eliminated), for example drum tracks, tracks that may potentially include non-harmonic
parts, and tracks containing several transitory and accessory notes that are not needed
to determine the harmony, such as the solo track. In an SMF-type musical file F, the
drum track is usually the track number 10 and the solo track is usually the track
number 4, so the processing unit 3 is going to eliminate these two tracks. If the
musical file F is not an SMF-type musical file, the processing unit 3 has to analyze
the musical file F in advance according to known state-of-the-art procedures SO as
to identify non-harmonic tracks. Alternatively the user can communicate to the processing
unit 3 which non-harmonic tracks are to be eliminated by means of the keyboard 6.
[0024] Then, from the musical file F, that is deprived of the non-harmonic tracks and the
solo track, all those notes are eliminated that are associated with non-harmonic instruments
(or tones), with solo instruments (or tones), and with instruments (or tones) frequently
used for transitory or accessory notes. In other words, all those notes are eliminated,
which have a "Program Change" value belonging to a non-harmonic, solo instrument (or
tone) or to an instrument (or tone) that is frequently used for transitory or accessory
notes. For this purpose, the table 1 shown here below is stored in the processing
unit 3. The table 1 shows which instruments are useful to determine the harmony and
can therefore be referred to as harmonic instruments and which instruments are not
useful to determine the harmony and can therefore be referred to as non-harmonic instruments.
The table 1 has been worked out by combining a theoretical analysis with a series
of experimental tests; consequently it is subject to changes depending on the desired
final effect.
TABLE 1:
INSTRUMENTS REFERRED TO AS HARMONIC INSTRUMENTS |
HARMONIC INSTRUMENTS |
FAMILY |
1-8 |
Piano |
12 |
Chromatic Perc. |
17-22 e 24 |
Organ |
25-28 |
Guitar |
33-40 |
Bass |
41-47 |
Orchestra |
49-55 |
Ensemble |
59 e 61-64 |
Brass |
66-68 e 73-75 |
Reed |
--- |
Pipe |
82 |
Synth Lead |
89-96 |
Synth Pad |
97 e 99-104 |
Synth Effects |
--- |
Ethnic |
--- |
Percussive |
--- |
Sound Effects |
[0025] In other words, according to the Table 1 all those notes are eliminated, which belong
to instruments having the following "Program Change": 9-11, 13-16, 23, 29-32, 48,
56-58, 60, 65, 69-72, 76-81, 83-88, 98, 105-128.
[0026] Once the SMF-type musical file F has been deprived of the non-harmonic tracks and
the notes having non-harmonic tones, it's transmitted to a chord recognition algorithm.
Such kind of algorithms are known in the state-of-the-art literature and, for instance,
the chord recognition algorithm described in the patent US-5235126-A1 can be used.
[0027] The chord recognition algorithm outputs a chord sequence, which is still too complicated
for a musician to use it in real time. This is the reason why two subsequent filtering
processes are applied to the outputted chord sequence.
[0028] The first filtering process aims at simplifying some complex chords, since some complex
chords can be reduced into simpler chords without causing any substantial difference
in what the listener perceives. For example, if a chord is recognized as C5b, 7, 10b,
this very chord is reduced into the chord C5b, which has got the same substantial
features. For this purpose the Table 2 shown here below is stored in the processing
unit 3. The Table 2 shows the principles adopted to simplify complex chords, as it
indicates every complex chord and its corresponding simplified chord. The processing
unit 3 scrolls the chord sequence provided by the chord recognition algorithm and
replaces each complex chord with its corresponding simplified chord by using the Table
2. The Table 2 results from a theoretical analysis combined with a series of experimental
tests and is, therefore, subject to variations depending on the desired final effect.
TABLE 2:
RULES FOR SIMPLIFYING COMPLEX CHORDS |
COMPLEX CHORD |
SIMPLIFIED CHORD |
12# |
Maj |
2, 6, 9b |
9 |
5b,12 |
5b |
5b,7,10b |
5b |
5b,7,12 |
5b |
5b,7,9,12 |
5b |
5b, 9 |
5b |
6, 13# |
6 |
6,9 |
6 |
6,9b |
6 |
7,10b |
7 |
7,12# |
7 |
7,14 |
7 |
7,9 |
7 |
7,9,11,11# |
7,9 |
7,9,12# |
7,9 |
9,11 |
9 |
Dim 12 |
Dim |
Dim 13# |
Dim |
Maj7 11 |
Maj7 |
Maj 7 11# |
Maj7 |
Maj7,6,9 |
Maj7 9 |
min 11# |
min |
min 6,13# |
min 6 |
min 6,9b |
min 6 |
Sus 10 |
Sus |
Sus 11# |
Sus |
Sus 7,14 |
Sus 7 |
Sus 7,9 |
Sus 7 |
Sus Maj7 |
Sus |
[0029] The second filtering process is aimed at avoiding an excessive number of chord changes,
since it has been noticed that the chord sequence obtained from the musical file F
usually features numerous chord changes and some of such chord changes are usually
too fast for musicians to be able to actually use them. As a matter of fact, the second
filtering process eliminates the suspended chord (Sus), whose key note is seven semitones
higher than the key note of the immediately previous chord (e.g. in the chord progression
CMaj, GSus, the Gsus chord is the one to be eliminated).
[0030] In addition, the filtering process eliminates the subsequent chord whenever the sound
of the previous chord is very similar to the sound of the subsequent chord. For this
purpose, the Table 3 shown here below is stored in the processing unit 3. Whenever
a pair of chords (first chord and second chord) belonging to the Table 3 shown here
below is found in sequence inside a chord progression, then the second chord is eliminated.
The Table 3 results from a theoretical analysis combined with a series of experimental
tests and is, therefore, subject to variations depending on the desired final effect.
TABLE 3:
RULES FOR ELIMINATING SUBSEQUENT CHORDS |
FIRST CHORD |
SECOND CHORD |
CHORDN_MAJ |
CHORDN_MAJ7 |
CHORDN_MAJ |
CHORDN_SUS |
CHORDN_MIN |
CHORDN_MIN7 |
CHORDN_7 |
CHORDN_SUS |
CHORDN_MAJ7 |
CHORDN_6 |
CHORDN_MIN7 |
CHORDN_MIN9 |
CHORDN_SUS |
CHORDN_9 |
CHORDN_6 |
CHORDN_MAJ |
CHORDN_6 |
CHORDN_7 |
CHORDN_9 |
CHORDN_6 |
CHORDN_9 |
CHORDN_MAJ7 |
CHORDN_MIN6 |
CHORDN_MIN7 |
CHORDN_MIN9 |
CHORDN_MIN7 |
Finally, the second filtering process eliminates all those chords which are not held
for a predetermined time interval at least, such a predetermined time interval being
preferably 100 CPT (Clock Pulse Time). In particular, 1 CPT is an internal time calculation
unit of the processing unit 3. Its time length results from the following formula:

wherein BPM stands for Beat Per Minute, namely the Beats Per Minute used to play
back the musical file F; TB stands for Time Base, namely the temporal resolution of
the processing unit 3. The typical time length of 100 CPT may range from 200 msec
up to 500 msec.
[0031] At end of the above simplification processes, chords are aligned along a time line
that is divided into a sequence of windows, wherein each window has a time length
equal to the visualization time interval described further above and comprises all
the chords starting on a instant contained in that very window. Obviously, each window
has its own initial instant, which necessarily coincides with the final instant of
the previous window, and its own final instant, which necessarily coincides with the
initial instant of next window. Inside every window the processing unit 3 moves the
chords contained in the window, so as to make the initial instants of the chords coincide
with the initial or final instant of the window. In particular, inside every window
a threshold is established, which is typically positioned at 75% of the window time
length. The chords contained in the window having their initial instants before the
threshold are moved to the initial instant of the window and the chords contained
in the window having their initial instants after the threshold are moved to the final
instant of the window. Whenever several chords result to be in the same either initial
or final instant, only the chord is kept which was previously performed as the last
one. In other words, only the chord is kept whose initial instant previously resulted
to be the last one, whereas all the other chords are eliminated.
[0032] According to the above description, it is obvious that the time length of every window
is equal to the visualization time interval described further above and every window
comprises no more than one chord whose initial instant coincides with the initial
instant of the window (and therefore with the final instant of the previous window)
as well as no more than one chord whose initial instant coincides with the final instant
of the window (and therefore with the initial instant of next window). The processing
unit 3 updates the content of the display 4 to show the current chord CC and the subsequent
chords SC at time intervals coinciding with the visualization time intervals. Consequently,
the content of the display 4 is updated by showing the chords whose initial instants
coincide with either the initial or the final instants of the windows.
[0033] The duration of each window, namely the time length of a visualization time interval,
results from the time duration of the Time Signature of the musical file F. In other
words the time duration of each window results from the Time Signature TS of the musical
file F and the BPM value relating to the playback of the musical file F. Time Signature
stands for the fraction N/D, wherein N stands for the number of movements and D stands
for the value of every movement related to the rhythmic unit called musical Measure.
The duration of each window, which is the time length of a visualization time interval,
is preferably equal to the time duration of the musical Measure, which is defined
by the Time Signature TS of the musical file F whenever either the playback BPM value
of musical file F is higher than 145 or the N value of the Time Signature TS relating
to the musical file F is 1, 2, 3 and 5. In all the other cases, the duration of each
window, which is the time length of a visualization time interval, amounts to half
time duration of the musical measure defined by the Time Signature TS of the musical
file F.
[0034] Obviously, as described above, the processing unit 3 can extract the chord progression
CP from the musical file F both in real time, namely while the musical file F is played
back, as well as before the musical file F is played back. In the second event, the
chord progression CP is stored in a temporary memory of the processing unit 3 to be
then visualized on the display 4 while the musical file F is played back.
[0035] Of course, the above described method for extracting the corresponding chord progression
CP from an SMF-type musical file F can be applied to any other type of digital musical
file having either a structure similar to that of MIDI files (i.e. including a series
of notes and their related tones) or a structure with the representation of audio
signals (e.g. Mp3 format and RealAudio format). As far as these second types Of digital
musical file are concerned, some algorithms have to be used (these algorithms are
known and available in the-state-of-the-art literature) to convert the audio signals
into a sequence of notes and their corresponding tones.
[0036] Several field tests proved that the above described method for extracting the chord
progression CP from a musical file F is extremely reliable and enables a musician
to use an SMF-type musical file F as an accompaniment in his/her performance without
any preliminary study being necessary. Moreover, the method used for visualizing the
chord progression CP on the display 4 in real time and in synchronization with the
playback of the musical file F proved also to be very effective and easy-to-use for
users.
1. A method for processing a digital musical file (F) in order to extract a related chord
progression (CP) defining the harmony of the musical file (F); such a method applying
a chord recognition algorithm to the musical file (F) in order to provide a chord
progression (CP) relating to the chords contained in the musical file (F); the method
being characterized in submitting the musical file (F) to a first filtering process before applying the
chord recognition algorithm in order to eliminate non-harmonic elements from the musical
file (F), to a second filtering process in order to simplify complex chords without
modifying the substantial chord perception by the user, and to a third filtering process
in order to eliminate non-significant chords, which may not be played without the
substantial chord perception by the user being altered.
2. The method according to claim 1, wherein the first filtering process on the musical
file (F) eliminates non-harmonic tracks, i.e. non-harmonic elements, from the very
musical file (F).
3. The method according to claim 2, wherein non-harmonic tracks consist of drum and solo
tracks.
4. The method according to claim 3, wherein the musical file (F) is an SMF-type musical
file and non-harmonic tracks are track 4 and track 10.
5. The method according to any of the above claims from 1 through 4, wherein the first
filtering process on the musical file (F) eliminates notes coming from non-harmonic
tones.
6. The method according to claim 5, wherein the musical file (F) is an SMF-type musical
file for musical generators complying with the sound set stated in the General MIDI
standard; and wherein notes having a "Program Change" value included in the following
list are eliminated: 9-11, 13-16, 23, 29-32, 48, 56-58, 60, 65, 69-72, 76-81, 83-88,
98, 105-128.
7. The method according to any of the above claims from 1 through 6, wherein the second
filtering process on the musical file (F) replaces every complex chord included in
the chord progression (CP) related to the musical file (F) with a corresponding simplified
chord.
8. The method according to claim 7, wherein complex chords and their corresponding simplified
chords are listed in the enclosed table entitled RULES FOR SIMPLIFYING COMPLEX CHORDS
(Table 2).
9. The method according to any of the above claims from 1 through 8, wherein the third
filtering process on the chord progression (CP) related to the chords contained in
the musical file (F) eliminates the Suspended chord (Sus), whose key note is seven
semitones higher than the key note of the previous chord.
10. The method according to any of the above claims from 1 through 9, wherein the third
filtering process reduces the number of chord changes in the chord progression (CP)
related to the musical file (F).
11. The method according to claim 10, wherein the third filtering process on the chord
progression (CP) related to the musical file (F) eliminates the subsequent chord whenever
the sound of the previous chord is similar to the sound of the subsequent chord.
12. The method according to claim 11, wherein the second chord is eliminated, whenever
a sequence of a couple of chords, respectively a first and a second chord, is detected
inside the chord progression (CP) related to the musical file (F), such couple of
chords being listed in the enclosed table RULES FOR ELIMINATING SUBSEQUENT CHORDS
(Table 3).
13. The method according to any of the above claims from 10 through 12, wherein the third
filtering process on the chord progression (CP) related to the musical file (F) eliminates
all those chords that are not held for a predetermined time interval, at least.
14. The method according to claim 13, wherein said predetermined time interval amounts
to 100 CPT.
15. The method according to any of the above claims from 1 through 14, wherein the chord
progression (CP) is visualized on a display (4) in synchronization with the playback
of the musical file (F).
16. The method according to claim 15, wherein to visualize the chord progression (CP)
the current chord (CC) and at least one of the subsequent chords (SC) are visualized
on the display (4).
17. The method according to claim 16, wherein the graphic representation of the current
chord (CC) is different from the graphic representation of subsequent chords (SC).
18. The method according to any of the above claims from 15 through 17, wherein the visualization
of the (CC) and (SC) chords on the display (4) is updated and the pause lapsing between
one update and the next is equal to the a visualization time interval, whose duration
is constant and predetermined.
19. The method according to claim 18, wherein the duration of each visualization time
interval depends on the time duration of the rhythmic division of the playing back
musical file (F).
20. The method according to claim 19, wherein the duration of each visualization time
interval depends on the performance tempo (i.e. the BPM value) of the playing back
musical file (F) as well as on the Time Signature TS of the musical file (F).
21. The method according to claim 20, wherein the duration of each visualization time
interval is equal to the time duration of the musical measure that is defined by the
Time Signature TS of the musical file (F).
22. The method according to claim 20, wherein the duration of each visualization time
interval is equal to half time duration of the musical measure defined by the Time
Signature TS of the musical file (F).
23. The method according to claim 20, wherein the duration of each visualization time
interval is equal to the time duration of the musical measure defined by the Time
Signature TS of the musical file (F) whenever the BPM (beat per minute) value is higher
than 145 or the numerator in the fraction indicating Time Signature TS of the musical
file (F) is 1, 2, 3 and 5. The duration of each visualization time interval being
equal to half time duration of the musical measure defined by the Time Signature TS
of the musical file (F) in all the other cases.
24. The method according to any of the above claims from 18 through 23, wherein the chords
included in the chord progression (CP) are aligned along a temporal line, which is
divided into a sequence of windows. The duration of each one of such windows is equal
to the visualization time interval, has an initial and a final instant, and includes
the chords having their initial instant inside the very window. Inside each window,
the chords included in one window are moved so as to make the initial instants of
the chords coincide with either the initial or the final instant of the window. The
visualization of chords (CC, SC) on the display (4) is updated in correspondence with
the initial and final instants of every window.
25. The method according to claim 24, wherein inside each window a threshold is established
and the chords contained in the window whose initial instant is temporally located
before the threshold are moved to the initial instant of the window, and the chords
contained in the window whose initial instant is temporally located after the threshold
are moved to the final instant of the window.
26. The method according to claim 25, wherein said threshold is placed at 75% of the duration
of the window.
27. The method according to claim 24, 25 or 26, wherein whenever several chords result
to be located at the same visualization instant, only the chord is kept whose original
initial instant was the latest whereas all the other chords are eliminated.
28. The method for processing a digital musical file (F) in order to extract a chord progression
(CP) from the very musical file (F) defining the harmony of the musical file (F).
Such a method comprising the step of applying a chord recognition algorithm to the
musical file (F), which is capable of providing a chord progression (CP) related to
the chords contained in the musical file (F); the method being characterized in simplifying the chord progression (CP) related to the chords contained in the musical
file (F) and visualizing the simplified chord progression (CP) on a display (4) in
synchronization with the playback of the musical file (F).
29. The method according to the claim 28, wherein the current chord (CC) and at least
one subsequent chord (SC) is visualized on display (4) to visualize the chord progression
(CP).
30. The method according to the claim 29, wherein the graphic representation of the current
chord (CC) is different from the graphic representation of the subsequent chords (SC).
31. The method according to any of the above claims from 28 through 30, wherein the visualization
of the (CC) and (SC) chords on the display (4) is regularly updated with a pause between
one update and the next one that is equal to a visualization time interval, whose
time length is constant and predetermined.
32. The method according to the claim 31, wherein the duration of every visualization
time interval depends on the time duration of the rhythmic division of the playing
back musical file (F).
33. The method according to the claim 32, wherein the duration of every visualization
time interval depends on the performance tempo (i.e. BPM value) of the playing back
musical file (F) as well as on the Time Signature TS of the musical file (F).
34. The method according to the claim 33, wherein the duration of every visualization
time interval is equal to the time duration of the musical measure defined by the
Time Signature TS of the musical file (F).
35. The method according to the claim 33, wherein the duration of every visualization
time interval is equal to half time duration of the musical measure defined by the
Time Signature of the musical file (F).
36. The method according to the claim 33, wherein the duration of every visualization
time interval is equal to the time duration of the musical measure defined by the
Time Signature TS of the musical file (F) whenever the beat per minute BPM value relating
to the playback of the musical file (F) is higher than 145 or the numerator in the
fraction indicating the Time Signature TS of the musical file (F) is 1, 2, 3 and 5.
The duration of every visualization time interval being equal to half time duration
of the musical measure defined by the Time Signature TS of the musical file (F) in
all the other cases.
37. The method according to any of the above claims from 31 through 36, wherein the chord
progression (CP) relating to the chords of the musical file (F) are aligned along
a temporal line, which is divided into a sequence of windows. Each one of such windows
has a duration that is equal to the visualization time interval, has an initial and
a final instant, and comprises all the chords whose initial instants are included
inside the window. Inside each window chords are moved so as to make their initial
instants coincide with either the initial or the final instant of the window, the
visualization of the chords (CC) and (SC) being updated in correspondence with the
initial and the final instants of every window.
38. The method according to claim 37, wherein a threshold is established inside each window
and the chords included inside the window whose initial instants are temporally located
before said threshold are moved to the initial instant of the window, whereas the
chords included inside the window whose initial instants are temporally located after
said threshold are moved to the final instant of the window.
39. The method according to claim 38, wherein said threshold is placed at 75% of the window
duration.
40. The method according to claim 37, 38 or 39, wherein whenever several chords result
to be in the visualization instant, only that chord is kept, whose original initial
instant was the latest, while all the other chords are eliminated.
41. An electronic apparatus (1) for processing a digital musical file (F) in order to
extract a chord progression (CP) relating to the chords defining the harmony of the
musical file (F). Such an electronic apparatus (1) comprising playback means (3) for
playing back the musical file (F) and calculation means (3) for applying a chord recognition
algorithm to the musical file (F), such a chord recognition algorithm being capable
of providing a chord progression (CP) relating to the chords contained in the musical
file (F); the electronic apparatus (1) being characterized in comprising calculation means (3) capable of simplifying the chord progression (CP)
resulting from the chord contained in the musical file (F) as well as a display (4)
capable of visualizing the simplified chord progression (CP) in synchronization with
the playback of the musical file (F).
42. The electronic apparatus (1) according to claim 41, comprising a musical instrument.
43. The electronic apparatus (1) according to claim 41 or 42, implementing the method
described in the above claims from 1 through 40.