{
  "id": 89382,
  "title": "CVSSP baseline code available",
  "url": "/competitions/freesound-audio-tagging-2019/discussion/89382",
  "author_name": "cvssp_baseline",
  "post_date": "2019-04-13T15:04:25.405000",
  "votes": 50,
  "comment_count": 9,
  "views": 0,
  "content": "<p>Thanks the organizers for organizing this challenge! We released the python + PyTorch code available. This system achieves a score of 0.580 on the public leaderboard. The code and paper can be found here:</p>\n\n<p>Code: <a href=\"https://github.com/qiuqiangkong/dcase2019_task2\">https://github.com/qiuqiangkong/dcase2019_task2</a>\nPaper: <a href=\"https://arxiv.org/pdf/1904.03476.pdf\">https://arxiv.org/pdf/1904.03476.pdf</a></p>\n\n<p>Brief description:\nFeature: log mel spectrogram\nModel: 9 layer convolutional neural network\nData augmentation: None\nEnsemble: None\nTraining time: ~1 h on a single TitanXp GPU card</p>",
  "messages": [
    {
      "id": 516052,
      "postDate": "2019-04-13T15:04:25.407Z",
      "content": "<p>Thanks the organizers for organizing this challenge! We released the python + PyTorch code available. This system achieves a score of 0.580 on the public leaderboard. The code and paper can be found here:</p>\n\n<p>Code: <a href=\"https://github.com/qiuqiangkong/dcase2019_task2\">https://github.com/qiuqiangkong/dcase2019_task2</a>\nPaper: <a href=\"https://arxiv.org/pdf/1904.03476.pdf\">https://arxiv.org/pdf/1904.03476.pdf</a></p>\n\n<p>Brief description:\nFeature: log mel spectrogram\nModel: 9 layer convolutional neural network\nData augmentation: None\nEnsemble: None\nTraining time: ~1 h on a single TitanXp GPU card</p>",
      "rawMarkdown": "Thanks the organizers for organizing this challenge! We released the python + PyTorch code available. This system achieves a score of 0.580 on the public leaderboard. The code and paper can be found here:\n\nCode: https://github.com/qiuqiangkong/dcase2019_task2\nPaper: https://arxiv.org/pdf/1904.03476.pdf\n\nBrief description:\nFeature: log mel spectrogram\nModel: 9 layer convolutional neural network\nData augmentation: None\nEnsemble: None\nTraining time: ~1 h on a single TitanXp GPU card",
      "votes": 49
    },
    {
      "id": 516646,
      "postDate": "2019-04-14T16:20:07.733Z",
      "content": "<p>A paper in 10 days, you guys are fast!!</p>\n\n<p>Will give it a read, thanks for sharing.</p>",
      "rawMarkdown": "A paper in 10 days, you guys are fast!!\n\nWill give it a read, thanks for sharing.",
      "votes": 1
    },
    {
      "id": 516300,
      "postDate": "2019-04-14T00:16:40.203Z",
      "content": "<p>there goes my rank!!!!! :D</p>",
      "rawMarkdown": "there goes my rank!!!!! :D",
      "votes": 1
    },
    {
      "id": 517426,
      "postDate": "2019-04-16T02:34:39.377Z",
      "content": "<p><a href=\"/dcase2018\">@dcase2018</a> \nThank you for sharing awesome materials!  </p>\n\n<p>Just curious. <br>\nI have read your code and felt it great, also well organized. <br>\nIn your pre-processing part to extract <strong>log-mel features</strong>, you use <code>librosa.filters.mel</code> function. <br>\nAfter extracting <strong>a mel filter bank</strong> with it, you also use <code>core.stft</code> and <code>np.dot</code> to get <strong>mel_spectrograms</strong>.   </p>\n\n<p>In the formal inplementation of <code>librosa.feature.melspectrogram</code> (<a href=\"https://librosa.github.io/librosa/generated/librosa.feature.melspectrogram.html#librosa.feature.melspectrogram\">link</a>) function,\n<code>core._spectrogram</code> (<a href=\"https://github.com/librosa/librosa/blob/d3beb5e207e601d9132cbe83ad1ea59065b96340/librosa/core/spectrum.py#L1536\">link</a>) and <code>filters.mel</code> functions are used to get a stft result and a mel filter bank. <br>\nYour step by step implementation looks in the same condition as <code>librosa.feature.melspectrogram</code> .\nWhy you implement each procedure ( mel filter bank, stft, dot ... ) explicitly?  </p>\n\n<p>Thanks in advance.</p>",
      "rawMarkdown": "@dcase2018 \nThank you for sharing awesome materials!  \n\nJust curious.  \nI have read your code and felt it great, also well organized.  \nIn your pre-processing part to extract **log-mel features**, you use `librosa.filters.mel` function.  \nAfter extracting **a mel filter bank** with it, you also use `core.stft` and `np.dot` to get **mel_spectrograms**.   \n\nIn the formal inplementation of `librosa.feature.melspectrogram` ([link](https://librosa.github.io/librosa/generated/librosa.feature.melspectrogram.html#librosa.feature.melspectrogram)) function,\n`core._spectrogram` ([link](https://github.com/librosa/librosa/blob/d3beb5e207e601d9132cbe83ad1ea59065b96340/librosa/core/spectrum.py#L1536)) and `filters.mel` functions are used to get a stft result and a mel filter bank.   \nYour step by step implementation looks in the same condition as `librosa.feature.melspectrogram` .\nWhy you implement each procedure ( mel filter bank, stft, dot ... ) explicitly?  \n  \nThanks in advance.",
      "replies": [
        {
          "id": 517581,
          "postDate": "2019-04-16T08:24:02.853Z",
          "content": "<p>Using librosa.feature.melspectrogram function will produce the same result. We split to stft + mel because it is more flexible to try other filter banks, for example, Equivalent rectangular band (ERB). </p>",
          "rawMarkdown": "Using librosa.feature.melspectrogram function will produce the same result. We split to stft + mel because it is more flexible to try other filter banks, for example, Equivalent rectangular band (ERB). ",
          "votes": 3
        },
        {
          "id": 517614,
          "postDate": "2019-04-16T09:16:59.140Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 516124,
      "postDate": "2019-04-13T16:37:26.647Z",
      "content": "<p><strong>Looks Interesting. Thanks for the share</strong> <a href=\"/dcase2018\">@dcase2018</a> </p>",
      "rawMarkdown": "**Looks Interesting. Thanks for the share** @dcase2018 "
    },
    {
      "id": 534349,
      "postDate": "2019-05-21T05:22:05.453Z",
      "content": "<blockquote>\n  <p>thank you for sharing!</p>\n</blockquote>",
      "rawMarkdown": "&gt;thank you for sharing!"
    },
    {
      "id": 516531,
      "postDate": "2019-04-14T11:20:35.427Z",
      "content": "<p>Thank you for sharing!</p>",
      "rawMarkdown": "Thank you for sharing!"
    },
    {
      "id": 516274,
      "postDate": "2019-04-13T23:01:25.383Z",
      "content": "<p>Thanks!</p>",
      "rawMarkdown": "Thanks!"
    }
  ],
  "comments": [
    {
      "id": 516646,
      "author_name": "ChewZY",
      "author_url": "",
      "post_date": "2019-04-14T16:20:07.733000",
      "content": "<p>A paper in 10 days, you guys are fast!!</p>\n\n<p>Will give it a read, thanks for sharing.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 516300,
      "author_name": "iamkhader",
      "author_url": "",
      "post_date": "2019-04-14T00:16:40.203000",
      "content": "<p>there goes my rank!!!!! :D</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 517426,
      "author_name": "Maxwell",
      "author_url": "",
      "post_date": "2019-04-16T02:34:39.377000",
      "content": "<p><a href=\"/dcase2018\">@dcase2018</a> \nThank you for sharing awesome materials!  </p>\n\n<p>Just curious. <br>\nI have read your code and felt it great, also well organized. <br>\nIn your pre-processing part to extract <strong>log-mel features</strong>, you use <code>librosa.filters.mel</code> function. <br>\nAfter extracting <strong>a mel filter bank</strong> with it, you also use <code>core.stft</code> and <code>np.dot</code> to get <strong>mel_spectrograms</strong>.   </p>\n\n<p>In the formal inplementation of <code>librosa.feature.melspectrogram</code> (<a href=\"https://librosa.github.io/librosa/generated/librosa.feature.melspectrogram.html#librosa.feature.melspectrogram\">link</a>) function,\n<code>core._spectrogram</code> (<a href=\"https://github.com/librosa/librosa/blob/d3beb5e207e601d9132cbe83ad1ea59065b96340/librosa/core/spectrum.py#L1536\">link</a>) and <code>filters.mel</code> functions are used to get a stft result and a mel filter bank. <br>\nYour step by step implementation looks in the same condition as <code>librosa.feature.melspectrogram</code> .\nWhy you implement each procedure ( mel filter bank, stft, dot ... ) explicitly?  </p>\n\n<p>Thanks in advance.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 517581,
          "author_name": "cvssp_baseline",
          "author_url": "",
          "post_date": "2019-04-16T08:24:02.853000",
          "content": "<p>Using librosa.feature.melspectrogram function will produce the same result. We split to stft + mel because it is more flexible to try other filter banks, for example, Equivalent rectangular band (ERB). </p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 517614,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-04-16T09:16:59.140000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 516124,
      "author_name": "Akash Ravichandran",
      "author_url": "",
      "post_date": "2019-04-13T16:37:26.647000",
      "content": "<p><strong>Looks Interesting. Thanks for the share</strong> <a href=\"/dcase2018\">@dcase2018</a> </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 534349,
      "author_name": "Aditya Mulya",
      "author_url": "",
      "post_date": "2019-05-21T05:22:05.453000",
      "content": "<blockquote>\n  <p>thank you for sharing!</p>\n</blockquote>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 516531,
      "author_name": "Leo0523",
      "author_url": "",
      "post_date": "2019-04-14T11:20:35.427000",
      "content": "<p>Thank you for sharing!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 516274,
      "author_name": "Peiyuan Liao",
      "author_url": "",
      "post_date": "2019-04-13T23:01:25.383000",
      "content": "<p>Thanks!</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "516052": "Thanks the organizers for organizing this challenge! We released the python + PyTorch code available. This system achieves a score of 0.580 on the public leaderboard. The code and paper can be found here:\n\nCode: https://github.com/qiuqiangkong/dcase2019_task2\nPaper: https://arxiv.org/pdf/1904.03476.pdf\n\nBrief description:\nFeature: log mel spectrogram\nModel: 9 layer convolutional neural network\nData augmentation: None\nEnsemble: None\nTraining time: ~1 h on a single TitanXp GPU card",
    "516646": "A paper in 10 days, you guys are fast!!\n\nWill give it a read, thanks for sharing.",
    "516300": "there goes my rank!!!!! :D",
    "517426": "@dcase2018 \nThank you for sharing awesome materials!  \n\nJust curious.  \nI have read your code and felt it great, also well organized.  \nIn your pre-processing part to extract **log-mel features**, you use `librosa.filters.mel` function.  \nAfter extracting **a mel filter bank** with it, you also use `core.stft` and `np.dot` to get **mel_spectrograms**.   \n\nIn the formal inplementation of `librosa.feature.melspectrogram` ([link](https://librosa.github.io/librosa/generated/librosa.feature.melspectrogram.html#librosa.feature.melspectrogram)) function,\n`core._spectrogram` ([link](https://github.com/librosa/librosa/blob/d3beb5e207e601d9132cbe83ad1ea59065b96340/librosa/core/spectrum.py#L1536)) and `filters.mel` functions are used to get a stft result and a mel filter bank.   \nYour step by step implementation looks in the same condition as `librosa.feature.melspectrogram` .\nWhy you implement each procedure ( mel filter bank, stft, dot ... ) explicitly?  \n  \nThanks in advance.",
    "516124": "**Looks Interesting. Thanks for the share** @dcase2018 ",
    "534349": "&gt;thank you for sharing!",
    "516531": "Thank you for sharing!",
    "516274": "Thanks!"
  }
}