tuwien-musicir / rp_extract

Rhythm Pattern music feature extractor by IFS @ TU-Vienna
GNU General Public License v3.0
110 stars 27 forks source link

A new project about the Rhythm Pattern #27

Closed ucasiggcas closed 4 years ago

ucasiggcas commented 5 years ago

Dear, I have extracted the Rhythm Pattern of many pieces of the same song or piano music,that is, the song or piano music is played by different persons many many times,then I label the Rhythm Pattern with different scores such as 70,89,100, or other score between 0 and 100,at last I want to train the datasets and predict the score of the Rhythm Pattern of a new person's same song or piano music. Is that possible and how I achieve this? Have any idea and other advice or suggestion? Just a reference of github will be okey . Thx

ucasiggcas commented 5 years ago

About the Rhythm Pattern I have some question, 1.Why set the parameter of Bark Scale and Phone Scale in the script bark = [100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400, 5300, 6400, 7700, 9500, 12000, 15500] phon = [3, 20, 40, 60, 80, 100, 101] 2.The RP's dimension is 1 or 2? in the same script, when I print the feat["rp"],it was a One Dimension Vector But when I plot the RP,why it can be reshape in another script? plotrp(feat["rp"],rows=bark_bands,cols=mod_ampl_limit) def plotrp(features, reshape=True, rows=24, cols=60): And why set [24,60]? Could U help me? Thx

slychief commented 5 years ago

Hello,

may I ask you to refer to this page: http://www.ifs.tuwien.ac.at/mir/audiofeatureextraction.html#RP

You'll find there an overview of the feature-set. If you want to go more into the details, please refer to the publications listed at the bottom of the page which explain the features in detail.

According your initial question, I am sorry, but it is not clear to me what you try to accomplish. Generally, it looks like a regression problem to me. Of course you can use Rhythm Patterns to train a regressor to predict a certain score. The question what the semantic interpretation of this score is and if the rhythm patterns are capable of capturing this semantic concept.

Best, Alex

audiofeature commented 5 years ago

Dear Lychee,

The RP is originally two dimensional with shape 24 x 60: 24 Bark bands on the frequency axis and 60 different repetition frequencies on the horizontal axis.

In The return value of the function it is vectorized to 1440 elements. You can use the same reshape function as you see in rp_plot to reshape to 24x60.

The bark variable sets the frequency limits in Hz for mapping the frequencies from the unit Hz to Bark. See Wikipedia Bark.

Best Thomas

Am 07.03.2019 um 08:35 schrieb Lychee Tsu notifications@github.com:

About the Rhythm Pattern I have some question, 1.Why set the parameter of Bark Scale and Phone Scale in the script bark = [100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400, 5300, 6400, 7700, 9500, 12000, 15500] phon = [3, 20, 40, 60, 80, 100, 101] 2.The RP's dimension is 1 or 2? in the same script, when I print the feat["rp"],it was a One Dimension Vector But when I plot the RP,why it can be reshape in another script? plotrp(feat["rp"],rows=bark_bands,cols=mod_ampl_limit) def plotrp(features, reshape=True, rows=24, cols=60): And why set [24,60]? Could U help me? Thx

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

ucasiggcas commented 5 years ago

Dear Thomas,

Thanks for your reply,

Now I have a question, if I only take the first 18 of the bark, that is, bark = [100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400] should I change other parameters?

ucasiggcas commented 5 years ago

The pic of RP using New bark is right? Runing the rp_extract.py

image

audiofeature commented 5 years ago

Don’t adapt the bark definition.

Instead use rp_extract(…, n_bark_bands = 18, …)

Am 07.03.2019 um 10:08 schrieb Lychee Tsu notifications@github.com:

Dear Thomas,

Thanks for your reply,

Now I have a question, if I only take the first 18 of the bark, that is, bark = [100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400] should I change other parameters?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/tuwien-musicir/rp_extract/issues/27#issuecomment-470444503, or mute the thread https://github.com/notifications/unsubscribe-auth/ALHE6cdE5uFS6dLDcaw1n0eMiFDIO_taks5vUNcVgaJpZM4bihZL.

-- Thomas Lidy TU Wien - Vienna University of Technology Institute of Software Technology and Interactive Systems Favoritenstraße 9-11/188 A-1040 Vienna, Austria

http://www.ifs.tuwien.ac.at/~lidy http://www.ifs.tuwien.ac.at/~lidy