{"id":15037460,"url":"https://github.com/luccifer/sonogramview","last_synced_at":"2026-03-11T13:39:14.017Z","repository":{"id":49379040,"uuid":"102135275","full_name":"Luccifer/SonogramView","owner":"Luccifer","description":"Audio visualisation of song","archived":false,"fork":false,"pushed_at":"2017-10-09T17:52:20.000Z","size":35,"stargazers_count":68,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T01:13:09.929Z","etag":null,"topics":["audio","bezier","bpm","fourier-transform","ios","macos","path","songs","sonogram","swift","swift3","swift4"],"latest_commit_sha":null,"homepage":null,"language":"Swift","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/Luccifer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-01T17:05:57.000Z","updated_at":"2025-01-06T11:23:52.000Z","dependencies_parsed_at":"2022-08-25T11:40:35.735Z","dependency_job_id":null,"html_url":"https://github.com/Luccifer/SonogramView","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/Luccifer%2FSonogramView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luccifer%2FSonogramView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luccifer%2FSonogramView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luccifer%2FSonogramView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Luccifer","download_url":"https://codeload.github.com/Luccifer/SonogramView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248127069,"owners_count":21052165,"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":["audio","bezier","bpm","fourier-transform","ios","macos","path","songs","sonogram","swift","swift3","swift4"],"created_at":"2024-09-24T20:34:41.378Z","updated_at":"2026-03-11T13:39:13.959Z","avatar_url":"https://github.com/Luccifer.png","language":"Swift","readme":"![](https://img.shields.io/badge/swift-3.0.1-green.svg)\n\n\n# SonogramView\nAudio visualisation of song \n\n![](https://github.com/Luccifer/SonogramView/blob/master/Screen%20Shot%202017-09-01%20at%2023.35.47.png)\n\n## Requirements\n\n- iOS 8.0+\n- macOS 10.10+\n- Xcode 8.0+\n\n## Installation:\n\n### Manually\n\n#### First\nCheck SonogramView.swift or MacSonogramView.swift and copy it to your project, then take a look on example for iOS or macOS, it's pretty straightforward, and don't forget to make sure, that you have your audiofile added to project/downloaded.\n\n#### Second\nYou whould init anywhere the SonogramView() as nib or fram - doesnt matter.. \n```swift\nlet sView: SonogramView = SonogramView()\n```\nProvide your fileURL like: \n```swift\nsView.addDurationOfFileWith(url: fileUrl!)\n```\nAnd just invoke the magic!\n```swift\nsView.convertToPoints()\n```\n\n\n# Playground:\nTry it in Playground! :)\n\n```Swift\nimport PlaygroundSupport\n\nvar fileUrl: URL?\ndo {\n    fileUrl = PlaygroundSupport.playgroundSharedDataDirectory.appendingPathComponent(\"test.m4a\")\n    // User/Documents/Shared Playground Data\n} catch {\n    print(error)\n}\n\n\nvar waveView: SonogramView = SonogramView()\nwaveView.addDurationOfFileWith(url: fileUrl!)\nwaveView.convertToPoints()\n// And you are done!\n\n// Customization of view\nwaveView.backgroundColor = .clear\nlet view = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 200))\nview.backgroundColor = .white\nview.addSubview(waveView)\n\nwaveView.frame.size.width = view.frame.width\nwaveView.frame.size.height = view.frame.height\nwaveView.center = view.center\n\nPlaygroundPage.current.liveView = view // Showing in liveView with xCode Playground\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluccifer%2Fsonogramview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluccifer%2Fsonogramview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluccifer%2Fsonogramview/lists"}