{"id":37141634,"url":"https://github.com/hallicopter/go-dtmf","last_synced_at":"2026-01-14T16:37:39.548Z","repository":{"id":47207003,"uuid":"402693374","full_name":"Hallicopter/go-dtmf","owner":"Hallicopter","description":"Decode DTMF audio in go.","archived":false,"fork":false,"pushed_at":"2024-01-03T07:01:09.000Z","size":304,"stargazers_count":8,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-21T16:51:30.545Z","etag":null,"topics":["dtmf","dtmf-decoder"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hallicopter.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-09-03T08:03:10.000Z","updated_at":"2024-01-03T07:01:13.000Z","dependencies_parsed_at":"2024-01-03T08:22:52.195Z","dependency_job_id":"f7705293-9df9-4802-86e0-66339d49760a","html_url":"https://github.com/Hallicopter/go-dtmf","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/Hallicopter/go-dtmf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hallicopter%2Fgo-dtmf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hallicopter%2Fgo-dtmf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hallicopter%2Fgo-dtmf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hallicopter%2Fgo-dtmf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hallicopter","download_url":"https://codeload.github.com/Hallicopter/go-dtmf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hallicopter%2Fgo-dtmf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28426112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T16:32:27.303Z","status":"ssl_error","status_checked_at":"2026-01-14T16:28:36.419Z","response_time":107,"last_error":"SSL_read: 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":["dtmf","dtmf-decoder"],"created_at":"2026-01-14T16:37:38.952Z","updated_at":"2026-01-14T16:37:39.539Z","avatar_url":"https://github.com/Hallicopter.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-dtmf, the simplest way to decode DTMF audio in golang. \n\n\nThis library provides two high level API to decode [DTMF](https://en.wikipedia.org/wiki/Dual-tone_multi-frequency_signaling) audio or byte slice. \nIt uses the Goertzel algorithm. \n\n### Examples\nThe example can be run from the examples folder.\n\n``go run examples/dtmf_file.go``\n\n## Docs\n\n### dtmf\n    import \"go-dtmf/dtmf\"\n\n\n### Usage\n\n### func  DecodeDTMFFromBytes\n\n```go\nfunc DecodeDTMFFromBytes(audioBytes []byte, rate float64, wiggleRoom int) (string, error)\n```\nDecodeDTMFFromBytes This decodes the audio bytes and saves the value in\nDTMF.DecodedValue The wiggleRoom value is recommended to be between 5-15. For\nshorter, sharper, faster DTMF audios, a wiggleRoom of 5 would be good. For\nlonger, more continuous DTMF audios, a higher wiggleRoom will prevent false\nrepeats.\n\n### func  DecodeDTMFFromFile\n\n```go\nfunc DecodeDTMFFromFile(filepath string, rate float64, wiggleRoom int) (string, error)\n```\nDecodeDTMFFromFile Expects raw audio as the input, gives the decoded DTMF string\nas output. The wiggleRoom value is recommended to be between 5-15. For shorter,\nsharper, faster DTMF audios, a wiggleRoom of 5 would be good. For longer, more\ncontinuous DTMF audios, a higher wiggleRoom will prevent false repeats.\n\n\n\n\n## Credits\nIt was initially built on [goertzel](https://github.com/CyCoreSystems/goertzel) by CyCoreSystems, but has been since ported to use a modified version of [go-dsp](https://github.com/samuel/go-dsp).\nThe underlying principle remains unchanged.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhallicopter%2Fgo-dtmf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhallicopter%2Fgo-dtmf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhallicopter%2Fgo-dtmf/lists"}