{
  "id": 95323,
  "title": "Solution ready on the github",
  "url": "/competitions/freesound-audio-tagging-2019/discussion/95323",
  "author_name": "daisukelab",
  "post_date": "2019-06-11T13:13:41.923000",
  "votes": 32,
  "comment_count": 14,
  "views": 0,
  "content": "<p>This is for you while waiting for 2nd stage result :)</p>\n\n<p><a href=\"https://github.com/daisukelab/freesound-audio-tagging-2019\">https://github.com/daisukelab/freesound-audio-tagging-2019</a></p>\n\n<p><img src=\"https://github.com/daisukelab/freesound-audio-tagging-2019/raw/master/images/data_example.png\" alt=\"title_picture\"></p>\n\n<p>Thank you for everybody organized this competition, and congratulations to the winners.</p>\n\n<p>It was wonderful opportunity once again to dig deeper into audio data for scene understanding application, I could gain intuition and understanding for real world sound-scene-aware applications which I'm hoping to have in electric appliances around us in the future.</p>\n\n<p>I'd share what I have done and how was that during this competitions other than public kernels.</p>\n\n<p>Topics Summary:\n- Audio preprocessing to create mel-spectrogram based features, 3 formats were tried.\n- Audio preprocessing also tried background subtraction; focusing on sound events... not sure it worked or not.\n- Tried to mitigate curated/noisy audio differences; inter-domain transfer regarding <em>frequency envelope</em>.\n- Soft relabeling, by using co-occurrence probability of labels.\n- Ensemble for multi-label problem; per-class per-model 2D weighting for better averaging.</p>",
  "messages": [
    {
      "id": 550283,
      "postDate": "2019-06-11T13:13:41.923Z",
      "content": "<p>This is for you while waiting for 2nd stage result :)</p>\n\n<p><a href=\"https://github.com/daisukelab/freesound-audio-tagging-2019\">https://github.com/daisukelab/freesound-audio-tagging-2019</a></p>\n\n<p><img src=\"https://github.com/daisukelab/freesound-audio-tagging-2019/raw/master/images/data_example.png\" alt=\"title_picture\"></p>\n\n<p>Thank you for everybody organized this competition, and congratulations to the winners.</p>\n\n<p>It was wonderful opportunity once again to dig deeper into audio data for scene understanding application, I could gain intuition and understanding for real world sound-scene-aware applications which I'm hoping to have in electric appliances around us in the future.</p>\n\n<p>I'd share what I have done and how was that during this competitions other than public kernels.</p>\n\n<p>Topics Summary:\n- Audio preprocessing to create mel-spectrogram based features, 3 formats were tried.\n- Audio preprocessing also tried background subtraction; focusing on sound events... not sure it worked or not.\n- Tried to mitigate curated/noisy audio differences; inter-domain transfer regarding <em>frequency envelope</em>.\n- Soft relabeling, by using co-occurrence probability of labels.\n- Ensemble for multi-label problem; per-class per-model 2D weighting for better averaging.</p>",
      "rawMarkdown": "This is for you while waiting for 2nd stage result :)\n\n\nhttps://github.com/daisukelab/freesound-audio-tagging-2019\n\n![title_picture](https://github.com/daisukelab/freesound-audio-tagging-2019/raw/master/images/data_example.png)\n\nThank you for everybody organized this competition, and congratulations to the winners.\n\nIt was wonderful opportunity once again to dig deeper into audio data for scene understanding application, I could gain intuition and understanding for real world sound-scene-aware applications which I'm hoping to have in electric appliances around us in the future.\n\nI'd share what I have done and how was that during this competitions other than public kernels.\n\nTopics Summary:\n- Audio preprocessing to create mel-spectrogram based features, 3 formats were tried.\n- Audio preprocessing also tried background subtraction; focusing on sound events... not sure it worked or not.\n- Tried to mitigate curated/noisy audio differences; inter-domain transfer regarding _frequency envelope_.\n- Soft relabeling, by using co-occurrence probability of labels.\n- Ensemble for multi-label problem; per-class per-model 2D weighting for better averaging.\n",
      "votes": 32
    },
    {
      "id": 551649,
      "postDate": "2019-06-13T01:26:32.167Z",
      "content": "<p>Great, your sharing always help a lot. <a href=\"/daisukelab\">@daisukelab</a> </p>",
      "rawMarkdown": "Great, your sharing always help a lot. @daisukelab ",
      "votes": 1
    },
    {
      "id": 551103,
      "postDate": "2019-06-12T10:51:52.587Z",
      "content": "<p>A lot to learn here. Thanks for sharing <a href=\"/daisukelab\">@daisukelab</a> </p>",
      "rawMarkdown": "A lot to learn here. Thanks for sharing @daisukelab ",
      "votes": 1
    },
    {
      "id": 550900,
      "postDate": "2019-06-12T06:06:04.257Z",
      "content": "<p>Thanks for sharing! It looks very interesting in the part \"1-3. Data domain transfer - noisy set only\", but I can not totally understand how you did it. Could you please share any related papers to it? It will be a great help.</p>",
      "rawMarkdown": "Thanks for sharing! It looks very interesting in the part \"1-3. Data domain transfer - noisy set only\", but I can not totally understand how you did it. Could you please share any related papers to it? It will be a great help.",
      "votes": 1,
      "replies": [
        {
          "id": 551645,
          "postDate": "2019-06-13T01:11:17.277Z",
          "content": "<p>You are welcome. Regarding 1-3, I updated after rethinking about it. And ... found something wrong also. ;)\n- This is not based on specific paper, but simple idea to adapt frequency shape from one to the other.\n- In image classification, we always apply ImageNet mean/std to input images. This also inspired me to  do 1-3.\n- Changed to call basic idea from 'frequency envelope' to 'average power spectrum' for better description. Initial idea comes from adapting frequency envelope, but what was done is actually adapting average of spectrum.\n- Then I found this still needs improvement when visualized some more. You can find at the bottom part of <a href=\"https://github.com/daisukelab/freesound-audio-tagging-2019/blob/master/Visual_Average_Spectrum_Conversion_Gallery.ipynb\">this visualizations</a>.</p>\n\n<p>(But it was showing better performance... need more check later)</p>",
          "rawMarkdown": "You are welcome. Regarding 1-3, I updated after rethinking about it. And ... found something wrong also. ;)\n- This is not based on specific paper, but simple idea to adapt frequency shape from one to the other.\n- In image classification, we always apply ImageNet mean/std to input images. This also inspired me to  do 1-3.\n- Changed to call basic idea from 'frequency envelope' to 'average power spectrum' for better description. Initial idea comes from adapting frequency envelope, but what was done is actually adapting average of spectrum.\n- Then I found this still needs improvement when visualized some more. You can find at the bottom part of [this visualizations](https://github.com/daisukelab/freesound-audio-tagging-2019/blob/master/Visual_Average_Spectrum_Conversion_Gallery.ipynb).\n\n(But it was showing better performance... need more check later)"
        }
      ]
    },
    {
      "id": 550899,
      "postDate": "2019-06-12T06:04:58.120Z",
      "content": "<p>Thank you very much for all your generous sharing</p>",
      "rawMarkdown": "Thank you very much for all your generous sharing",
      "votes": 1
    },
    {
      "id": 550792,
      "postDate": "2019-06-12T03:17:17.167Z",
      "content": "<p>Thanks for sharing your solution! I've learned a lot from your public kernels and discussions.</p>",
      "rawMarkdown": "Thanks for sharing your solution! I've learned a lot from your public kernels and discussions.",
      "votes": 1
    },
    {
      "id": 550724,
      "postDate": "2019-06-12T01:09:22.773Z",
      "content": "<p>Thanks <a href=\"/daisukelab\">@daisukelab</a> , I learned a lot from you.</p>",
      "rawMarkdown": "Thanks @daisukelab , I learned a lot from you.",
      "votes": 1
    },
    {
      "id": 550673,
      "postDate": "2019-06-11T22:49:07.090Z",
      "content": "<p>Thank you <a href=\"/daisukelab\">@daisukelab</a> .\nWe've learned a lot from your kernels and dataset!</p>",
      "rawMarkdown": "Thank you @daisukelab .\nWe've learned a lot from your kernels and dataset!",
      "votes": 1
    },
    {
      "id": 550339,
      "postDate": "2019-06-11T14:13:53.313Z",
      "content": "<p>Thanks <a href=\"/daisukelab\">@daisukelab</a> ! Maybe I'll receive my first medal because one of your kernels. 🥉 </p>",
      "rawMarkdown": "Thanks @daisukelab ! Maybe I'll receive my first medal because one of your kernels. 🥉 ",
      "votes": 1
    },
    {
      "id": 550290,
      "postDate": "2019-06-11T13:21:03.053Z",
      "content": "<p>thank you so much <a href=\"/daisukelab\">@daisukelab</a> I know I'll learn a lot from it 👍 </p>",
      "rawMarkdown": "thank you so much @daisukelab I know I'll learn a lot from it 👍 ",
      "votes": 1
    },
    {
      "id": 550289,
      "postDate": "2019-06-11T13:20:10.823Z",
      "content": "<p>Thanks for sharing your solution. All of your kernels were super helpful </p>",
      "rawMarkdown": "Thanks for sharing your solution. All of your kernels were super helpful ",
      "votes": 1,
      "replies": [
        {
          "id": 550937,
          "postDate": "2019-06-12T06:40:36.233Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 550406,
      "postDate": "2019-06-11T15:43:08.830Z",
      "content": "<p>Thanks a lot <a href=\"/daisukelab\">@daisukelab</a> </p>",
      "rawMarkdown": "Thanks a lot @daisukelab ",
      "votes": 1
    },
    {
      "id": 553378,
      "postDate": "2019-06-15T15:19:22.147Z",
      "content": "<p>Not all heroes wear capes, thank you.</p>",
      "rawMarkdown": "Not all heroes wear capes, thank you."
    }
  ],
  "comments": [
    {
      "id": 551649,
      "author_name": "wqk",
      "author_url": "",
      "post_date": "2019-06-13T01:26:32.167000",
      "content": "<p>Great, your sharing always help a lot. <a href=\"/daisukelab\">@daisukelab</a> </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 551103,
      "author_name": "Karan Jakhar",
      "author_url": "",
      "post_date": "2019-06-12T10:51:52.587000",
      "content": "<p>A lot to learn here. Thanks for sharing <a href=\"/daisukelab\">@daisukelab</a> </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 550900,
      "author_name": "Ahsoka Tano",
      "author_url": "",
      "post_date": "2019-06-12T06:06:04.257000",
      "content": "<p>Thanks for sharing! It looks very interesting in the part \"1-3. Data domain transfer - noisy set only\", but I can not totally understand how you did it. Could you please share any related papers to it? It will be a great help.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 551645,
          "author_name": "daisukelab",
          "author_url": "",
          "post_date": "2019-06-13T01:11:17.277000",
          "content": "<p>You are welcome. Regarding 1-3, I updated after rethinking about it. And ... found something wrong also. ;)\n- This is not based on specific paper, but simple idea to adapt frequency shape from one to the other.\n- In image classification, we always apply ImageNet mean/std to input images. This also inspired me to  do 1-3.\n- Changed to call basic idea from 'frequency envelope' to 'average power spectrum' for better description. Initial idea comes from adapting frequency envelope, but what was done is actually adapting average of spectrum.\n- Then I found this still needs improvement when visualized some more. You can find at the bottom part of <a href=\"https://github.com/daisukelab/freesound-audio-tagging-2019/blob/master/Visual_Average_Spectrum_Conversion_Gallery.ipynb\">this visualizations</a>.</p>\n\n<p>(But it was showing better performance... need more check later)</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 550899,
      "author_name": "yukiya",
      "author_url": "",
      "post_date": "2019-06-12T06:04:58.120000",
      "content": "<p>Thank you very much for all your generous sharing</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 550792,
      "author_name": "mhiro2",
      "author_url": "",
      "post_date": "2019-06-12T03:17:17.167000",
      "content": "<p>Thanks for sharing your solution! I've learned a lot from your public kernels and discussions.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 550724,
      "author_name": "gege",
      "author_url": "",
      "post_date": "2019-06-12T01:09:22.773000",
      "content": "<p>Thanks <a href=\"/daisukelab\">@daisukelab</a> , I learned a lot from you.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 550673,
      "author_name": "Hidehisa Arai",
      "author_url": "",
      "post_date": "2019-06-11T22:49:07.090000",
      "content": "<p>Thank you <a href=\"/daisukelab\">@daisukelab</a> .\nWe've learned a lot from your kernels and dataset!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 550339,
      "author_name": "Argonalyst",
      "author_url": "",
      "post_date": "2019-06-11T14:13:53.313000",
      "content": "<p>Thanks <a href=\"/daisukelab\">@daisukelab</a> ! Maybe I'll receive my first medal because one of your kernels. 🥉 </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 550290,
      "author_name": "Nanashi",
      "author_url": "",
      "post_date": "2019-06-11T13:21:03.053000",
      "content": "<p>thank you so much <a href=\"/daisukelab\">@daisukelab</a> I know I'll learn a lot from it 👍 </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 550289,
      "author_name": "sandy1112",
      "author_url": "",
      "post_date": "2019-06-11T13:20:10.823000",
      "content": "<p>Thanks for sharing your solution. All of your kernels were super helpful </p>",
      "votes": 1,
      "replies": [
        {
          "id": 550937,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-06-12T06:40:36.233000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 550406,
      "author_name": "Acku Chauhan",
      "author_url": "",
      "post_date": "2019-06-11T15:43:08.830000",
      "content": "<p>Thanks a lot <a href=\"/daisukelab\">@daisukelab</a> </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 553378,
      "author_name": "Tanmay Pandey",
      "author_url": "",
      "post_date": "2019-06-15T15:19:22.147000",
      "content": "<p>Not all heroes wear capes, thank you.</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "550283": "This is for you while waiting for 2nd stage result :)\n\n\nhttps://github.com/daisukelab/freesound-audio-tagging-2019\n\n![title_picture](https://github.com/daisukelab/freesound-audio-tagging-2019/raw/master/images/data_example.png)\n\nThank you for everybody organized this competition, and congratulations to the winners.\n\nIt was wonderful opportunity once again to dig deeper into audio data for scene understanding application, I could gain intuition and understanding for real world sound-scene-aware applications which I'm hoping to have in electric appliances around us in the future.\n\nI'd share what I have done and how was that during this competitions other than public kernels.\n\nTopics Summary:\n- Audio preprocessing to create mel-spectrogram based features, 3 formats were tried.\n- Audio preprocessing also tried background subtraction; focusing on sound events... not sure it worked or not.\n- Tried to mitigate curated/noisy audio differences; inter-domain transfer regarding _frequency envelope_.\n- Soft relabeling, by using co-occurrence probability of labels.\n- Ensemble for multi-label problem; per-class per-model 2D weighting for better averaging.\n",
    "551649": "Great, your sharing always help a lot. @daisukelab ",
    "551103": "A lot to learn here. Thanks for sharing @daisukelab ",
    "550900": "Thanks for sharing! It looks very interesting in the part \"1-3. Data domain transfer - noisy set only\", but I can not totally understand how you did it. Could you please share any related papers to it? It will be a great help.",
    "550899": "Thank you very much for all your generous sharing",
    "550792": "Thanks for sharing your solution! I've learned a lot from your public kernels and discussions.",
    "550724": "Thanks @daisukelab , I learned a lot from you.",
    "550673": "Thank you @daisukelab .\nWe've learned a lot from your kernels and dataset!",
    "550339": "Thanks @daisukelab ! Maybe I'll receive my first medal because one of your kernels. 🥉 ",
    "550290": "thank you so much @daisukelab I know I'll learn a lot from it 👍 ",
    "550289": "Thanks for sharing your solution. All of your kernels were super helpful ",
    "550406": "Thanks a lot @daisukelab ",
    "553378": "Not all heroes wear capes, thank you."
  }
}