{"id":18461087,"url":"https://github.com/fmigneault/aiu","last_synced_at":"2026-02-18T05:36:21.756Z","repository":{"id":42068835,"uuid":"166642473","full_name":"fmigneault/aiu","owner":"fmigneault","description":"Audio Info Updater - Tool for updating ID3 tags of audio files using text metadata and configuration files.","archived":false,"fork":false,"pushed_at":"2026-01-18T01:29:30.000Z","size":366,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-18T13:50:57.126Z","etag":null,"topics":["audio","id3","metadata","parser","tags"],"latest_commit_sha":null,"homepage":"","language":"Python","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/fmigneault.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-01-20T09:08:46.000Z","updated_at":"2026-01-18T01:29:33.000Z","dependencies_parsed_at":"2023-11-06T03:24:39.278Z","dependency_job_id":"f64f4c75-53e9-457e-a53b-97734253c768","html_url":"https://github.com/fmigneault/aiu","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/fmigneault/aiu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmigneault%2Faiu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmigneault%2Faiu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmigneault%2Faiu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmigneault%2Faiu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fmigneault","download_url":"https://codeload.github.com/fmigneault/aiu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmigneault%2Faiu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29569857,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T04:18:28.490Z","status":"ssl_error","status_checked_at":"2026-02-18T04:13:49.018Z","response_time":162,"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":["audio","id3","metadata","parser","tags"],"created_at":"2024-11-06T08:29:46.473Z","updated_at":"2026-02-18T05:36:16.747Z","avatar_url":"https://github.com/fmigneault.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"======================================\naiu: Audio Info Updater\n======================================\n\nTool for updating ID3 tags of audio files using text metadata and configuration files.\n\nThis tool helps normalize album metadata that can be easily retrievable from various websites as plain text and applies\nit to audio files with partially matchable names. Matching between metadata and actual audio files employs various\nlookup and pattern matching methods to be flexible against various naming conventions.\n\nThis tool also supports download of album songs from a\n`YouTube Music link \u003chttps://github.com/fmigneault/aiu/tree/master#using-youtube-music-album-link\u003e`_\nbefore applying the desired ID3 tag metadata updates.\n\n.. start-badges\n\n.. list-table::\n    :stub-columns: 1\n\n    * - dependencies\n      - | |py_ver| |dependencies|\n    * - releases\n      - | |version| |commits-since|\n\n.. |py_ver| image:: https://img.shields.io/badge/python-3.6%2B-blue.svg\n    :alt: Requires Python 3.6+\n    :target: https://www.python.org/getit\n\n.. |commits-since| image:: https://img.shields.io/github/commits-since/fmigneault/aiu/2.0.4.svg\n    :alt: Commits since latest release\n    :target: https://github.com/fmigneault/aiu/compare/2.0.4...master\n\n.. |version| image:: https://img.shields.io/badge/tag-2.0.4-blue.svg?style=flat\n    :alt: Latest Tag\n    :target: https://github.com/fmigneault/aiu/tree/2.0.4\n\n.. |dependencies| image:: https://pyup.io/repos/github/fmigneault/aiu/shield.svg\n    :alt: Dependencies Status\n    :target: https://pyup.io/account/repos/github/fmigneault/aiu/\n\n.. end-badges\n\n\nBuild package and install\n======================================\n\nAt the command line\n\n.. code-block:: shell\n\n    $ conda create -n aiu\n    $ source activate aiu\n    $ pip install \"\u003cgit-root-dir\u003e\"\n\nRunning\n======================================\n\nAt the command line\n\n.. code-block:: shell\n\n    aiu \"\u003cargs\u003e\"\n\nSee ``aiu --help`` for specific argument details.\n\nAudio Info Specification Formats\n======================================\n\nFollowing are the various formats supported for metadata files.\n\nThe CLI can take 2 sets for configuration files, one for \"per-song\" metadata (e.g.: each song has its own and distinct\ntitle), and another for \"shared\" metadata (e.g.: all songs of the album have the same artist).\n\nYAML\n--------------------------------------\n.. code-block:: yaml\n\n    - track: 1\n      title: The first song!\n      artist: Cool Guy\n      time: 3:10\n    - track: 2\n      title: Second Song Title\n      artist: Cool Guy\n      time: 2:45\n\nJSON\n--------------------------------------\n.. code-block:: json\n\n    [\n        {\n            \"track\": 1,\n            \"title\": \"The first song!\",\n            \"artist\": \"Cool Guy\",\n            \"time\": \"3:10\",\n        },\n        {\n            \"track\": 2,\n            \"title\": \"Second Song Title\",\n            \"artist\": \"Cool Guy\",\n            \"time\": \"2:45\",\n        }\n    ]\n\nCSV\n--------------------------------------\n.. code-block:: text\n\n    track, title, artist, time\n    01, The first song!, Cool Guy, 3:10\n    02, Second Song Title, Cool Guy, 2:45\n\nTabular and numbered list\n--------------------------------------\n.. code-block:: text\n\n    1. The first song!      3:10\n    2. Second Song Title    2:45\n\n\nList of plain text fields\n--------------------------------------\n.. code-block:: text\n\n    1\n    The first song!\n    3:10\n    2\n    Second Song Title\n    2:45\n\n\n.. _ytm_link:\n\nUsing YouTube Music album link\n======================================\n\nIt is possible to provide a YouTube Music URL formatted with the album ID in query parameter.\n\n::\n\n    https://music.youtube.com/playlist?list=\u003cALBUM_ID\u003e\n\nWhen providing such a link to `AIU` (with the ``--link`` option), it can simultaneously retrieve the corresponding\nalbum audio files and apply all appropriate audio tag metadata to them. The resulting files can then be further\nupdated using the other options and parsing formats from metadata configurations.\n\n.. _ytm_multi_link:\n\nProcess multiple artist albums from YouTube Music link\n======================================================\n\nIf the provided ``--link`` corresponds to a YouTube Music channel URL, all albums of this artist will be downloaded.\n\n::\n\n    https://music.youtube.com/channel/\u003cARTIST_ID\u003e\n\nAlbum songs will be stored into corresponding sub-directories under the specified output location.\n\nNote that according to the amount of songs per albums and total albums, this operation can take some time, but it\nwill at least save the user the manual work of running individual ``aiu`` call per album link.\n\nOther ``aiu`` parameters are also still applicable when using this type of link\n(e.g.: ``--artist``, ``--prefix-track``, etc.).\nBe mindful of provided flags though to make sure they remain relevant, since they will be applied to all albums\nto be processed for that artist.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffmigneault%2Faiu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffmigneault%2Faiu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffmigneault%2Faiu/lists"}