## Basic tool info Tool name: librosa/noise-reduction Tool description: Noise reduction algorithm that reduces noise in time-domain signals like speech, bioacoustics, and physiological signals. Tool cover: https://cdn.wiro.ai/uploads/models/librosa-noise-reduction-cover.jpg Tool categories: - tool - speech-to-speech - librosa - noise-reduction - audio Tool tags: - librosa - audio - noise reduction - speech Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/librosa/noise-reduction Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Tool Inputs: - name: inputAudioUrl label: input-audio-url help: input-audio-url-help type: text default: - name: sampleRate label: sample-rate help: sample-rate-help type: select default: 44100 options: - value: "8000" label: 8,000 - value: "11025" label: 11,025 - value: "11025" label: 11,025 - value: "16000" label: 16,000 - value: "22050" label: 22,050 - value: "44100" label: 44,100 - value: "48000" label: 48,000 - value: "88200" label: 88,200 - value: "96000" label: 96,000 - value: "176400" label: 176,400 - value: "192000" label: 192,000 - value: "352800" label: 352,800 - value: "384000" label: 384,000 - name: spectralGating label: spectral-gating help: spectral-gating-help type: checkbox default: --spectral_gating - name: pcen label: pcen help: pcen-help type: checkbox default: --pcen - name: highpassFilter label: highpass-filter help: highpass-filter-help type: checkbox default: --highpass_filter - name: combineSpectralPcen label: combine-spectral-pcen help: combine-spectral-pcen-help type: checkbox default: --combine_spectral_pcen - name: combineSpectralHighpass label: combine-spectral-highpass help: combine-spectral-highpass-help type: checkbox default: --combine_spectral_highpass - name: combineAll label: combine-all help: combine-all-help type: checkbox default: --combine_all - name: nGradFreq label: n-grad-freq help: n-grad-freq-help type: number default: 2 - name: nGradTime label: n-grad-time help: n-grad-time-help type: number default: 4 - name: nFtt label: n-ftt help: n-ftt-help type: number default: 2048 - name: winLength label: win-length help: win-length-help type: number default: 2048 - name: nStdThresh label: n-std-thresh help: n-std-thresh-help type: float default: 1.9 - name: propDecrease label: prop-decrease help: prop-decrease-help type: float default: 0.9 - name: gain label: gain help: gain-help type: float default: 1.9 - name: bias label: bias help: bias-help type: number default: 2 - name: power label: power help: power-help type: float default: 0.5 - name: timeConstant label: time-constant help: time-constant-help type: float default: 0.8 - name: eps label: eps help: eps-help type: float default: 0.000001 - name: maxSize label: max-size help: max-size-help type: number default: 2 - name: hopLength label: hop-length help: hop-length-help type: number default: 512 ## Integration Header Prepare ```bash # Sign up Wiro dashboard and create project export YOUR_API_KEY="{{useSelectedProjectAPIKey}}"; export YOUR_API_SECRET="XXXXXXXXX"; # unix time or any random integer value export NONCE=$(date +%s); # hmac-SHA256 (YOUR_API_SECRET+Nonce) with YOUR_API_KEY export SIGNATURE="$(echo -n "${YOUR_API_SECRET}${NONCE}" | openssl dgst -sha256 -hmac "${YOUR_API_KEY}")"; ``` ## Run Command - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Run/librosa/noise-reduction" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputAudioUrl": "input-noise-1-audio.mp3", "sampleRate": "44100", "spectralGating": "--spectral_gating", "pcen": "--pcen", "highpassFilter": "--highpass_filter", "combineSpectralPcen": "--combine_spectral_pcen", "combineSpectralHighpass": "--combine_spectral_highpass", "combineAll": "--combine_all", "nGradFreq": 2, "nGradTime": 4, "nFtt": 2048, "winLength": 2048, "nStdThresh": "1.9", "propDecrease": "0.9", "gain": "1.9", "bias": 2, "power": "0.5", "timeConstant": "0.8", "eps": "0.000001", "maxSize": 2, "hopLength": 512, "callbackUrl": "You can provide a callback URL; Wiro will send a POST request to it when the task is completed." }'; ``` ## Run Command - Response ```json { "errors": [], "taskid": "2221", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "result": true } ``` ## Get Task Detail - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "tasktoken": 'eDcCm5yyUfIvMFspTwww49OUfgXkQt', }'; ``` ## Get Task Detail - Response ```json { "total": "1", "errors": [], "tasklist": [ { "id": "2221", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "parameters": {}, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_postprocess_end", "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Task Status Information This section defines the possible task status values returned by the API when polling for task completion. ### Completed Task Statuses (Polling can stop) These indicate that the task has reached a terminal state — either success or failure. Once any of these is received, polling should stop. - task_postprocess_end : Task completed successfully and post-processing is done. - task_cancel : Task was cancelled by the user or system. ### Running Task Statuses (Continue polling) These statuses indicate that the task is still in progress. Polling should continue if one of these is returned. - task_queue : Task is waiting in the queue. - task_accept : Task has been accepted for processing. - task_assign : Task is being assigned to a worker. - task_preprocess_start : Preprocessing is starting. - task_preprocess_end : Preprocessing is complete. - task_start : Task execution has started. - task_output : Output is being generated.