遇见数据集

rdb_100_claraprints

收藏
Zenodo2020-11-05 更新2026-05-25 收录
数据链接:
官方服务:

资源简介:

This dataset extends the Rondo DB dataset_rdb_100_20200115.json.gz (checksum 49540f7855bed26cdaa28ef038d16321) with the following information: Chord extraction with algorithm <strong>Chordino </strong>as defined in <em>Mauch, Matthias and Dixon, Simon. Approximate<br> Note Transcription for the Improved Identification of Difficult Chords, Proc. of the 11th International Society for Music Information Retrieval Conference (ISMIR 2010), 2010</em> and available as a Vamp plugin (accessible in Python) here: http://www.isophonics.net/nnls-chroma Chord extraction with algorithm <strong>Crema </strong>as defined in <em>McFee, Brian, Juan Pablo Bello. Structured training<br> for large-vocabulary chord recognition. In ISMIR, 2017 </em>and available here: https://github.com/bmcfee/crema Melody extraction with algorithm <strong>Melodia </strong>as defined in <em>J. Salamon and E. Gómez. Melody Extraction from Polyphonic Music Signals using Pitch Contour Characteristics, IEEE Transactions on Audio, Speech and Language Processing, 20(6):1759-1770, Aug. 2012 </em>and demonstrated here: https://github.com/justinsalamon/melodia_python_tutorial/blob/master/melodia_python_tutorial.ipynb Melody extraction with algorithm <strong>Piptrack</strong> as defined in https://librosa.github.io/librosa/generated/librosa.core.piptrack.html Chord and melody extraction are performed on the first 120 seconds of referenced recordings. This dataset uses the format JAMS as described in <em>E. J. Humphrey, J. Salamon, O. Nieto, J. Forsyth,<br> R. M. Bittner, &amp; J. P. Bello. JAMS: A JSON Annotated Music Specification for Reproducible MIR Research. In ISMIR (pp. 591-596), October 2014 </em>and here: https://github.com/marl/jams. Here is an example of a document in this JSON file: <pre><code class="language-json">{ "chord": [ { "data": { "annotation_metadata": { "annotator": {}, "annotation_tools": "nnls-chroma:chordino", "version": "", "annotation_rules": "", "data_source": "program", "corpus": "", "validation": "", "curator": { "name": "", "email": "" } }, "sandbox": {}, "data": [ { "time": 0.185759637, "confidence": null, "duration": null, "value": "N" }, // a lot of data ] } }, { "data": [ { "annotation_metadata": { "annotator": {}, "annotation_tools": "CREMA 0.1.0", "version": "d65ffd9.0", "annotation_rules": "", "data_source": "program", "corpus": "", "validation": "", "curator": { "name": "", "email": "" } }, "data": [ { "time": 0.0, "confidence": 0.2663787007331848, "duration": 0.09287981859410431, "value": "G:min" } // a lot of data ], "namespace": "chord", "time": 0, "duration": 118.1, "sandbox": {} } ] } ], "melody": [ { "data": [ { "value": [ -201.7408905029297, -199.42369079589844, -199.42369079589844, // a lot of data ], "time": [ 0.023219954648526078, 0.026122448979591838, 0.029024943310657598, // a lot of data ] } ], "annotation_metadata": {} }, { "data": [ { "value": [ 402.3492126464844, 403.3961181640625, 393.2862548828125, // a lot of data ], "time": [ 0.023219954648526078, 0.026122448979591838, 0.029024943310657598, // a lot of data } ], "annotation_metadata": {} } ], "file_metadata": { "version": "1.0", "identifiers": { "youtube_id": "0RUhgsuDDe8", "rondodb_piece_id": 82, "rondodb_movement_id": null }, "artist": "Ludwig Van Beethoven", "title": "Ludwig Van Beethoven: Symphony No.5 in C minor, Op. 67", "release": null, "duration": 120 }, "sandbox": { "catalogue_number": "Op. 67", "composer": { "birth_date": "1770-12-17", "death_date": "1827-03-26", "name": "Ludwig Van Beethoven", "rdb_id_people": 13 }, "composition_year": 1808, "name": "Symphony", "number": "5", "piece_full_name": "Symphony No.5 in C minor, Op. 67", "piece_full_name_with_composer": "Ludwig Van Beethoven: Symphony No.5 in C minor, Op. 67", "rdb_id_piece": 82, "recordings": [ { "is_live": false, "start_at": 0, "url": "https://www.youtube.com/watch?v=0RUhgsuDDe8", "claraprints": { "120s_chords_chordino": "ejdmmfmfmeahcifmmmfmfmfmffmcmfmfmfmfmcmeimcceicmjihffmfmmffmfmlejdmmfmfmeahcimimmibmfmf", "120s_chords_crema": "ejdbfmfmfmeahcimmdmmmfmffmcmfmfmfmceceimccjlmmimmimfmjdbfmfmfmelfhcdnammdmmmfmf", "120s_melody_piptrack": "szsxr$$pyry$yy$t$ptxx$rywxx$ryrs$zsotrrt$t%qt$t$rrqxrbqrrqxqosz$sqxy$$xxwxq$szqqxpzsxrszsqxqtpwpwpw$xyryxt$tpzzyrs$xz$xqtzsxq$oyqxtszq$t$obtxtx$qb%ry$yryrbzszwxyrp$ostqxxbryxxbysqxz$yrq%y$t%yrryryrp$rbt$xtw$bzqxqsz%wwxszq$xtszz$stqstszqxqst$t$t$tsz$tsz$tsz$t$t$zst$xrtttptt$yyrrt$ywxq$wytt$wyr$tsqt$xqtt$bqt$rrszr$sqrzzqpwosqsqxqr$szsqxxtpwtxstqstszszw$s", "120s_melody_melodia": "sxr$sqx$oyy%qrbqx$qzqbz$tt$$wsqtpwpwywxyqxywpz$xqobxbozsqxqyoqxqq%otrzszbxt$troxobosoyzqsobxtxos$t$t$t$t$t$zsxrbxwsqtbqxybzbxwqxszw$sq", "30s_chords_chordino": "ejdmmfmfmeahcifmmmfmf", "30s_chords_crema": "ejdbfmfmfmeahcimmdmm", "30s_melody_piptrack": "szsxr$$pyry$yy$t$ptxx$rywxx$ryrs$zsotrrt$t%qt$t$rrqxrbqrrqxqosz$sqxy$$xxwxq$szqqxpzsxrszsqxqtpwpwpw$xyryxt$tpzzyrs$xz$xqtzsxq$oyqxtszq$t$obtxtx$qb%ry$yryrbzszwxyrp$ostqxxbryxxbysqxz$yrq%y$t%yrryryrp$rbt$xtw$bzqxqsz%wwxszq$xtszz$stqstszqxqst$t$t$tsz$tsz$tsz$t$t$zst$xrtttptt$yyrrt$ywxq$wytt$wyr$tsqt$xqtt$bqt$rrszr$sqrzzqpwosqsqxqr$szsqxxtpwtxstqstszszw$s", "30s_melody_melodia": "sxr$sqx$oyy%qrbqx$qzq" } }, // 4 other recordings ], "tonality": "C Minor", "wikipedia_url": "https://en.wikipedia.org/wiki/Symphony_No._5_(Beethoven)" } },</code></pre> The `chord` and `melody` sections contain the result of the automatic extraction according to each algorithm. The `sandbox` section contains the original data from the source dataset (Rondo DB), with the addition of the `claraprints` section with various claraprints for different durations and algorithms. For example, `30s_chords_chordino` is the claraprint for the 30 first seconds of this recording using the Chordino algorithm. The original versions of the sandox data are described on https://www.rondodb.com/about and are copied below: This dataset contains 100 of such works. Here are a detailed field description:<br> • <code>rdb_id_piece</code> (100/100): This is the unique piece ID of this work in Rondo DB. If you prefix it with https://www.rondodb.com/piece/ you will reach its official page on Rondo DB.<br> • <code>name</code> (100/100): The raw name of the piece. As most of classical pieces don't have titles, this is in general the form of the piece, like here: "Symphony".<br> • <code>number</code> (37/100): Applicable to pieces with numbering. Only 32 of them in this dataset. Otherwise the field is absent.<br> • <code>piece_full_name</code> (100/100): Generally accepted name for the given piece. Contains catalog information, subname and tonality.<br> • <code>piece_full_name_with_composer</code> (100/100): Same as <code>piece_full_name</code> but prefixed with composer first name and last name and a semi column.<br> • <code>catalog_number</code> (79/100): This is the full information of how this piece is generally catalogued. Despite the name of the field, this is not a number but a textual information, such as "Op. 37"<br> • <code>tonality</code> (57/100): A full tonality (key and mode) of the given piece. Flats and sharps are writen like "E-flat" or "C-sharp".<br> • <code>composition_year</code> (91/100): The year on four digit of the composition of this piece.<br> • <code>wikipedia_url</code> (82/100): The full URL of the English Wikipedia page describing this work.<br> • <code>rdb_id_movement</code> (26/100): The ID of a movement on Rondo DB. By prefixing this ID with URL https://www.rondodb.com/movement/ you will go to the unique movement page on Rondo DB. A "movement" can also be a "part" in a piece edited with several parts, like a book of preludes, études, or arias in an opera.<br> • <code>movement_full_name</code> (26/100): The name of a movement, which can contain the number of the movement, like in "5. Andaluza". The movement name is part of the <code>piece_full_name</code> and <code>piece_full_name_with_composer</code> as described above.<br> <code>composer</code> (100/100) is a nested object and contains the following fields:<br> • <code>rdb_id_people</code> (100/100): The Rondo DB ID of this composer. By prefixing this ID with URL https://www.rondodb.com/people/ you will go to the unique composer page on Rondo DB.<br> • <code>birth_date</code> (100/100): The date of birth in format YYYY-MM-DD.<br> • <code>death_date</code> (100/100): The date of death in format YYYY-MM-DD.<br> • <code>name</code> (100/100): The full name of the composer like "Heitor Villa-Lobos".<br> <code>recordings</code> (100/100) contains a like of five recording objects. Each recording contains the following fields:<br> • <code>is_live</code> (500/500) indicates if the recording has been performed live or not. When recorded live, it indicates that it <strong>can</strong> contain applauses before/after the recording, tuning orchestra, noises during the performances...<br> • <code>start_at</code> (500/500) the time where the piece is actually starting at, in seconds. Will roughly starts in less than a second after this point. The instruction given to the annotator was: "place the cursor <em>just before</em> the piece actually starts".<br> • <code>url</code> (500/500) the full URL of the Youtube video. At the time of the creation of the dataset, all recording were publicly available.

