dawdreamer


Namedawdreamer JSON
Version 0.8.3 PyPI version JSON
download
home_pagehttps://github.com/DBraun/DawDreamer
SummaryAn audio-processing Python library supporting core DAW features
upload_time2024-09-09 14:31:06
maintainerNone
docs_urlNone
authorDavid Braun
requires_python>=3.8
licenseNone
keywords audio music sound
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ```
  _____                       _____                                                  
 |  __ \                     |  __ \                                                 
 | |  | |   __ _  __      __ | |  | |  _ __    ___    __ _   _ __ ___     ___   _ __ 
 | |  | |  / _` | \ \ /\ / / | |  | | | '__|  / _ \  / _` | | '_ ` _ \   / _ \ | '__|
 | |__| | | (_| |  \ V  V /  | |__| | | |    |  __/ | (_| | | | | | | | |  __/ | |   
 |_____/   \__,_|   \_/\_/   |_____/  |_|     \___|  \__,_| |_| |_| |_|  \___| |_|   
                                                                                     
* * Digital Audio Workstation with Python * *
```

![Supported Platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Windows%20%7C%20Linux-green)
[![Test Badge](https://github.com/DBraun/DawDreamer/actions/workflows/all.yml/badge.svg)](https://github.com/DBraun/DawDreamer/actions/workflows/all.yml)
[![PyPI version fury.io](https://badge.fury.io/py/ansicolortags.svg)](https://pypi.python.org/pypi/dawdreamer/)
[![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/DBraun/DawDreamer/blob/main/LICENSE)
![GitHub Repo stars](https://img.shields.io/github/stars/DBraun/DawDreamer?style=social)
[![Generic badge](https://img.shields.io/badge/Documentation-passing-brightgreen.svg)](https://dirt.design/DawDreamer/)

# DawDreamer

Read the [introduction](https://arxiv.org/abs/2111.09931) to DawDreamer, which was presented as a Late-Breaking Demo at the [2021 ISMIR Conference](https://ismir2021.ismir.net/lbd/).

DawDreamer is an audio-processing Python framework supporting core [DAW](https://en.wikipedia.org/wiki/Digital_audio_workstation) features and beyond:
* Composing graphs of multi-channel audio processors
* Audio playback
* [VST instruments and effects](https://github.com/DBraun/DawDreamer/wiki/Plugin-Processor) (with UI editing and state loading/saving)
* [FAUST](https://github.com/DBraun/DawDreamer/wiki/Faust-Processor) effects and polyphonic instruments
* [Time-stretching and looping](https://github.com/DBraun/DawDreamer/wiki/Playback-Warp-Processor), optionally according to Ableton Live warp markers
* [Pitch-warping](https://github.com/DBraun/DawDreamer/wiki/Playback-Warp-Processor)
* Parameter automation at audio-rate and at pulses-per-quarter-note
* Parameter automation saving in absolute audio-rate time
* MIDI playback in absolute time and PPQN time
* MIDI file export in absolute time
* Rendering and saving multiple processors simultaneously
* Support for the [Faust Box](https://github.com/DBraun/DawDreamer/tree/main/examples/Box_API) and Signal APIs
* Transpiling Faust code to [JAX/Flax](https://github.com/DBraun/DawDreamer/tree/main/examples/Faust_to_JAX) and other target languages (C++, Rust, Wasm, etc.)
* Machine learning experiments with [QDax](https://github.com/DBraun/DawDreamer/tree/main/examples/Faust_to_QDax)
* [Multiprocessing support](https://github.com/DBraun/DawDreamer/tree/main/examples/multiprocessing_plugins)
* Full support on macOS, Windows, Linux, Google Colab, and Ubuntu Dockerfile

DawDreamer's foundation is [JUCE](https://github.com/julianstorer/JUCE), with a user-friendly Python interface thanks to [pybind11](https://github.com/pybind/pybind11). DawDreamer evolved from an earlier VSTi audio "renderer", [RenderMan](https://github.com/fedden/RenderMan).

## Installation

macOS requirements:
* 64-bit Python 3.9 or higher
* macOS 11.0 or higher

Windows requirements:
* 64-bit Python 3.8 or higher

Linux requirements:
* 64-bit Python 3.8 or higher

Install with [PyPI](https://pypi.org/project/dawdreamer/):

`pip install dawdreamer`

## API Documentation

[https://dirt.design/DawDreamer/](https://dirt.design/DawDreamer/dawdreamer.html)

## Basic Example

Using Faust, let's make a stereo sine-tone at 440 Hz and -6 dB. You can run this code as-is.

```python
import dawdreamer as daw
from scipy.io import wavfile
SAMPLE_RATE = 44100
engine = daw.RenderEngine(SAMPLE_RATE, 512)  # 512 block size
faust_processor = engine.make_faust_processor("faust")
faust_processor.set_dsp_string(
    """
    declare name "MySine";
    freq = hslider("freq", 440, 0, 20000, 0);
    gain = hslider("vol[unit:dB]", 0, -120, 20, 0) : ba.db2linear;
    process = freq : os.osc : _*gain <: si.bus(2);
    """
    )
print(faust_processor.get_parameters_description())
engine.load_graph([
                   (faust_processor, [])
])
faust_processor.set_parameter("/MySine/freq", 440.)  # 440 Hz
faust_processor.set_parameter("/MySine/vol", -6.)  # -6 dB volume

engine.set_bpm(120.)
engine.render(4., beats=True)  # render 4 beats.
audio = engine.get_audio()  # shaped (2, N samples)
wavfile.write('sine_demo.wav', SAMPLE_RATE, audio.transpose())

# Change settings and re-render
faust_processor.set_parameter("/MySine/freq", 880.)  # 880 Hz
engine.render(4., beats=True)
# and so on...
```

Next, let's make a graph with a VST instrument and effect. This graph will be simple, but you can make more complicated ones.

```python
import dawdreamer as daw
from scipy.io import wavfile
SAMPLE_RATE = 44100
INSTRUMENT_PATH = "path/to/instrument.dll"
EFFECT_PATH = "path/to/effect.dll"

engine = daw.RenderEngine(SAMPLE_RATE, 512)
engine.set_bpm(120.)

synth = engine.make_plugin_processor("synth", INSTRUMENT_PATH)
print('inputs:', synth.get_num_input_channels())
print('outputs:', synth.get_num_output_channels())
print(synth.get_parameters_description())

synth.set_parameter(7, .1234)

# (MIDI note, velocity, start sec, duration sec)
synth.add_midi_note(60, 100, 0.0, 2.)

effect = engine.make_plugin_processor("effect", EFFECT_PATH)

engine.load_graph([
  (synth, []),
  (effect, [synth.get_name()])  # effect needs 2 channels, and "synth" provides those 2.
  ])

engine.render(4.)  # render 4 seconds.
audio = engine.get_audio()
wavfile.write('synth_demo.wav', SAMPLE_RATE, audio.transpose())
synth.clear_midi()
# add midi again, render again, and so on...
```

Please refer to the [Wiki](https://github.com/DBraun/DawDreamer/wiki), [examples](https://github.com/DBraun/DawDreamer/tree/main/examples/), [API documentation](https://dirt.design/DawDreamer), and [tests](https://github.com/DBraun/DawDreamer/tree/main/tests). 

## License

DawDreamer is licensed under GPLv3 to make it easier to comply with all of the dependent projects. If you use DawDreamer, you must obey the licenses of [JUCE](https://github.com/juce-framework/JUCE/), [pybind11](https://github.com/pybind/pybind11/), [Libsamplerate](https://github.com/libsndfile/libsamplerate), [Rubber Band Library](https://github.com/breakfastquay/rubberband/), [Steinberg VST2/3](https://www.steinberg.net/vst-instruments/), and [FAUST](https://github.com/grame-cncm/faust).

## Thanks to contributors to the original [RenderMan](https://github.com/fedden/RenderMan)
* [fedden](https://github.com/fedden), RenderMan creator
* [jgefele](https://github.com/jgefele)
* [harritaylor](https://github.com/harritaylor)
* [cannoneyed](https://github.com/cannoneyed/)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/DBraun/DawDreamer",
    "name": "dawdreamer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "audio music sound",
    "author": "David Braun",
    "author_email": "braun@ccrma.stanford.edu",
    "download_url": null,
    "platform": null,
    "description": "```\n  _____                       _____                                                  \n |  __ \\                     |  __ \\                                                 \n | |  | |   __ _  __      __ | |  | |  _ __    ___    __ _   _ __ ___     ___   _ __ \n | |  | |  / _` | \\ \\ /\\ / / | |  | | | '__|  / _ \\  / _` | | '_ ` _ \\   / _ \\ | '__|\n | |__| | | (_| |  \\ V  V /  | |__| | | |    |  __/ | (_| | | | | | | | |  __/ | |   \n |_____/   \\__,_|   \\_/\\_/   |_____/  |_|     \\___|  \\__,_| |_| |_| |_|  \\___| |_|   \n                                                                                     \n* * Digital Audio Workstation with Python * *\n```\n\n![Supported Platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Windows%20%7C%20Linux-green)\n[![Test Badge](https://github.com/DBraun/DawDreamer/actions/workflows/all.yml/badge.svg)](https://github.com/DBraun/DawDreamer/actions/workflows/all.yml)\n[![PyPI version fury.io](https://badge.fury.io/py/ansicolortags.svg)](https://pypi.python.org/pypi/dawdreamer/)\n[![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/DBraun/DawDreamer/blob/main/LICENSE)\n![GitHub Repo stars](https://img.shields.io/github/stars/DBraun/DawDreamer?style=social)\n[![Generic badge](https://img.shields.io/badge/Documentation-passing-brightgreen.svg)](https://dirt.design/DawDreamer/)\n\n# DawDreamer\n\nRead the [introduction](https://arxiv.org/abs/2111.09931) to DawDreamer, which was presented as a Late-Breaking Demo at the [2021 ISMIR Conference](https://ismir2021.ismir.net/lbd/).\n\nDawDreamer is an audio-processing Python framework supporting core [DAW](https://en.wikipedia.org/wiki/Digital_audio_workstation) features and beyond:\n* Composing graphs of multi-channel audio processors\n* Audio playback\n* [VST instruments and effects](https://github.com/DBraun/DawDreamer/wiki/Plugin-Processor) (with UI editing and state loading/saving)\n* [FAUST](https://github.com/DBraun/DawDreamer/wiki/Faust-Processor) effects and polyphonic instruments\n* [Time-stretching and looping](https://github.com/DBraun/DawDreamer/wiki/Playback-Warp-Processor), optionally according to Ableton Live warp markers\n* [Pitch-warping](https://github.com/DBraun/DawDreamer/wiki/Playback-Warp-Processor)\n* Parameter automation at audio-rate and at pulses-per-quarter-note\n* Parameter automation saving in absolute audio-rate time\n* MIDI playback in absolute time and PPQN time\n* MIDI file export in absolute time\n* Rendering and saving multiple processors simultaneously\n* Support for the [Faust Box](https://github.com/DBraun/DawDreamer/tree/main/examples/Box_API) and Signal APIs\n* Transpiling Faust code to [JAX/Flax](https://github.com/DBraun/DawDreamer/tree/main/examples/Faust_to_JAX) and other target languages (C++, Rust, Wasm, etc.)\n* Machine learning experiments with [QDax](https://github.com/DBraun/DawDreamer/tree/main/examples/Faust_to_QDax)\n* [Multiprocessing support](https://github.com/DBraun/DawDreamer/tree/main/examples/multiprocessing_plugins)\n* Full support on macOS, Windows, Linux, Google Colab, and Ubuntu Dockerfile\n\nDawDreamer's foundation is [JUCE](https://github.com/julianstorer/JUCE), with a user-friendly Python interface thanks to [pybind11](https://github.com/pybind/pybind11). DawDreamer evolved from an earlier VSTi audio \"renderer\", [RenderMan](https://github.com/fedden/RenderMan).\n\n## Installation\n\nmacOS requirements:\n* 64-bit Python 3.9 or higher\n* macOS 11.0 or higher\n\nWindows requirements:\n* 64-bit Python 3.8 or higher\n\nLinux requirements:\n* 64-bit Python 3.8 or higher\n\nInstall with [PyPI](https://pypi.org/project/dawdreamer/):\n\n`pip install dawdreamer`\n\n## API Documentation\n\n[https://dirt.design/DawDreamer/](https://dirt.design/DawDreamer/dawdreamer.html)\n\n## Basic Example\n\nUsing Faust, let's make a stereo sine-tone at 440 Hz and -6 dB. You can run this code as-is.\n\n```python\nimport dawdreamer as daw\nfrom scipy.io import wavfile\nSAMPLE_RATE = 44100\nengine = daw.RenderEngine(SAMPLE_RATE, 512)  # 512 block size\nfaust_processor = engine.make_faust_processor(\"faust\")\nfaust_processor.set_dsp_string(\n    \"\"\"\n    declare name \"MySine\";\n    freq = hslider(\"freq\", 440, 0, 20000, 0);\n    gain = hslider(\"vol[unit:dB]\", 0, -120, 20, 0) : ba.db2linear;\n    process = freq : os.osc : _*gain <: si.bus(2);\n    \"\"\"\n    )\nprint(faust_processor.get_parameters_description())\nengine.load_graph([\n                   (faust_processor, [])\n])\nfaust_processor.set_parameter(\"/MySine/freq\", 440.)  # 440 Hz\nfaust_processor.set_parameter(\"/MySine/vol\", -6.)  # -6 dB volume\n\nengine.set_bpm(120.)\nengine.render(4., beats=True)  # render 4 beats.\naudio = engine.get_audio()  # shaped (2, N samples)\nwavfile.write('sine_demo.wav', SAMPLE_RATE, audio.transpose())\n\n# Change settings and re-render\nfaust_processor.set_parameter(\"/MySine/freq\", 880.)  # 880 Hz\nengine.render(4., beats=True)\n# and so on...\n```\n\nNext, let's make a graph with a VST instrument and effect. This graph will be simple, but you can make more complicated ones.\n\n```python\nimport dawdreamer as daw\nfrom scipy.io import wavfile\nSAMPLE_RATE = 44100\nINSTRUMENT_PATH = \"path/to/instrument.dll\"\nEFFECT_PATH = \"path/to/effect.dll\"\n\nengine = daw.RenderEngine(SAMPLE_RATE, 512)\nengine.set_bpm(120.)\n\nsynth = engine.make_plugin_processor(\"synth\", INSTRUMENT_PATH)\nprint('inputs:', synth.get_num_input_channels())\nprint('outputs:', synth.get_num_output_channels())\nprint(synth.get_parameters_description())\n\nsynth.set_parameter(7, .1234)\n\n# (MIDI note, velocity, start sec, duration sec)\nsynth.add_midi_note(60, 100, 0.0, 2.)\n\neffect = engine.make_plugin_processor(\"effect\", EFFECT_PATH)\n\nengine.load_graph([\n  (synth, []),\n  (effect, [synth.get_name()])  # effect needs 2 channels, and \"synth\" provides those 2.\n  ])\n\nengine.render(4.)  # render 4 seconds.\naudio = engine.get_audio()\nwavfile.write('synth_demo.wav', SAMPLE_RATE, audio.transpose())\nsynth.clear_midi()\n# add midi again, render again, and so on...\n```\n\nPlease refer to the [Wiki](https://github.com/DBraun/DawDreamer/wiki), [examples](https://github.com/DBraun/DawDreamer/tree/main/examples/), [API documentation](https://dirt.design/DawDreamer), and [tests](https://github.com/DBraun/DawDreamer/tree/main/tests). \n\n## License\n\nDawDreamer is licensed under GPLv3 to make it easier to comply with all of the dependent projects. If you use DawDreamer, you must obey the licenses of [JUCE](https://github.com/juce-framework/JUCE/), [pybind11](https://github.com/pybind/pybind11/), [Libsamplerate](https://github.com/libsndfile/libsamplerate), [Rubber Band Library](https://github.com/breakfastquay/rubberband/), [Steinberg VST2/3](https://www.steinberg.net/vst-instruments/), and [FAUST](https://github.com/grame-cncm/faust).\n\n## Thanks to contributors to the original [RenderMan](https://github.com/fedden/RenderMan)\n* [fedden](https://github.com/fedden), RenderMan creator\n* [jgefele](https://github.com/jgefele)\n* [harritaylor](https://github.com/harritaylor)\n* [cannoneyed](https://github.com/cannoneyed/)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "An audio-processing Python library supporting core DAW features",
    "version": "0.8.3",
    "project_urls": {
        "Documentation": "https://dirt.design/DawDreamer",
        "Homepage": "https://github.com/DBraun/DawDreamer",
        "Source": "https://github.com/DBraun/DawDreamer"
    },
    "split_keywords": [
        "audio",
        "music",
        "sound"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "15aa61fb5f655c355528e4a48259a355c3dfcf6b086e2d72c200a0d357841256",
                "md5": "6fdfb743fdee45c5df8cdbb4fc42392f",
                "sha256": "4115817dd7b76a2caabe8d5e7ea5e55752cd69f1a279929e46c72fe6f0a30e21"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp310-cp310-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "6fdfb743fdee45c5df8cdbb4fc42392f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 30712288,
            "upload_time": "2024-09-09T14:31:06",
            "upload_time_iso_8601": "2024-09-09T14:31:06.918660Z",
            "url": "https://files.pythonhosted.org/packages/15/aa/61fb5f655c355528e4a48259a355c3dfcf6b086e2d72c200a0d357841256/dawdreamer-0.8.3-cp310-cp310-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9929ae4319bd48a6786d2d124a101f333e378b8666c82adf5e20707636cc3746",
                "md5": "fe885a0835c19503b3993225d25b7709",
                "sha256": "bc3b72e40d62a9db2e3902e3e03831c362269525736c07757e01cfd731f662a9"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp310-cp310-macosx_12_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fe885a0835c19503b3993225d25b7709",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 33087357,
            "upload_time": "2024-09-09T14:31:10",
            "upload_time_iso_8601": "2024-09-09T14:31:10.802724Z",
            "url": "https://files.pythonhosted.org/packages/99/29/ae4319bd48a6786d2d124a101f333e378b8666c82adf5e20707636cc3746/dawdreamer-0.8.3-cp310-cp310-macosx_12_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f4e18e3072a7d4fb78a1e69bdf1cb00a0e181aefffa08d4e08b394a05b1e6fe",
                "md5": "78f169f9f2907177064500fe4fb09e1e",
                "sha256": "a5a1e0c4798e4794f7f2a9f7b53ea28def9a2ab84f7e050ff798d9462ebc66c2"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "78f169f9f2907177064500fe4fb09e1e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 40684375,
            "upload_time": "2024-09-09T14:31:15",
            "upload_time_iso_8601": "2024-09-09T14:31:15.353507Z",
            "url": "https://files.pythonhosted.org/packages/3f/4e/18e3072a7d4fb78a1e69bdf1cb00a0e181aefffa08d4e08b394a05b1e6fe/dawdreamer-0.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9b5e01fe914c116a5d735c17fa9c9d49fcc01aafdf6019f82ac4a9f64dc1ff6",
                "md5": "a559cd9d0379a35ab27a8c467690d0cb",
                "sha256": "8e5b17d48522acda643129266f9ab21d791ed832802a217a74e06bbaa0e3c00a"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a559cd9d0379a35ab27a8c467690d0cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 30905369,
            "upload_time": "2024-09-09T14:31:19",
            "upload_time_iso_8601": "2024-09-09T14:31:19.677491Z",
            "url": "https://files.pythonhosted.org/packages/f9/b5/e01fe914c116a5d735c17fa9c9d49fcc01aafdf6019f82ac4a9f64dc1ff6/dawdreamer-0.8.3-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57de6809aaa312e7fc8f78e9c417ce1125500265df8304040bb72af75a3a4bd6",
                "md5": "08980e75fcfb7a64738c1f4111000cdb",
                "sha256": "2aa66a90f44cd1c3e174f641c16a1dd5952dcb1caa8d01a0c00188c343d19297"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp311-cp311-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "08980e75fcfb7a64738c1f4111000cdb",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 30715916,
            "upload_time": "2024-09-09T14:31:23",
            "upload_time_iso_8601": "2024-09-09T14:31:23.290760Z",
            "url": "https://files.pythonhosted.org/packages/57/de/6809aaa312e7fc8f78e9c417ce1125500265df8304040bb72af75a3a4bd6/dawdreamer-0.8.3-cp311-cp311-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a06a1159d712c92cb0e98cec868d0948597edac66b6912fd1f6c118a5aaa7d41",
                "md5": "d21f6c0f28def0a54cb7571853c2611e",
                "sha256": "6388046df12a83e4b5630143cebf26ff907957886ba13624c3c2c8bed274b7f5"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp311-cp311-macosx_12_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d21f6c0f28def0a54cb7571853c2611e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 33087583,
            "upload_time": "2024-09-09T14:31:26",
            "upload_time_iso_8601": "2024-09-09T14:31:26.959536Z",
            "url": "https://files.pythonhosted.org/packages/a0/6a/1159d712c92cb0e98cec868d0948597edac66b6912fd1f6c118a5aaa7d41/dawdreamer-0.8.3-cp311-cp311-macosx_12_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e549a737b119a3cd59260b571c52d522af8dc6914c97355d1f80eb1d1fd49358",
                "md5": "696c47d54eaee46cf97211f0ab6471c7",
                "sha256": "dc7b90ee5c149e5a6f9333a347a1380ab2e2985cca96aeafa7ab68f7759280f1"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "696c47d54eaee46cf97211f0ab6471c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 40688306,
            "upload_time": "2024-09-09T14:31:31",
            "upload_time_iso_8601": "2024-09-09T14:31:31.072765Z",
            "url": "https://files.pythonhosted.org/packages/e5/49/a737b119a3cd59260b571c52d522af8dc6914c97355d1f80eb1d1fd49358/dawdreamer-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33ccb32cd99d168a44cc4bcc42927329f33f3a9341149ab52b7d9196f5e7038f",
                "md5": "0b9761fea6fbecc20c8f4b967a296b7d",
                "sha256": "f603f96e110b1d581f108a3d5f62a09a56cb963bf7f84a0dbbf717e108a5b2a6"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0b9761fea6fbecc20c8f4b967a296b7d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 30906080,
            "upload_time": "2024-09-09T14:31:34",
            "upload_time_iso_8601": "2024-09-09T14:31:34.925498Z",
            "url": "https://files.pythonhosted.org/packages/33/cc/b32cd99d168a44cc4bcc42927329f33f3a9341149ab52b7d9196f5e7038f/dawdreamer-0.8.3-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "326cea9d3160e7fbdb8666bedbd2dcf8443df1cb57b117d99c94fe421f13f1a7",
                "md5": "406bc1420c44046081b9958dde78659d",
                "sha256": "c04dd967411a2a7eaf9808349b0fdaa718557303b7ce62d28c2456b678bfee14"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp312-cp312-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "406bc1420c44046081b9958dde78659d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 30718095,
            "upload_time": "2024-09-09T14:31:38",
            "upload_time_iso_8601": "2024-09-09T14:31:38.923168Z",
            "url": "https://files.pythonhosted.org/packages/32/6c/ea9d3160e7fbdb8666bedbd2dcf8443df1cb57b117d99c94fe421f13f1a7/dawdreamer-0.8.3-cp312-cp312-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4dd216aba9fee64aeb2e025cb572470c7b75a1c26ae84f4c7b2d56a43f9799d1",
                "md5": "0d5fa335266a52b7741ca00c03ed2791",
                "sha256": "ddf6d8824a7d038e947be5a951f10695adb77194b03e876e059434644bff239a"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp312-cp312-macosx_12_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0d5fa335266a52b7741ca00c03ed2791",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 33103949,
            "upload_time": "2024-09-09T14:31:43",
            "upload_time_iso_8601": "2024-09-09T14:31:43.030369Z",
            "url": "https://files.pythonhosted.org/packages/4d/d2/16aba9fee64aeb2e025cb572470c7b75a1c26ae84f4c7b2d56a43f9799d1/dawdreamer-0.8.3-cp312-cp312-macosx_12_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c2eb0df1d2c82048e1b02320f2fe9f5f0ad93565ff48102a36bf2e2dedc68788",
                "md5": "93881ea6952156345a11c0b444fadadd",
                "sha256": "1d021076af78be70dae925ccddece56f1e5d021fda7dfb02ed6e706aac18b865"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "93881ea6952156345a11c0b444fadadd",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 40683589,
            "upload_time": "2024-09-09T14:31:47",
            "upload_time_iso_8601": "2024-09-09T14:31:47.569051Z",
            "url": "https://files.pythonhosted.org/packages/c2/eb/0df1d2c82048e1b02320f2fe9f5f0ad93565ff48102a36bf2e2dedc68788/dawdreamer-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cdb8c2b761c6cdae3b25bb6b5ed2f2dcbe18c3f9fe58d3efea041d4147e63689",
                "md5": "765152c076f5473ecf3407bfafc18b17",
                "sha256": "b4eff365bf40f373406279c88728c8545b9a3cbd8b1e6ba29458dc4964e90e2c"
            },
            "downloads": -1,
            "filename": "dawdreamer-0.8.3-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "765152c076f5473ecf3407bfafc18b17",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 30906925,
            "upload_time": "2024-09-09T14:31:51",
            "upload_time_iso_8601": "2024-09-09T14:31:51.848660Z",
            "url": "https://files.pythonhosted.org/packages/cd/b8/c2b761c6cdae3b25bb6b5ed2f2dcbe18c3f9fe58d3efea041d4147e63689/dawdreamer-0.8.3-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-09 14:31:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "DBraun",
    "github_project": "DawDreamer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dawdreamer"
}
        
Elapsed time: 0.29460s