Editing multi-label audio labels in Edge Impulse

I use external tools to label my audio files and use python to convert the labels into edge impulse multi-labeling info.labels json format (Multi-label - Edge Impulse Documentation)

This is very nice functionality, but after I train my model I will spot 10-100 incorrect labels. I want to quickly fix the labeling errors to make the statistics accurate, but currently it is very tedious because I have to edit the json manually:

[
    {"label": "other", "startMs": 0, "endMs": 9.875},
    {"label": "myevent", "startMs": 10, "endMs": 159.875},
    {"label": "other", "startMs": 160, "endMs": 219.875},
    {"label": "myevent", "startMs": 220, "endMs": 419.875},
    {"label": "other", "startMs": 420, "endMs": 449.875},
    {"label": "myevent", "startMs": 450, "endMs": 669.875},
    {"label": "other", "startMs": 670, "endMs": 739.875},
    {"label": "other", "startMs": 740, "endMs": 819.875},
    {"label": "other", "startMs": 820, "endMs": 879.875},
    {"label": "other", "startMs": 880, "endMs": 929.875},
    {"label": "other", "startMs": 930, "endMs": 1209.875},
    {"label": "other", "startMs": 1210, "endMs": 1279.875},
    {"label": "other", "startMs": 1280, "endMs": 1369.875},
    {"label": "other", "startMs": 1370, "endMs": 1449.875},
    {"label": "other", "startMs": 1450, "endMs": 1789.875},
    {"label": "myevent", "startMs": 1790, "endMs": 2039.75},
    {
        "label": "other",
        "startMs": 2039.875,
        "endMs": 2269.75
    },
    {
        "label": "myevent",
        "startMs": 2269.875,
        "endMs": 2439.875
    },
    {"label": "other", "startMs": 2440, "endMs": 2509.875},
    {"label": "myevent", "startMs": 2510, "endMs": 2689.875},
    {"label": "other", "startMs": 2690, "endMs": 2789.75},
    {
        "label": "myevent",
        "startMs": 2789.875,
        "endMs": 2999.875
    },
    {"label": "other", "startMs": 3000, "endMs": 3099.75},
    {
        "label": "myevent",
        "startMs": 3099.875,
        "endMs": 3269.75
    },
    {

Changing the label names is somewhat doable, but fixing the labeling start-end ranges is really a pain. More convenient multi-label editing user-interface straight in edge impulse would be appreciated. This basic functionality would suffice for me:

  • graphical view that shows signal and the segments with label names
  • allows to playback the segments (if audio)
  • changing label names
  • dragging start/end ranges
  • adding start/end range (from dropdown select which label you want, paint areas by click+dragging)
  • deleting start/end range (click segment and press del)

Thank you!