{"id":13660856,"url":"https://github.com/mido/mido","last_synced_at":"2025-05-13T16:11:46.027Z","repository":{"id":9108078,"uuid":"10889417","full_name":"mido/mido","owner":"mido","description":"MIDI Objects for Python","archived":false,"fork":false,"pushed_at":"2024-10-25T15:04:28.000Z","size":5989,"stargazers_count":1416,"open_issues_count":110,"forks_count":213,"subscribers_count":41,"default_branch":"main","last_synced_at":"2024-10-29T15:07:25.054Z","etag":null,"topics":["midi","midifile","python"],"latest_commit_sha":null,"homepage":"https://mido.readthedocs.io","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/mido.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"docs/contributing.rst","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-06-23T18:11:38.000Z","updated_at":"2024-10-29T11:27:08.000Z","dependencies_parsed_at":"2023-02-16T09:16:17.815Z","dependency_job_id":"3b182446-920e-4006-a33e-bd4efd5d307e","html_url":"https://github.com/mido/mido","commit_stats":{"total_commits":2164,"total_committers":56,"mean_commits":"38.642857142857146","dds":"0.11598890942698703","last_synced_commit":"7bc7432d8e6024d800394ad7f1a66d8ffb879abe"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mido%2Fmido","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mido%2Fmido/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mido%2Fmido/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mido%2Fmido/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mido","download_url":"https://codeload.github.com/mido/mido/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250529124,"owners_count":21445576,"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":["midi","midifile","python"],"created_at":"2024-08-02T05:01:26.662Z","updated_at":"2025-04-23T23:19:15.354Z","avatar_url":"https://github.com/mido.png","language":"Python","readme":".. SPDX-FileCopyrightText: 2013 Ole Martin Bjorndalen \u003combdalen@gmail.com\u003e\n..\n.. SPDX-License-Identifier: CC-BY-4.0\n\nMido - MIDI Objects for Python\n==============================\n\n.. image:: https://img.shields.io/badge/License-MIT-blue.svg\n   :alt: MIT License\n   :target: https://github.com/mido/mido/blob/main/LICENSES/MIT.txt\n\n.. image:: https://img.shields.io/pypi/v/mido.svg\n   :alt: PyPi version\n   :target: https://pypi.org/project/mido\n\n.. image:: https://img.shields.io/pypi/pyversions/mido.svg\n   :alt: Python version\n   :target: https://python.org\n\n.. image:: https://pepy.tech/badge/mido\n   :alt: Downloads\n   :target: https://pepy.tech/project/mido\n\n.. image:: https://github.com/mido/mido/workflows/Test/badge.svg\n   :alt: Test status\n   :target: https://github.com/mido/mido/actions\n\n.. image:: https://readthedocs.org/projects/mido/badge/?version=latest\n   :alt: Docs status\n   :target: https://mido.readthedocs.io/\n\n.. image:: https://api.reuse.software/badge/github.com/mido/mido\n   :alt: REUSE status\n   :target: https://api.reuse.software/info/github.com/mido/mido\n\n.. image:: https://www.bestpractices.dev/projects/7987/badge\n   :alt: OpenSSF Best Practices\n   :target: https://www.bestpractices.dev/projects/7987\n\nMido is a library for working with MIDI messages and ports:\n\n.. code-block:: python\n\n   \u003e\u003e\u003e import mido\n   \u003e\u003e\u003e msg = mido.Message('note_on', note=60)\n   \u003e\u003e\u003e msg.type\n   'note_on'\n   \u003e\u003e\u003e msg.note\n   60\n   \u003e\u003e\u003e msg.bytes()\n   [144, 60, 64]\n   \u003e\u003e\u003e msg.copy(channel=2)\n   Message('note_on', channel=2, note=60, velocity=64, time=0)\n\n.. code-block:: python\n\n   port = mido.open_output('Port Name')\n   port.send(msg)\n\n.. code-block:: python\n\n    with mido.open_input() as inport:\n        for msg in inport:\n            print(msg)\n\n.. code-block:: python\n\n    mid = mido.MidiFile('song.mid')\n    for msg in mid.play():\n        port.send(msg)\n\n\nFull documentation at https://mido.readthedocs.io/\n\n\nMain Features\n-------------\n\n* convenient message objects.\n\n* supports RtMidi, PortMidi and Pygame. New backends are easy to\n  write.\n\n* full support for all 18 messages defined by the MIDI standard.\n\n* standard port API allows all kinds of input and output ports to be\n  used interchangeably. New port types can be written by subclassing\n  and overriding a few methods.\n\n* includes a reusable MIDI stream parser.\n\n* full support for MIDI files (read, write, create and play) with\n  complete access to every message in the file, including all common\n  meta messages.\n\n* can read and write SYX files (binary and plain text).\n\n* implements (somewhat experimental) MIDI over TCP/IP with socket\n  ports. This allows for example wireless MIDI between two\n  computers.\n\n* includes programs for playing MIDI files, listing ports and\n  serving and forwarding ports over a network.\n\n\nStatus\n------\n\n1.3 is the fourth stable release.\n\nThis project uses `Semantic Versioning \u003chttps://semver.org\u003e`_.\n\n\nRequirements\n------------\n\nMido requires Python 3.7 or higher.\n\n\nInstalling\n----------\n\n::\n\n    python3 -m pip install mido\n\nOr, alternatively, if you want to use ports with the default backend::\n\n   python3 -m pip install mido[ports-rtmidi]\n\nSee ``docs/backends/`` for other backends.\n\n\n\nSource Code\n-----------\n\nhttps://github.com/mido/mido/\n\n\nLicense\n-------\n\nMido is released under the terms of the `MIT license\n\u003chttp://en.wikipedia.org/wiki/MIT_License\u003e`_.\n\n\nQuestions and suggestions\n-------------------------\n\nFor questions and proposals which may not fit into issues or pull requests,\nwe recommend to ask and discuss in the `Discussions\n\u003chttps://github.com/mido/mido/discussions\u003e`_ section.\n","funding_links":[],"categories":["Synthesis \u0026 Sound Design","Python","MIDI Tools \u0026 Libraries"],"sub_categories":["Text-to-Speech"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmido%2Fmido","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmido%2Fmido","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmido%2Fmido/lists"}