{"id":17036903,"url":"https://github.com/faroit/dsd100mat","last_synced_at":"2025-10-23T16:40:11.976Z","repository":{"id":66776013,"uuid":"48200282","full_name":"faroit/dsd100mat","owner":"faroit","description":"Parse, process and evaluate the demixing secrets dataset (DSD100)","archived":false,"fork":false,"pushed_at":"2016-07-19T14:46:14.000Z","size":38,"stargazers_count":5,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-28T02:32:54.677Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://sisec.inria.fr","language":"Matlab","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/faroit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-17T21:54:55.000Z","updated_at":"2020-03-30T15:02:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"75860247-6fa8-44de-a724-90d6a032c69f","html_url":"https://github.com/faroit/dsd100mat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faroit%2Fdsd100mat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faroit%2Fdsd100mat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faroit%2Fdsd100mat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faroit%2Fdsd100mat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/faroit","download_url":"https://codeload.github.com/faroit/dsd100mat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245031363,"owners_count":20549914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T08:52:20.644Z","updated_at":"2025-10-23T16:40:11.922Z","avatar_url":"https://github.com/faroit.png","language":"Matlab","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DSD100 Matlab\n\nMATLAB scripts to parse and process the demixing secrets dataset (DSD100) as\npart of the [Signal Separation Evaluation Campaign (SISEC)](https://sisec.inria.fr/).\nThis scripts are intended to perform the full evaluation of the separation\nquality of your estimates on the DSD100.\n\n## Usage\n\nWe provide two functions\n\nFunction Name  | Description\n------------- | -------------\n`DSD100_separate_and_eval.m`  | Parse the DSD100 and generates estimates with a user provided function. Evaluates with BSS_EVAL and saves results.\n`DSD100_eval_only.m`  | Only evaluates existing estimates (also multiple methods) with BSS_EVAL and saves results. Good in combination with the [DSD100 python package](https://github.com/faroit/dsd100py)\n\n### Separate and Evaluate\n\nThe function `DSD100_separate_and_eval.m` should be used along with the\nDemixing Secret Dataset 100 (DSD100) for the purpose of music source separation.\nBefore you start please set the `dataset_folder` to point to the DSD100 root folder.\n\nThe separation function should be named `myfunction.m` placed in the\nroot folder, and have the following syntax:\n\n```matlab\n[bass, drums, other, vocals, accompaniment] = myfunction(mixture, fs)\n```\nwhere `mixture` is a matrix of size `[#samples, #channels]` corresponding\nto the mixture, `fs` is the corresponding sampling frequency in Hz, and\n`bass`, `drums`, `other`, `vocals` and `accompaniment` are matrices of\nsame size as the mixture corresponding to the estimates, i.e., the bass,\nthe drums, the other instruments, the vocals, and the full accompaniment\n(i.e., bass+drums+other), respectively. If one or more sources are not\nmeant to be estimated, the function should return an empty matrix (i.e.,\n`[]`). Any other parameter of the algorithm should be defined internally.\n\nThe evaluation function should then be called simply as follows:\n```matlab\nDSD100_separate_and_eval.m\n```\nThe function loops over all the 100 songs of the MSD100 data set, and,\nfor each song, for both the \"Dev\" and \"Test\" subsets, performs source\nseparation on the mixture `mixture.wav` from the folder \"Mixtures\" using\nthe separation function `myfunction.m` and saves the estimates as\n`bass.wav,` `drums.wav,` `other.wav,` and `vocals.wav` (if estimated) to\nthe folder `Estimates.` The function then measures the separation\nperformance using the BSS Eval toolbox 3.0 (included in this function)\nand the sources from the folder \"Sources,\" and saves the results (i.e.,\nSDR, ISR, SIR, and SAR) in the file \"results.mat,\" including the song\nname and the processing time, along with the estimates to the folder\n\"Estimates\". The function also saves the results for all the songs in a\nsingle file \"result.mat\" to the estimates folder, along with this function.\n\n### Evaluate only\n\nIf you already have generated the estimates before (e.g. by using the [DSD100 python package](https://github.com/faroit/dsd100py)\nyou can run `DSD100_eval_only.m` separately. Before you start please set the\n`dataset_folder` to point to the DSD100 folder.\n\nThe variable ```base_estimates_directory``` stand for the root folder in\nwhich the script should find subdirectories containing the results of the\nmethods you want to evaluate. each of these subdirectories must contain\nthe exact same file structure than the DSD dataset, as produced by the\nDSD100_separate_and_eval_parallel.m script or the [DSD100 python package](https://github.com/faroit/dsd100py).\nThe matching is case sensitive. There is the possibility of not including\nall sources, and also to include the \"accompaniment\" source, defined as\nthe sum of all sources except vocals.\n\nThe evaluation function should then be called simply as follows:\n```matlab\nDSD100_eval_only.m\n```\n\nThe function loops over all the 100 songs of the MSD100 data set, and,\nfor each song, for both the \"Dev\" and \"Test\" subsets, performs evaluation\nusing the BSS Eval toolbox 3.0 (included in this function) and saves the\nresults (i.e. SDR, ISR, SIR, and SAR) in the file \"results.mat,\" including\nthe song name. The function also saves the results for all the songs in a\nsingle file \"resultX.mat\" to the estimates folder, along with this function.\n\nA first evaluation is performed for the 4 sources vocals/bass/drums\nand other, and a second is performed for accompaniment.\n\n### References\n\nWe would like to thank [Emmanuel Vincent](http://www.loria.fr/~evincent/) for giving us the permission to\nuse the [BSS Eval toolbox 3.0](http://bass-db.gforge.inria.fr/bss_eval/)\n\nIf you use this script, please reference the following paper\n```latex\n@inproceedings{SiSEC2015,\n    TITLE = {{The 2015 Signal Separation Evaluation Campaign}},\n    AUTHOR = {N. Ono and Z. Rafii and D. Kitamura and N. Ito and A. Liutkus},\n    BOOKTITLE = {{International Conference on Latent Variable Analysis and Signal Separation  (LVA/ICA)}},\n    ADDRESS = {Liberec, France},\n    SERIES = {Latent Variable Analysis and Signal Separation},\n    VOLUME = {9237},\n    PAGES = {387-395},\n    YEAR = {2015},\n    MONTH = Aug,\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaroit%2Fdsd100mat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaroit%2Fdsd100mat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaroit%2Fdsd100mat/lists"}