本数据集基于Rondo DB数据集`dataset_rdb_100_20200115.json.gz`(校验和:49540f7855bed26cdaa28ef038d16321)进行扩展,新增如下信息: ### 多维度特征提取算法 1. **和弦提取(Chordino算法)**:源自Mauch, Matthias与Dixon, Simon发表于2010年第11届国际音乐信息检索大会(International Society for Music Information Retrieval Conference, ISMIR 2010)的论文《Approximate Note Transcription for the Improved Identification of Difficult Chords》,可作为Vamp插件(支持Python调用)获取,下载地址为:http://www.isophonics.net/nnls-chroma 2. **和弦提取(Crema算法)**:源自McFee, Brian与Juan Pablo Bello发表于2017年ISMIR会议的论文《Structured training for large-vocabulary chord recognition》,项目仓库地址为:https://github.com/bmcfee/crema 3. **旋律提取(Melodia算法)**:源自J. Salamon与E. Gómez发表于2012年8月《IEEE音频、语音与语言处理汇刊》第20卷第6期的论文《Melody Extraction from Polyphonic Music Signals using Pitch Contour Characteristics》(页码1759-1770),相关Python使用教程可参考:https://github.com/justinsalamon/melodia_python_tutorial/blob/master/melodia_python_tutorial.ipynb 4. **旋律提取(Piptrack算法)**:定义于Librosa官方文档页面:https://librosa.github.io/librosa/generated/librosa.core.piptrack.html 所有和弦与旋律提取操作均针对参考录音的前120秒执行。本数据集采用**JAMS格式(JSON Annotated Music Specification)**,该格式由E. J. Humphrey、J. Salamon、O. Nieto、J. Forsyth、R. M. Bittner与J. P. Bello于2014年10月在ISMIR会议发表的论文《JAMS: A JSON Annotated Music Specification for Reproducible MIR Research》(页码591-596)中提出,官方项目仓库地址为:https://github.com/marl/jams 以下为该数据集JSON文件的文档示例: <pre><code class="language-json">{ "chord": [ { "data": { "annotation_metadata": { "annotator": {}, "annotation_tools": "nnls-chroma:chordino", "version": "", "annotation_rules": "", "data_source": "program", "corpus": "", "validation": "", "curator": { "name": "", "email": "" } }, "sandbox": {}, "data": [ { "time": 0.185759637, "confidence": null, "duration": null, "value": "N" }, // a lot of data ] } }, { "data": [ { "annotation_metadata": { "annotator": {}, "annotation_tools": "CREMA 0.1.0", "version": "d65ffd9.0", "annotation_rules": "", "data_source": "program", "corpus": "", "validation": "", "curator": { "name": "", "email": "" } }, "data": [ { "time": 0.0, "confidence": 0.2663787007331848, "duration": 0.09287981859410431, "value": "G:min" } // a lot of data ], "namespace": "chord", "time": 0, "duration": 118.1, "sandbox": {} } ] } ], "melody": [ { "data": [ { "value": [ -201.7408905029297, -199.42369079589844, -199.42369079589844, // a lot of data ], "time": [ 0.023219954648526078, 0.026122448979591838, 0.029024943310657598, // a lot of data ] } ], "annotation_metadata": {} }, { "data": [ { "value": [ 402.3492126464844, 403.3961181640625, 393.2862548828125, // a lot of data ], "time": [ 0.023219954648526078, 0.026122448979591838, 0.029024943310657598, // a lot of data } ], "annotation_metadata": {} } ], "file_metadata": { "version": "1.0", "identifiers": { "youtube_id": "0RUhgsuDDe8", "rondodb_piece_id": 82, "rondodb_movement_id": null }, "artist": "Ludwig Van Beethoven", "title": "Ludwig Van Beethoven: Symphony No.5 in C minor, Op. 67", "release": null, "duration": 120 }, "sandbox": { "catalogue_number": "Op. 67", "composer": { "birth_date": "1770-12-17", "death_date": "1827-03-26", "name": "Ludwig Van Beethoven", "rdb_id_people": 13 }, "composition_year": 1808, "name": "Symphony", "number": "5", "piece_full_name": "Symphony No.5 in C minor, Op. 67", "piece_full_name_with_composer": "Ludwig Van Beethoven: Symphony No.5 in C minor, Op. 67", "rdb_id_piece": 82, "recordings": [ { "is_live": false, "start_at": 0, "url": "https://www.youtube.com/watch?v=0RUhgsuDDe8", "claraprints": { "120s_chords_chordino": "ejdmmfmfmeahcifmmmfmfmfmffmcmfmfmfmfmcmeimcceicmjihffmfmmffmfmlejdmmfmfmeahcimimmibmfmf", "120s_chords_crema": "ejdbfmfmfmeahcimmdmmmfmffmcmfmfmfmceceimccjlmmimmimfmjdbfmfmfmelfhcdnammdmmmfmf", "120s_melody_piptrack": "szsxr$$pyry$yy$t$ptxx$rywxx$ryrs$zsotrrt$t%qt$t$rrqxrbqrrqxqosz$sqxy$$xxwxq$szqqxpzsxrszsqxqtpwpwpw$xyryxt$tpzzyrs$xz$xqtzsxq$oyqxtszq$t$obtxtx$qb%ry$yryrbzszwxyrp$ostqxxbryxxbysqxz$yrq%y$t%yrryryrp$rbt$xtw$bzqxqsz%wwxszq$xtszz$stqstszqxqst$t$t$tsz$tsz$tsz$t$t$zst$xrtttptt$yyrrt$ywxq$wytt$wyr$tsqt$xqtt$bqt$rrszr$sqrzzqpwosqsqxqr$szsqxxtpwtxstqstszszw$s", "120s_melody_melodia": "sxr$sqx$oyy%qrbqx$qzqbz$tt$$wsqtpwpwywxyqxywpz$xqobxbozsqxqyoqxqq%otrzszbxt$troxobosoyzqsobxtxos$t$t$t$t$t$zsxrbxwsqtbqxybzbxwqxszw$sq", "30s_chords_chordino": "ejdmmfmfmeahcifmmmfmf", "30s_chords_crema": "ejdbfmfmfmeahcimmdmm", "30s_melody_piptrack": "szsxr$$pyry$yy$t$ptxx$rywxx$ryrs$zsotrrt$t%qt$t$rrqxrbqrrqxqosz$sqxy$$xxwxq$szqqxpzsxrszsqxqtpwpwpw$xyryxt$tpzzyrs$xz$xqtzsxq$oyqxtszq$t$obtxtx$qb%ry$yryrbzszwxyrp$ostqxxbryxxbysqxz$yrq%y$t%yrryryrp$rbt$xtw$bzqxqsz%wwxszq$xtszz$stqstszqxqst$t$t$tsz$tsz$tsz$t$t$zst$xrtttptt$yyrrt$ywxq$wytt$wyr$tsqt$xqtt$bqt$rrszr$sqrzzqpwosqsqxqr$szsqxxtpwtxstqstszszw$s", "30s_melody_melodia": "sxr$sqx$oyy%qrbqx$qzq" } }, // 4 other recordings ], "tonality": "C Minor", "wikipedia_url": "https://en.wikipedia.org/wiki/Symphony_No._5_(Beethoven)" } },</code></pre> 其中,`chord`与`melody`字段分别存储各算法自动提取得到的和弦与旋律结果。`sandbox`(沙盒)字段包含源数据集(Rondo DB)的原始数据,并新增了`claraprints`子字段,用于存储不同时长、不同算法对应的**克拉普林特(claraprint)**。例如,`30s_chords_chordino`即代表使用Chordino算法对该录音前30秒生成的克拉普林特。源沙盒数据的详细说明可访问https://www.rondodb.com/about,摘录如下: 本数据集共包含100部此类作品。以下为各字段的详细说明: 1. **`rdb_id_piece`(100/100)**:该作品在Rondo DB中的唯一作品ID。若在该ID前拼接前缀`https://www.rondodb.com/piece/`,即可访问其在Rondo DB上的官方页面。 2. **`name`(100/100)**:作品的原始名称。由于多数古典作品并无正式标题,该字段通常为作品的体裁类型,例如本示例中的“Symphony”(交响曲)。 3. **`number`(37/100)**:仅适用于带有编号的作品,本数据集中仅32部作品包含该字段,其余作品无此字段。 4. **`piece_full_name`(100/100)**:该作品的通用官方名称,包含目录信息、副名称与调式调性。 5. **`piece_full_name_with_composer`(100/100)**:与`piece_full_name`格式一致,但前缀添加了作曲家的完整姓名与分号。 6. **`catalog_number`(79/100)**:该作品的通用编目信息。尽管字段名为“编号”,其实际为文本格式的编目信息,例如“Op. 37”。 7. **`tonality`(57/100)**:该作品的完整调式调性(调号与调式),升降号采用“降E”“升C”这类中文表述方式。 8. **`composition_year`(91/100)**:该作品的创作年份,采用四位数字格式。 9. **`wikipedia_url`(82/100)**:该作品的英文维基百科页面完整URL。 10. **`rdb_id_movement`(26/100)**:该作品某乐章在Rondo DB中的唯一ID。若在该ID前拼接前缀`https://www.rondodb.com/movement/`,即可访问对应乐章的官方页面。此处的“乐章”也可指包含多个分部的作品分部,例如前奏曲集、练习曲集或歌剧咏叹调集。 11. **`movement_full_name`(26/100)**:该乐章的名称,可包含乐章编号,例如“5. Andaluza”。乐章名称是前文所述`piece_full_name`与`piece_full_name_with_composer`字段的组成部分。 **`composer`(100/100)**为嵌套对象,包含如下子字段: 1. **`rdb_id_people`(100/100)**:该作曲家在Rondo DB中的唯一人物ID。若在该ID前拼接前缀`https://www.rondodb.com/people/`,即可访问对应作曲家的官方页面。 2. **`birth_date`(100/100)**:作曲家的出生日期,格式为YYYY-MM-DD。 3. **`death_date`(100/100)**:作曲家的逝世日期,格式为YYYY-MM-DD。 4. **`name`(100/100)**:作曲家的完整姓名,例如“Heitor Villa-Lobos”(埃托尔·维拉-罗伯斯)。 **`recordings`(100/100)**字段包含5条录音对象。每条录音包含如下子字段: 1. **`is_live`(500/500)**:标记该录音是否为现场演出录音。现场录音可能包含演出前后的掌声、乐队调音、演出过程中的杂音等内容。 2. **`start_at`(500/500)**:作品实际开始的时间点,单位为秒。该时间点之后约1秒内即为作品正式起始。标注要求为:“将光标置于作品正式起始位置**之前**”。 3. **`url`(500/500)**:该YouTube视频的完整URL。本数据集构建时,所有录音均为公开可访问状态。

提供机构:
Zenodo
创建时间:
2020-06-28
二维码
社区交流群
二维码
科研交流群
商业服务