{ "info": { "author": "Michael Corey", "author_email": "mcorey@cironline.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Multimedia :: Sound/Audio", "Topic :: Multimedia :: Sound/Audio :: MIDI", "Topic :: Scientific/Engineering :: Visualization" ], "description": "It's MIDITime!\n==============\n\nDo you have time time series data you want to play as music? Of course\nyou do!\n\nMIDITime converts any kind of time series data into pitch, velocity and\nduration values based on musical options that you set up, then outputs a\n.mid file.\n\nMIDI files aren't technically audio -- they're instructions on how\nsoftware instruments should be played. You can either play .mid files\ndirectly in some music applications, or import them into a wide variety\nof music editors (like ProTools, Ableton, MaxMSP) and add a ton of bells\nand whistles to get broadcast-ready audio.\n\nWe used MIDITime to produce the data sonification in `this episode of\nReveal `__.\nThe musical track -- without the talking -- `is\nhere `__.\n\nInstalling\n----------\n\n.. code:: python\n\n pip install miditime\n\nUsage\n-----\n\nVery basic:\n~~~~~~~~~~~\n\n.. code:: python\n\n from miditime.miditime import MIDITime\n\n # Instantiate the class with a tempo (120bpm is the default) and an output file destination.\n mymidi = MIDITime(120, 'myfile.mid')\n\n # Create a list of notes. Each note is a list: [time, pitch, velocity, duration]\n midinotes = [\n [0, 60, 127, 3], #At 0 beats (the start), Middle C with velocity 127, for 3 beats\n [10, 61, 127, 4] #At 10 beats (12 seconds from start), C#5 with velocity 127, for 4 beats\n ]\n\n # Add a track with those notes\n mymidi.add_track(midinotes)\n\n # Output the .mid file\n mymidi.save_midi()\n\nA little more fun, a lot more control:\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nInstantiate the class with a tempo (120bpm is the default), an output\nfile destination, the number of seconds you want to represent a year in\nthe final song (default is 5 sec/year), the base octave (C5 is middle C,\nso the default is 5, and how many octaves you want your output to range\nover (default is 1).\n\n.. code:: python\n\n from miditime.miditime import MIDITime\n mymidi = MIDITime(120, 'myfile.mid', 5, 5, 1)\n\nBring in some data (this is some earthquakes). I'm assuming your data is\nalready in date order, from oldest to newest.\n\n.. code:: python\n\n my_data = [\n {'event_date': , 'magnitude': 3.4},\n {'event_date': , 'magnitude': 3.2},\n {'event_date': , 'magnitude': 3.6},\n {'event_date': , 'magnitude': 3.0},\n {'event_date': , 'magnitude': 5.6},\n {'event_date': , 'magnitude': 4.0}\n ]\n\nConvert your date/time data into an integer, like days since the epoch\n(Jan. 1, 1970). You can use the days\\_since\\_epoch() helper method, or\nnot:\n\n.. code:: python\n\n my_data_epoched = [{'days_since_epoch': mymidi.days_since_epoch(d['event_date']), 'magnitude': d['magnitude']} for d in my_data]\n\nConvert your integer date/time to something reasonable for a song. For\nexample, at 120 beats per minute, you'll need to scale the data down a\nlot to avoid a very long song if your data spans years. This uses the\nseconds\\_per\\_year attribute you set at the top, so if your date is\nconverted to something other than days you may need to do your own\nconversion. But if your dataset spans years and your dates are in days\n(with fractions is fine), use the beat() helper method.\n\n.. code:: python\n\n my_data_timed = [{'beat': mymidi.beat(d['days_since_epoch']), 'magnitude': d['magnitude']} for d in my_data_epoched]\n\nGet the earliest date in your series so you can set that to 0 in the\nMIDI:\n\n.. code:: python\n\n start_time = my_data_timed[0]['beat']\n\nSet up some functions to scale your other variable (magnitude in our\ncase) to match your desired mode/key and octave range. There are helper\nmethods to assist this scaling, very similar to a charting library like\nD3. You can choose a linear or logarithmic scale.\n\n.. code:: python\n\n def mag_to_pitch_tuned(magnitude):\n # Where does this data point sit in the domain of your data? (I.E. the min magnitude is 3, the max in 5.6). In this case the optional 'True' means the scale is reversed, so the highest value will return the lowest percentage.\n scale_pct = mymidi.linear_scale_pct(3, 5.7, magnitude)\n\n # Another option: Linear scale, reverse order\n # scale_pct = mymidi.linear_scale_pct(3, 5.7, magnitude, True)\n\n # Another option: Logarithmic scale, reverse order\n # scale_pct = mymidi.log_scale_pct(3, 5.7, magnitude, True)\n\n # Pick a range of notes. This allows you to play in a key.\n c_major = ['C', 'D', 'E', 'F', 'G', 'A', 'B']\n\n #Find the note that matches your data point\n note = mymidi.scale_to_note(scale_pct, c_major)\n\n #Translate that note to a MIDI pitch\n midi_pitch = mymidi.note_to_midi_pitch(note)\n\n return midi_pitch\n\nNow build your note list\n\n.. code:: python\n\n note_list = []\n\n for d in my_data_timed:\n note_list.append([\n d['beat'] - start_time,\n mag_to_pitch_tuned(d['magnitude']),\n 100, # velocity\n 1 # duration, in beats\n ])\n\nAnd finish\n\n.. code:: python\n\n # Add a track with those notes\n mymidi.add_track(note_list)\n\n # Output the .mid file\n mymidi.save_midi()\n\nPlay your music:\n~~~~~~~~~~~~~~~~\n\nThere are many programs to work with MIDI, but\n`timidity `__ (installable\nwith apt) is a simple command-line one if you just want to hear what you\nhath wrought.\n\n::\n\n timidity mymidifilename.mid\n\nLicense\n-------\n\nThis software is released under an MIT license. It would be awful nice\nif you credited Reveal and Michael Corey somehow if you use this to make\nsomething awesome.\n\nCredits\n-------\n\nMany thanks to Julia Smith for helping me to understand musical\nkeys/modes better.\n\nMIDITime is a wrapper around the actual midi-making hotness of\n`midiutil `__, produced by `Mark\nConway Wirt `__. I have\nincluded midiutil in this package `per his\nrecommendation `__.", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cirlabs/miditime", "keywords": "audio midi time series data python", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "miditime", "package_url": "https://pypi.org/project/miditime/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/miditime/", "project_urls": { "Homepage": "https://github.com/cirlabs/miditime" }, "release_url": "https://pypi.org/project/miditime/1.1.3/", "requires_dist": [ "pytz" ], "requires_python": null, "summary": "Generate MIDI files from time series data. You can control can control what octaves and octave ranges you want.", "version": "1.1.3" }, "last_serial": 2372002, "releases": { "0.1.0a10": [ { "comment_text": "", "digests": { "md5": "5c12c02e20e2dd2a6dc7fe97b8893b56", "sha256": "0cc727ed947c2c720d926df23ab5dd095d44b1a001bf9679a59418263637e526" }, "downloads": -1, "filename": "miditime-0.1.0a10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5c12c02e20e2dd2a6dc7fe97b8893b56", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19140, "upload_time": "2015-06-05T22:17:13", "url": "https://files.pythonhosted.org/packages/be/11/97bb796d5315551b7e5b9d2052e0f6a3c74c585abe87337b836a263db237/miditime-0.1.0a10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b41cec9ac1c9cd5f32c29c5c55b1a77", "sha256": "0ff3eaae54f5eec4945ac201ee12fe5acc36dc21baad25b481c54c2c7a54b56e" }, "downloads": -1, "filename": "miditime-0.1.0a10.tar.gz", "has_sig": false, "md5_digest": "8b41cec9ac1c9cd5f32c29c5c55b1a77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14664, "upload_time": "2015-06-05T22:17:16", "url": "https://files.pythonhosted.org/packages/c9/70/4caf21556af30df3c3a25b025cdb3157b41e2c8e2b43059aac9706ddfcf6/miditime-0.1.0a10.tar.gz" } ], "0.2.0b10": [ { "comment_text": "", "digests": { "md5": "1d01bcbd49ad9e267ab88743ba1df33b", "sha256": "2b4fb927d36fe481032b17fafb69ff4d4fe4a973811b3d9b7ffdcff276705bae" }, "downloads": -1, "filename": "miditime-0.2.0b10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1d01bcbd49ad9e267ab88743ba1df33b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20127, "upload_time": "2015-12-23T00:21:35", "url": "https://files.pythonhosted.org/packages/43/ee/18c483b09a59090c9c368ac9a915bb298ec8445c054f7bcb6965e65b73a5/miditime-0.2.0b10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6de92441c617addae7d625f19f403f4c", "sha256": "80df12fdd6717a85de8dacc2a6f4b7a94aeadd5d6a0238122694cc24dd6847c9" }, "downloads": -1, "filename": "miditime-0.2.0b10.tar.gz", "has_sig": false, "md5_digest": "6de92441c617addae7d625f19f403f4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15420, "upload_time": "2015-12-23T00:21:41", "url": "https://files.pythonhosted.org/packages/9f/ec/2be86e11a5380e36d3a6bb5f662bd790ce182681adf46038935f21d4b78f/miditime-0.2.0b10.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "e41e4455e15bc1dc142c6e38d896c234", "sha256": "08e42fdaafbea2290780d7c7f874cb60cbe5e06832347fd7dbc7cc6b0b16da12" }, "downloads": -1, "filename": "miditime-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e41e4455e15bc1dc142c6e38d896c234", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20092, "upload_time": "2015-12-24T00:28:38", "url": "https://files.pythonhosted.org/packages/49/e1/8f6c2611271085e810a660664cca900de5b0928f9555cf55ce3bf46090a4/miditime-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f2ce0a4fa41babb833b7dc261782fd8", "sha256": "1650d60312d5cee06553cdf161372982de8b02491b5de63ff78cae8907b5843b" }, "downloads": -1, "filename": "miditime-1.0.0.tar.gz", "has_sig": false, "md5_digest": "6f2ce0a4fa41babb833b7dc261782fd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15407, "upload_time": "2015-12-24T00:28:44", "url": "https://files.pythonhosted.org/packages/6c/ce/a3cd7a959d8ae7da424213b573a14d5f7bca074759597e84262081fd4e63/miditime-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "74c6f0ace4facda771c9f3898275e0c1", "sha256": "ee2cc7c8621753467dd50f6c579bf556196147a6a7c149fc8d334453d1d8af2b" }, "downloads": -1, "filename": "miditime-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74c6f0ace4facda771c9f3898275e0c1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31279, "upload_time": "2016-03-15T19:02:36", "url": "https://files.pythonhosted.org/packages/ca/d2/278c0afabce0cd18485e8c9c0f055529db7aa667c2d485b0b38406c5200f/miditime-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd79a6ac563b7a8d13effa2183bc736b", "sha256": "07bb643e4553e3162f81164107aa2b5bcca0796ed0388824efa627668206398c" }, "downloads": -1, "filename": "miditime-1.0.1.tar.gz", "has_sig": false, "md5_digest": "fd79a6ac563b7a8d13effa2183bc736b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23101, "upload_time": "2016-03-15T19:02:44", "url": "https://files.pythonhosted.org/packages/b7/7c/b4cd46b22e46da352243513262a49f886d73473722bb482dbb20bdd19525/miditime-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7e29e3f5a6f1e74635d9dc8e7cb17fd1", "sha256": "d9cb0d4a95ee43589f54e0037f089bbb8254d3f79f563afb4f18f64e458d525a" }, "downloads": -1, "filename": "miditime-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e29e3f5a6f1e74635d9dc8e7cb17fd1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31248, "upload_time": "2016-03-15T19:11:33", "url": "https://files.pythonhosted.org/packages/4c/8b/2fe2e9c14095b8470ce16037ad66c15d0cc87517e5ddf4954d806a213cd0/miditime-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0534d531ca58da809c1d28f91bcdc249", "sha256": "579db721d01e0ddde1eaad27c7bf01c12543b7ec08b19dde45e35e5f65c6c2d8" }, "downloads": -1, "filename": "miditime-1.0.2.tar.gz", "has_sig": false, "md5_digest": "0534d531ca58da809c1d28f91bcdc249", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23083, "upload_time": "2016-03-15T19:11:45", "url": "https://files.pythonhosted.org/packages/b1/d3/cb7c35f3328d58f579025ddf2c23adf469066356b82db950bf2786c487d7/miditime-1.0.2.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "285e0a7efb7d710de5c760d742750140", "sha256": "4d023c818ea199f794910466939f3408b9dc982a81da694792e8ec5db5a33545" }, "downloads": -1, "filename": "miditime-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "285e0a7efb7d710de5c760d742750140", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32097, "upload_time": "2016-07-22T04:45:20", "url": "https://files.pythonhosted.org/packages/ff/98/10eebfd332e68e111f5afe2f8f08b040ccf1d469d450713fcd4e92ce3ab5/miditime-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb915c78148520eb149e5237073a2e65", "sha256": "7bfcc0e932ccf9e906c521f3798f033cc3bc179c11c7ee12b657fc64d8e94ad6" }, "downloads": -1, "filename": "miditime-1.0.4.tar.gz", "has_sig": false, "md5_digest": "eb915c78148520eb149e5237073a2e65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23854, "upload_time": "2016-07-22T04:45:22", "url": "https://files.pythonhosted.org/packages/23/1f/d7861cc86442060c83dd1601963ff2b8dcd17a1448b112ee3c72a66c8f89/miditime-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "6ec2da84a3d5de8027a9769c789b8f5c", "sha256": "26bac9891aeed5523a574dc8252fe0ca203007004a393030c0806c4fe4ac523e" }, "downloads": -1, "filename": "miditime-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ec2da84a3d5de8027a9769c789b8f5c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32099, "upload_time": "2016-07-22T04:51:34", "url": "https://files.pythonhosted.org/packages/19/44/18a54adcb3e26405608419cebb713081e81d86b4a05c14c2a8adaf5ddba5/miditime-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf57f1d208d28a5cc5962d7028dc5bef", "sha256": "532bca9b547922d08f963ce52653471438a289d798b2021821298ca9cd273447" }, "downloads": -1, "filename": "miditime-1.0.5.tar.gz", "has_sig": false, "md5_digest": "cf57f1d208d28a5cc5962d7028dc5bef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23850, "upload_time": "2016-07-22T04:51:37", "url": "https://files.pythonhosted.org/packages/d8/49/36fb8daf8d731bb6607344f2e9656b3254203762118c69effe0d9e5e900d/miditime-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "36e8c850895e25a276634eb9372a2864", "sha256": "bec8b67bc459b7c97eb782ae0e6124966fe09aba725c74914588dadce0f430f5" }, "downloads": -1, "filename": "miditime-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "36e8c850895e25a276634eb9372a2864", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32095, "upload_time": "2016-07-22T05:06:57", "url": "https://files.pythonhosted.org/packages/c3/ed/5bb0c764558f3e37bd1f78c1c9bd1a37f5473fddf3e1532d6f952f09fa18/miditime-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94129b2bae671f7a54f493146dda0aa7", "sha256": "3edaa065e18f33e627a5d01f1a43cfc54eda6208653caffe12fd78c0893c5b45" }, "downloads": -1, "filename": "miditime-1.0.6.tar.gz", "has_sig": false, "md5_digest": "94129b2bae671f7a54f493146dda0aa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23856, "upload_time": "2016-07-22T05:07:00", "url": "https://files.pythonhosted.org/packages/3b/97/f8419623c3aecd1c4599b04d315bc0f999120d7b35cdfb92ddaacee6e349/miditime-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "df33f3d53d338e0912e1a500e695814e", "sha256": "03898efa60c66c1b30a357772f286b1ff4182ea473c816afb9105fcbac37f517" }, "downloads": -1, "filename": "miditime-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df33f3d53d338e0912e1a500e695814e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32126, "upload_time": "2016-07-23T04:40:46", "url": "https://files.pythonhosted.org/packages/85/ad/9d827c4093722f09e032c962c7839130f9cd3c6e633c07bbb319116c8ce8/miditime-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0efd5f66c5f129aee6a89d57e913e009", "sha256": "3ac2ae0db29e28cadc177f27e5cbe1663a9e13f4cbd03289115d0bcfb02871ac" }, "downloads": -1, "filename": "miditime-1.0.7.tar.gz", "has_sig": false, "md5_digest": "0efd5f66c5f129aee6a89d57e913e009", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23886, "upload_time": "2016-07-23T04:40:49", "url": "https://files.pythonhosted.org/packages/d7/17/a653c7de8ef2a01f7a1cfa553aef8aea775faafa5e187e8260d57ec72f12/miditime-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "ed4500dc61527880eeddb04db203bab9", "sha256": "b6b450f1b8644789935a57dfd1b8206603317cd9ca9f9da559802493a99ec579" }, "downloads": -1, "filename": "miditime-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ed4500dc61527880eeddb04db203bab9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32159, "upload_time": "2016-07-26T04:07:07", "url": "https://files.pythonhosted.org/packages/c2/0e/5f289b153747fa30f153da0b1755750a6ccdb9542cd30319337e7d9cac67/miditime-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e42c2a7dccc4045b2e80062b7c5cd06d", "sha256": "3580bfb3e81d5dd0f56da970cb3ca1799a1d2b60dd7b669948e5e0c57c3fb8e9" }, "downloads": -1, "filename": "miditime-1.0.8.tar.gz", "has_sig": false, "md5_digest": "e42c2a7dccc4045b2e80062b7c5cd06d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23925, "upload_time": "2016-07-26T04:07:09", "url": "https://files.pythonhosted.org/packages/4c/10/7db8f05a98e2c1df0c4a6a32134ec6fa1f431cf91d5e7da1aa5796bcccde/miditime-1.0.8.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "72b66f3d5f37e7a2da31f9721bb18217", "sha256": "dd499282ca23be607c46a853cc40de8166d4985dd0732658ad78e550945dedc3" }, "downloads": -1, "filename": "miditime-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "72b66f3d5f37e7a2da31f9721bb18217", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32157, "upload_time": "2016-08-04T21:31:41", "url": "https://files.pythonhosted.org/packages/6d/28/797a1c8e3616829ef4c2426b54aaddeb794d9bdc7bf53641f2535b491946/miditime-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca8032063b1d855aedf284aa831f2d70", "sha256": "4d7f2da406d514f2f90d5c91db11e328b6e76780f45fb31ea66dd0e791315aa5" }, "downloads": -1, "filename": "miditime-1.1.0.tar.gz", "has_sig": false, "md5_digest": "ca8032063b1d855aedf284aa831f2d70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23918, "upload_time": "2016-08-04T21:31:44", "url": "https://files.pythonhosted.org/packages/ba/2a/30757076a3fea19406abfd4635f6b5ea26d4cc455d6f8bbb5137cda8b3e6/miditime-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "48d349d9b4b55c1ece3e6158764221e9", "sha256": "73f27cb8588f41f731b0ac636ed2bfbba65ef231148744e17b1ef718dd5c2e18" }, "downloads": -1, "filename": "miditime-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "48d349d9b4b55c1ece3e6158764221e9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28079, "upload_time": "2016-08-04T21:53:35", "url": "https://files.pythonhosted.org/packages/f7/45/fb58e67e8c656b25e3aa23d6abd740ccbbc8a034c8ff947340914c1e9870/miditime-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdcdd2cdf8e11e36b1a1b763e76ed1b4", "sha256": "ee7f4583607c003dc70d47f477041977f6bfa16fc80c42b71f7ae11f89ae663b" }, "downloads": -1, "filename": "miditime-1.1.1.tar.gz", "has_sig": false, "md5_digest": "bdcdd2cdf8e11e36b1a1b763e76ed1b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23914, "upload_time": "2016-08-04T21:53:38", "url": "https://files.pythonhosted.org/packages/ee/56/a9a35886ce7d2a1a5f74ae41390db3f6b5ea175c40814569b335c3a987fc/miditime-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "816f1dfd48e57d7a268ddb3136c11a6d", "sha256": "662a5696e0f7a96c7b99fc14764f311350c1b31c49011cfbacdcb14e7d360341" }, "downloads": -1, "filename": "miditime-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "816f1dfd48e57d7a268ddb3136c11a6d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28080, "upload_time": "2016-09-22T22:28:08", "url": "https://files.pythonhosted.org/packages/14/bc/629514704c3269bad3215b6916e878ff2cb613266318be171c4be93f0f07/miditime-1.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a2e35c6824246c0bf19c8c676243a44", "sha256": "c8ca02090f68bd33329135a127dd0ccb3851f46943ea3bedc60b8d306242465d" }, "downloads": -1, "filename": "miditime-1.1.2.tar.gz", "has_sig": false, "md5_digest": "6a2e35c6824246c0bf19c8c676243a44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23925, "upload_time": "2016-09-22T22:28:10", "url": "https://files.pythonhosted.org/packages/0a/b3/a586981ff0f393eb165b15cb5b1aef2cdb22829bffd52949007674afed92/miditime-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "652ead62e78455f4ccd33e277c5d9e08", "sha256": "021d5511fb1aaf3ee06f6d2363f82775a550562a873ddbb57389952079e6f031" }, "downloads": -1, "filename": "miditime-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "652ead62e78455f4ccd33e277c5d9e08", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28089, "upload_time": "2016-09-29T21:57:02", "url": "https://files.pythonhosted.org/packages/69/f4/0b79cf1dc829a55669b6faaa3ca952fffb3800c3a29bcfd492f15fcb949a/miditime-1.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25c85945cf1670cdc16a21c27a6a878a", "sha256": "2c94ccae77a0003ed14719780f391e411a20b76daa9aed2169102a469ff12834" }, "downloads": -1, "filename": "miditime-1.1.3.tar.gz", "has_sig": false, "md5_digest": "25c85945cf1670cdc16a21c27a6a878a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23915, "upload_time": "2016-09-29T21:57:05", "url": "https://files.pythonhosted.org/packages/7e/cd/c57e4f139a948c9a62d71110c175e956e210b381b01874e020c3c896cbb9/miditime-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "652ead62e78455f4ccd33e277c5d9e08", "sha256": "021d5511fb1aaf3ee06f6d2363f82775a550562a873ddbb57389952079e6f031" }, "downloads": -1, "filename": "miditime-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "652ead62e78455f4ccd33e277c5d9e08", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28089, "upload_time": "2016-09-29T21:57:02", "url": "https://files.pythonhosted.org/packages/69/f4/0b79cf1dc829a55669b6faaa3ca952fffb3800c3a29bcfd492f15fcb949a/miditime-1.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25c85945cf1670cdc16a21c27a6a878a", "sha256": "2c94ccae77a0003ed14719780f391e411a20b76daa9aed2169102a469ff12834" }, "downloads": -1, "filename": "miditime-1.1.3.tar.gz", "has_sig": false, "md5_digest": "25c85945cf1670cdc16a21c27a6a878a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23915, "upload_time": "2016-09-29T21:57:05", "url": "https://files.pythonhosted.org/packages/7e/cd/c57e4f139a948c9a62d71110c175e956e210b381b01874e020c3c896cbb9/miditime-1.1.3.tar.gz" } ] }