{"id":34789877,"url":"https://github.com/orchetect/swift-riff","last_synced_at":"2026-04-02T13:58:39.156Z","repository":{"id":301095547,"uuid":"1008137301","full_name":"orchetect/swift-riff","owner":"orchetect","description":"Swift package for reading, and writing RIFF files, including WAV files.","archived":false,"fork":false,"pushed_at":"2026-03-26T05:44:05.000Z","size":261,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-27T01:38:50.746Z","etag":null,"topics":["rf64","riff","riff-wave","swift","swift6","wav","wav-files","wavfile"],"latest_commit_sha":null,"homepage":"","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/orchetect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"orchetect"}},"created_at":"2025-06-25T05:00:59.000Z","updated_at":"2026-03-26T05:37:37.000Z","dependencies_parsed_at":"2025-06-25T06:19:55.149Z","dependency_job_id":"b724c0da-4ede-44cb-8366-a7d030640ca3","html_url":"https://github.com/orchetect/swift-riff","commit_stats":null,"previous_names":["orchetect/swiftriff"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/orchetect/swift-riff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchetect%2Fswift-riff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchetect%2Fswift-riff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchetect%2Fswift-riff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchetect%2Fswift-riff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orchetect","download_url":"https://codeload.github.com/orchetect/swift-riff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchetect%2Fswift-riff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31307428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"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":["rf64","riff","riff-wave","swift","swift6","wav","wav-files","wavfile"],"created_at":"2025-12-25T09:57:37.449Z","updated_at":"2026-04-02T13:58:39.146Z","avatar_url":"https://github.com/orchetect.png","language":"Swift","funding_links":["https://github.com/sponsors/orchetect"],"categories":[],"sub_categories":[],"readme":"# swift-riff\n\n[![Platforms - macOS | iOS | tvOS | watchOS | visionOS](https://img.shields.io/badge/platforms-macOS%20|%20iOS%20|%20tvOS%20|%20watchOS%20|%20visionOS-blue.svg?style=flat)](https://developer.apple.com/swift) ![Swift 6.0](https://img.shields.io/badge/Swift-6.0-blue.svg?style=flat) [![Xcode 16](https://img.shields.io/badge/Xcode-16-blue.svg?style=flat)](https://developer.apple.com/swift) [![License: MIT](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat)](https://github.com/orchetect/swift-riff/blob/main/LICENSE)\n\nSwift package for Apple platforms for performant parsing, reading, and writing of [RIFF](https://en.wikipedia.org/wiki/Resource_Interchange_File_Format) files.\n\n## Feature Set\n\nThis package currently offers:\n\n- a lightweight abstraction for parsing chunks in RIFF-based files, and overwriting chunks in existing files\n- abstractions for some file specifications that use RIFF as their underlying file format (such as WAV files)\n\nAt present, baseline functionality is implemented and unit tested. The initial goal of this library is to offer a mechanism to read the structure of RIFF files, with very limited mechanisms for writing. In the future, a full set of methods for authoring and writing to RIFF files would be added to the library ideally.\n\n## Library Structure\n\n- `SwiftRIFF`: umbrella package target which loads all submodules\n\n  - `SwiftRIFFCore`: package target offers the basic `RIFFFile` type which allows parsing any generic RIFF-based file\n\n    \u003e Custom RIFF chunk abstractions may be built by adopting the `RIFFFileChunk` protocol and passing these custom types into the `RIFFFile` parser so it can identify them during parsing (For an example, see the `WAVFile` type and its chunk implementation)\n\n  - `SwiftRIFFWAV`: [WAV](https://en.wikipedia.org/wiki/WAV) file specification abstraction (which uses RIFF as its underlying file structure)\n\n\n## Installation\n\n### Swift Package Manager (SPM)\n\nTo add this package to an Xcode app project, use:\n\n `https://github.com/orchetect/swift-riff` as the URL.\n\nTo add this package to a Swift package, add the dependency to your package and target in Package.swift:\n\n```swift\nlet package = Package(\n    dependencies: [\n        .package(url: \"https://github.com/orchetect/swift-riff\", from: \"0.2.0\")\n    ],\n    targets: [\n        .target(\n            dependencies: [\n                .product(name: \"SwiftRIFF\", package: \"swift-riff\")\n            ]\n        )\n    ]\n)\n```\n\n## Documentation / Examples\n\nThere is no format documentation at this time, but most types and methods in the package have inline documentation to help explain their purpose.\n\nSee the [Examples](Examples) folder for a quick way to get started with parsing RIFF files.\n\nSee the `SwiftRIFFWAV` package target for a blueprint of how to implement your own custom abstractions for RIFF-based files and chunks.\n\n## Roadmap\n\nThese features are not yet implemented, but are planned for the future. There is no timeline for these additions, but they may be added on an as-needed basis.\n\n- RIFF files\n\n  - Authoring new RIFF files\n  - Replacing RIFF file chunk with chunk of different byte length\n  - Adding new chunks to RIFF files\n  - Removing chunks from RIFF files\n- [Broadcast Wave (BWAV)](https://en.wikipedia.org/wiki/Broadcast_Wave_Format): Implement abstractions for additional known chunk types\n  (`iXML`, `qlty`, `mext`, `levl`, `link`, `axml`)\n- Implement [RF64](https://en.wikipedia.org/wiki/RF64)\n- Implement RIF2 (New 64-bit Cubase 13/Nuendo 13 file format)\n\n## Author\n\nCoded by a bunch of 🐹 hamsters in a trenchcoat that calls itself [@orchetect](https://github.com/orchetect).\n\n## License\n\nLicensed under the MIT license. See [LICENSE](https://github.com/orchetect/swift-riff/blob/master/LICENSE) for details.\n\n## Sponsoring\n\nIf you enjoy using swift-riff and want to contribute to open-source financially, GitHub sponsorship is much appreciated. Feedback and code contributions are also welcome.\n\n## Community \u0026 Support\n\nPlease do not email maintainers for technical support. Several options are available for issues and questions:\n\n- Questions and feature ideas can be posted to [Discussions](https://github.com/orchetect/swift-riff/discussions).\n- If an issue is a verifiable bug with reproducible steps it may be posted in [Issues](https://github.com/orchetect/swift-riff/issues).\n\n## Contributions\n\nContributions are welcome. Posting in [Discussions](https://github.com/orchetect/swift-riff/discussions) first prior to new submitting PRs for features or modifications is encouraged.\n\n## Legacy\n\nThis repository was formerly known as SwiftRIFF.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forchetect%2Fswift-riff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forchetect%2Fswift-riff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forchetect%2Fswift-riff/lists"}