node-red-contrib-audio-feature-extraction

    1.0.5 • Public • Published

    node-red-contrib-audio-feature-extraction

    This module for Node-RED contains a set of nodes which offer audio feature extraction functionalities. Such nodes have a python core that runs on Librosa library.

    Pre requisites

    Be sure to have a working installation of Node-RED.
    Install python and the following libraries:

    • Python 3.6.4 or higher accessible by the command 'python' (on linux 'python3')
    • Librosa
    • Numpy

    Install

    To install the stable version use the Menu - Manage palette option and search for node-red-contrib-audio-feature-extraction, or run the following command in your Node-RED user directory (typically ~/.node-red):

    npm i node-red-contrib-audio-feature-extraction
    

    Usage

    These are a few examples of what can be done with this package.

    Flows and a test audio file are available in the 'test' folder. Make sure that the paths specified inside nodes' configurations are correct before trying to execute the program.
    Tip: you can run 'node-red' (or 'sudo node-red' if you are uning linux) from the folder '.node-red/node-modules/node-red-contrib-audio-feature-extraction' and the paths will be automatically correct.

    Sampling audio file, computing stft, extracting mfcc and saving csv file.
    sampler

    Saving wav recieved from mqtt.
    wav

    Extract chroma from stft recieved from serial port.
    stft

    Multiple features can be extracted at the same time.
    features

    When no persistance and no wav nodes are present, the result is returned by the last block. In this example the STFT is printed.
    features

    Warning: each node of this library appends its configurations to the msg object. Only the last node in a flow will carry out all the computations according to all configurations.

    Example flows available here:

    [
        {
            "id": "a69917f5.fec6b8",
            "type": "sampler",
            "z": "21ce826.2ff977e",
            "name": "",
            "file": "sample.wav",
            "sampleRate": "1000",
            "mono": true,
            "offset": "2",
            "duration": "1",
            "resType": "kaiser_best",
            "x": 240,
            "y": 160,
            "wires": [
                [
                    "aa7b980b.277768"
                ]
            ]
        },
        {
            "id": "aa7b980b.277768",
            "type": "stft",
            "z": "21ce826.2ff977e",
            "name": "",
            "nFft": "1000",
            "hopLength": "20",
            "windowLength": "50",
            "x": 350,
            "y": 220,
            "wires": [
                [
                    "244c7de6.e44682"
                ]
            ]
        },
        {
            "id": "3910427c.761cce",
            "type": "mfcc",
            "z": "21ce826.2ff977e",
            "name": "",
            "nMFCC": "15",
            "x": 710,
            "y": 400,
            "wires": [
                [
                    "e669f77a.651a38"
                ]
            ]
        },
        {
            "id": "6669a833.3e3438",
            "type": "inject",
            "z": "21ce826.2ff977e",
            "name": "start",
            "topic": "",
            "payload": "",
            "payloadType": "date",
            "repeat": "",
            "crontab": "",
            "once": false,
            "onceDelay": 0.1,
            "x": 130,
            "y": 100,
            "wires": [
                [
                    "a69917f5.fec6b8"
                ]
            ]
        },
        {
            "id": "81e5b599.509988",
            "type": "persistance",
            "z": "21ce826.2ff977e",
            "name": "",
            "save": "mfcc",
            "file": "generate new",
            "x": 590,
            "y": 340,
            "wires": [
                [
                    "3910427c.761cce"
                ]
            ]
        },
        {
            "id": "244c7de6.e44682",
            "type": "base path",
            "z": "21ce826.2ff977e",
            "name": "",
            "basePath": "test",
            "x": 460,
            "y": 280,
            "wires": [
                [
                    "81e5b599.509988"
                ]
            ]
        },
        {
            "id": "e669f77a.651a38",
            "type": "file",
            "z": "21ce826.2ff977e",
            "name": "log",
            "filename": "test/log.txt",
            "appendNewline": true,
            "createDir": false,
            "overwriteFile": "false",
            "x": 810,
            "y": 460,
            "wires": []
        }
    ]

    Install

    npm i node-red-contrib-audio-feature-extraction

    DownloadsWeekly Downloads

    7

    Version

    1.0.5

    License

    ISC

    Unpacked Size

    246 kB

    Total Files

    50

    Last publish

    Collaborators

    • gabrielemaurina