{"id":16662078,"url":"https://github.com/4euep/hsoxlib","last_synced_at":"2025-12-26T15:59:39.361Z","repository":{"id":108369151,"uuid":"247391615","full_name":"4eUeP/hsoxlib","owner":"4eUeP","description":"Haskell bindings to LibSoX, an audio file-format and effect library","archived":false,"fork":false,"pushed_at":"2020-03-15T04:41:23.000Z","size":70,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-19T14:28:12.627Z","etag":null,"topics":["ffi-bindings","haskell","libsox","sound-processing","sox-library"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4eUeP.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-03-15T03:01:58.000Z","updated_at":"2020-08-27T05:30:21.000Z","dependencies_parsed_at":"2023-03-06T02:45:29.077Z","dependency_job_id":null,"html_url":"https://github.com/4eUeP/hsoxlib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4eUeP%2Fhsoxlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4eUeP%2Fhsoxlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4eUeP%2Fhsoxlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4eUeP%2Fhsoxlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4eUeP","download_url":"https://codeload.github.com/4eUeP/hsoxlib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243300609,"owners_count":20269257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ffi-bindings","haskell","libsox","sound-processing","sox-library"],"created_at":"2024-10-12T10:36:54.999Z","updated_at":"2025-12-26T15:59:39.328Z","avatar_url":"https://github.com/4eUeP.png","language":"Haskell","readme":"HSoxLib\n=======\n\nHaskell bindings to [LibSoX](http://sox.sourceforge.net/),\nthe Swiss Army knife of sound processing programs.\n\nTested on debian bullseye with libsox 14.4.2 and gcc 9.2.1 installed via `apt`.\n\n**Warning: this library is unofficially and still in development.**\n\n\n## Quick start\n\nMake sure you already have the c library installed, for debian user, you can\nsimply install it by:\n\n```\napt-get install libsox-dev\n```\n\nCheck version number of libsox you have:\n\n(the version should no less than `14.4.0`)\n\n```haskell\n\u003e\u003e\u003e import Sound.HSoxLib\n\u003e\u003e\u003e soxVersion\n\"14.4.2\"\n```\n\n#### Getting audio file's information\n\n```haskell\nimport qualified Sound.HSoxLib       as Sox\nimport qualified Sound.HSoxLib.Types as T\n\ndata AudioTrack =\n  AudioTrack { artist         :: Maybe String\n             , album          :: Maybe String\n             , sampleRate     :: Maybe Double\n             , sampleEncoding :: T.SoxEncoding\n             } deriving Show\n\naudioTrackGetter :: Sox.AudioTrackGetter AudioTrack\naudioTrackGetter =\n  AudioTrack \u003c$\u003e Sox.artistGetter\n             \u003c*\u003e Sox.albumGetter\n             \u003c*\u003e Sox.sampleRateGetter\n             \u003c*\u003e Sox.encodingGetter\n\ngetAudioTrack :: IO AudioTrack\ngetAudioTrack =\n  let filepath = \"/home/un/Music/test.flac\"\n   in Sox.simpleSoxOpenRead filepath $ Sox.runGetter audioTrackGetter\n\nmain :: IO ()\nmain = Sox.withSox $ do\n  audioTrack \u003c- getAudioTrack\n  print audioTrack\n```\n\nMore examples are in `examples` directory.\n\n\n## License\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4euep%2Fhsoxlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4euep%2Fhsoxlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4euep%2Fhsoxlib/lists"}