{"id":22343506,"url":"https://github.com/datajuggler/datajuggler.audiotools","last_synced_at":"2026-01-28T10:04:19.197Z","repository":{"id":261179242,"uuid":"883514075","full_name":"DataJuggler/DataJuggler.AudioTools","owner":"DataJuggler","description":"DataJuggler.AudioTools makes it simple to draw a Wave file image in C#. NAudio is used to read audio ","archived":false,"fork":false,"pushed_at":"2024-11-06T22:03:41.000Z","size":416,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-14T18:32:12.849Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataJuggler.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-05T05:09:33.000Z","updated_at":"2024-11-06T22:03:44.000Z","dependencies_parsed_at":"2024-11-05T05:38:28.851Z","dependency_job_id":"4e7b8a87-4688-4759-be23-805d184b5b23","html_url":"https://github.com/DataJuggler/DataJuggler.AudioTools","commit_stats":null,"previous_names":["datajuggler/datajuggler.audiotools"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DataJuggler/DataJuggler.AudioTools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FDataJuggler.AudioTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FDataJuggler.AudioTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FDataJuggler.AudioTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FDataJuggler.AudioTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataJuggler","download_url":"https://codeload.github.com/DataJuggler/DataJuggler.AudioTools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FDataJuggler.AudioTools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28844011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T07:39:25.367Z","status":"ssl_error","status_checked_at":"2026-01-28T07:39:24.487Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-04T08:16:16.406Z","updated_at":"2026-01-28T10:04:19.180Z","avatar_url":"https://github.com/DataJuggler.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿DataJuggler.AudioTools makes it simple to draw a Wave file image in C#. NAudio is used to read audio \nfiles and DataJuggler.PixelDatabase is used to create the wave images.\n\n# Simple WInForms example: \n\nCanvas is an 800 x 200 PictureBox with BackgroundImageLayout set to Stretch.\n\nThe image created will 200 height and width will be 200 for every second of audio.\nLonger audio files do take longer.\n\n    using DataJuggler.AudioTools;\n\n    // Path to your audioFile\n\tstring path = \"c:\\Temp\\Audio.mp3\"\n\n    // Analyze the file and create the Wave\n    AudioAnalysis audioAnalysis = WaveVisualizer.VisualizeWave(path, Color.LightSteelBlue, Color.White, Color.White, Color.PaleVioletRed);\n\n\t// if there were not any errors\n    if (!audioAnalysis.HasException)\n    {\n        // update the Canvas\n        Canvas.BackgroundImage = audioAnalysis.Bitmap;\n        Canvas.Refresh();\n    }\n    else\n    {\n        // Show a message box for this test\n        MessageBox.Show(audioAnalysis.Exception.ToString(), \"Error\");\n    }\n\n# Future Updates\nI am building an audio player now for Blazor and I wanted this to display the wav pattern.\nI may build a WinForms player also if anyone has any interested in this let me know.\n\n# Technical Mumbo Jumbo\nThe way this project works is it reads all the RawSignalInfo data from the audio file, then the RawSignalInfo\nis condensed into SignalInfo. Chuncks of 1,000 RawSignalInfo are combined into 1 SignalInfo object,\nand the values for MaxSignalInfo and MinSignalInfo are set from the Max and Min of the 1,000.\nThis means for a 4 second audio file at 48000 Sample Rate, you should get about 196,000 RawSignalInfo\nwhich condenses down to about 196 SignalInfo, which is much easier to work with.\n\nI compared the results against Audacity and it seems to match.\n\nPlease create an issue if you find any problems or if you have any suggestions or somments.\n\nThanks\n\n# News\n11.5.2024: NuGet package PixelDatabase was updated, which fixed a bug with the Background image\nnot being created.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatajuggler%2Fdatajuggler.audiotools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatajuggler%2Fdatajuggler.audiotools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatajuggler%2Fdatajuggler.audiotools/lists"}