A GPU-optional modular synthesizer in pytorch, 16200x faster than realtime, for audio ML researchers.

Overview

torchsynth

The fastest synth in the universe.

Introduction

torchsynth is based upon traditional modular synthesis written in pytorch. It is GPU-optional and differentiable.

Most synthesizers are fast in terms of latency. torchsynth is fast in terms of throughput. It synthesizes audio 16200x faster than realtime (714MHz) on a single GPU. This is of particular interest to audio ML researchers seeking large training corpora.

Additionally, all synthesized audio is returned with the underlying latent parameters used for generating the corresponding audio. This is useful for multi-modal training regimes.

Installation

pip3 install torchsynth

Note that torchsynth requires PyTorch version 1.8 or greater.

Listen

If you'd like to hear torchsynth, check out synth1K1, a dataset of 1024 4-second sounds rendered from the Voice synthesizer, or listen on SoundCloud.

Citation

If you use this work in your research, please cite:

@inproceedings{turian2021torchsynth,
	title        = {One Billion Audio Sounds from {GPU}-enabled Modular Synthesis},
	author       = {Joseph Turian and Jordie Shier and George Tzanetakis and Kirk McNally and Max Henry},
	year         = 2021,
	month        = Sep,
	booktitle    = {Proceedings of the 23rd International Conference on Digital Audio Effects (DAFx2020)},
	location     = {Vienna, Austria}
}
Comments
  • Device modifications

    Device modifications

    Some updates to make sure things are on the correct device.

    Things I learned while doing this -- having 0d tensors on the GPU does not necessarily lead to a speed up. I think creating a scalar tensor on the GPU is slower than just using a native Number type for most operations and comparisons. Especially if those tensors are different dtypes. Having parameter ranges on the GPU did not improve performance and actually resulted in worse performance (~ 15ms on batch size of 64) . Same with have the buffer size and batch size on the GPU. Having sample rate as a float did help a little bit though. Some of the assertions are slow. Especially the one I marked in the Parameters.

    opened by jorshi 8
  • Updating torch.range to torch.arange

    Updating torch.range to torch.arange

    torch.range is now deprecated and should be replaced with torch.arange, which is consistent with pythons built-in range. torch.range also was producing errors with high-valued ranges, see #377

    Merge #380 into this first.

    opened by jorshi 7
  • fixed buffer_size for renders

    fixed buffer_size for renders

    Introducing buffer_size, which is also a global default BUFFER_SIZE.

    Now SynthModule and TorchSynthModule have this property, and a method to_buffer_size(). I've placed this at the return for every foward/call:

    def forward # or npyforward...
      # ...
      out_ = # previous output
      return self.to_buffer_size(out_)
    

    There might be a cleaner way of doing this, like making a "pre-forward" method, and then having "forward" always be: return self.to_buffer_size(self.pre_forward) or some such thing, but that seems confusing and over-engineered.

    I fixed up all of module.py, and adapted all of torchmodule.py that currently exists.

    Lmk.

    opened by maxsolomonhenry 7
  • Torch ADSR + SineVCO

    Torch ADSR + SineVCO

    This PR is diff'ed against #37 for better understanding.

    In this PR, I am converting ADSR and SineVCO to torch. I make sure that torch and numpy modules give the same values on forward. Gradients are computed in example.py but not in unit tests. Why are we getting nan gradient for alpha?

    There's a lot to hate in this port.

    ~~In general, before we address the nitty-gritty (below), I think the biggest issue to consider is that I don't know if standard ADSR will be differentiable on the adsr parameters, since it involves a lot of discontinuities and padding. I think we have two options~~ ~~1) don't make anything differentiable and just focus on rendering speed. this is quite lame, of course~~ ~~2) work on the subproblem of just creating a differentiable ADSR. ignore our complicated abstractions for now, and just focus on differentiable ADSR, maybe to minimize a simple l2 distance. maybe we have to use splines?~~

    Update: It turns out I can differentiate through ADSR parameters? Except alpha which is nan. Why? Check out example.py

    Here's some TODO:

    • examples.py should have a torch section doing the exact thing as above, but with the torch versions.
    • Internally, we want to be storing all nn.Parameter in the 0/1 range, not the human readable range. Since that is what will be used for backprop.
    • The modparameter abstraction needs to be cleaned up, since each nn.Parameter stores its own value. I think the cleanest thing is a TorchModParameter which inherits from nn.Parameter but adds some helper methods around it.
    • torch.linspace doesn't have an endpoint param.
    • gradients should be a unit test
    opened by turian 7
  • Randomize modparameter

    Randomize modparameter

    This allows you to create randomized parameters for the synth. I'd like this for unit-testing numpy vs torch.

    Depends upon #33

    What's weird is that the note_on_duration is sometimes disregarded and you get like 16 second samples. Is this because of the one-hit thing @maxsolomonhenry ? That seems like a problem to me. You should be able to hillclimb the synth by setting random params to try to get a similar audio of the same duration :\

    opened by turian 6
  • added convenience import

    added convenience import

    You can take this or leave it. I've been exploring a bit the python package structure.

    in essence, this allows for the example.py import:

    from ddspdrum.module import ADSR # etc...

    to become:

    from ddrpdrum import ADSR # etc...

    opened by maxsolomonhenry 6
  • SynthConfig as non-Tensors

    SynthConfig as non-Tensors

    https://github.com/turian/torchsynth/pull/267https://github.com/turian/torchsynth/pull/267 should be merged first for a smaller diff

    I am trying to simplify the synth configuration, and it will be a sequence of linear PRs. Here is one that turns most of the configs back into Python native values.

    @jorshi can you profile quickly to make sure this is okay before we merge?

    opened by turian 5
  • Fm vco

    Fm vco

    Made FmVCO class, which basically has to process the modulation signal in a slightly different way. Typically the mod signal is applied in midi-space (log frequency), but FM operates on modulations in Hz space. Also changed the modulation depth to reflect the classic 'modulation index' of FM literature. It's a bit more intuitive this way.

    Had to slightly refactor VCO to make this smooth.

    Note, this is only work on the numpy modules. torchmodule.py would have to be updated accordingly.

    opened by maxsolomonhenry 5
  • TorchParameter

    TorchParameter

    Parameters for TorchSynthModules that have an internal range from 0 to 1 and can hold a ParameterRange object to convert to and from a user specified range

    opened by jorshi 5
  • Profiling script

    Profiling script

    Not sure if we want to include this, but this has been mega helpful for me in profiling. Also used this with line profiler to look at line-by-line profiles https://github.com/pyutils/line_profiler

    opened by jorshi 4
  • Reproducibility Issue

    Reproducibility Issue

    If you received an Error or Warning regarding reproducibility while using torchsynth please leave a comment here with details about your CPU architecture and what random results you got.

    opened by jorshi 4
  • [Snyk] Fix for 2 vulnerabilities

    [Snyk] Fix for 2 vulnerabilities

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • docs/requirements.txt
    ⚠️ Warning
    unofficial-pt-lightning-sphinx-theme 0.0.27.4 requires sphinx, which is not installed.
    sphinx-rtd-theme 1.1.1 requires sphinx, which is not installed.
    librosa 0.7.2 requires scikit-learn, which is not installed.
    librosa 0.7.2 requires resampy, which is not installed.
    librosa 0.7.2 requires numba, which is not installed.
    ipython 5.10.0 requires pygments, which is not installed.
    ipython 5.10.0 requires simplegeneric, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 551/1000
    Why? Recently disclosed, Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-SETUPTOOLS-3180412 | setuptools:
    39.0.1 -> 65.5.1
    | No | No Known Exploit medium severity | 551/1000
    Why? Recently disclosed, Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-WHEEL-3180413 | wheel:
    0.30.0 -> 0.38.0
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Regular Expression Denial of Service (ReDoS) 🦉 Regular Expression Denial of Service (ReDoS)

    opened by turian 1
  • [Snyk] Fix for 2 vulnerabilities

    [Snyk] Fix for 2 vulnerabilities

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • requirements.txt
    ⚠️ Warning
    unofficial-pt-lightning-sphinx-theme 0.0.27.4 requires sphinx, which is not installed.
    sphinx-rtd-theme 1.1.1 requires sphinx, which is not installed.
    librosa 0.7.2 requires scikit-learn, which is not installed.
    librosa 0.7.2 requires resampy, which is not installed.
    librosa 0.7.2 requires numba, which is not installed.
    ipython 5.10.0 requires pygments, which is not installed.
    ipython 5.10.0 requires simplegeneric, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 551/1000
    Why? Recently disclosed, Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-SETUPTOOLS-3180412 | setuptools:
    39.0.1 -> 65.5.1
    | No | No Known Exploit medium severity | 551/1000
    Why? Recently disclosed, Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-WHEEL-3180413 | wheel:
    0.30.0 -> 0.38.0
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Regular Expression Denial of Service (ReDoS) 🦉 Regular Expression Denial of Service (ReDoS)

    opened by turian 1
  • Bump black from 22.6.0 to 22.12.0

    Bump black from 22.6.0 to 22.12.0

    Bumps black from 22.6.0 to 22.12.0.

    Release notes

    Sourced from black's releases.

    22.12.0

    Preview style

    • Enforce empty lines before classes and functions with sticky leading comments (#3302)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

    Configuration

    • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
    • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

    Parser

    • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

    Integrations

    • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)

    22.10.0

    Highlights

    • Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be supported until further notice.

    Stable style

    • Fix a crash when # fmt: on is used on a different block level than # fmt: off (#3281)

    Preview style

    ... (truncated)

    Changelog

    Sourced from black's changelog.

    22.12.0

    Preview style

    • Enforce empty lines before classes and functions with sticky leading comments (#3302)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

    Configuration

    • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
    • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

    Parser

    • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

    Integrations

    • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)

    22.10.0

    Highlights

    • Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be supported until further notice.

    Stable style

    • Fix a crash when # fmt: on is used on a different block level than # fmt: off (#3281)

    ... (truncated)

    Commits
    • 2ddea29 Prepare release 22.12.0 (#3413)
    • 5b1443a release: skip bad macos wheels for now (#3411)
    • 9ace064 Bump peter-evans/find-comment from 2.0.1 to 2.1.0 (#3404)
    • 19c5fe4 Fix CI with latest flake8-bugbear (#3412)
    • d4a8564 Bump sphinx-copybutton from 0.5.0 to 0.5.1 in /docs (#3390)
    • 2793249 Wordsmith current_style.md (#3383)
    • d97b789 Remove whitespaces of whitespace-only files (#3348)
    • c23a5c1 Clarify that Black runs with --safe by default (#3378)
    • 8091b25 Correctly handle trailing commas that are inside a line's leading non-nested ...
    • ffaaf48 Compare each .gitignore found with an appropiate relative path (#3338)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Snyk] Security upgrade protobuf from 3.20.1 to 3.20.2

    [Snyk] Security upgrade protobuf from 3.20.1 to 3.20.2

    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • docs/requirements.txt
    ⚠️ Warning
    unofficial-pt-lightning-sphinx-theme 0.0.27.4 requires sphinx, which is not installed.
    sphinx-rtd-theme 1.1.1 requires sphinx, which is not installed.
    librosa 0.7.2 requires scikit-learn, which is not installed.
    librosa 0.7.2 requires resampy, which is not installed.
    librosa 0.7.2 requires numba, which is not installed.
    ipython 5.10.0 requires simplegeneric, which is not installed.
    ipython 5.10.0 requires pygments, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 499/1000
    Why? Has a fix available, CVSS 5.7 | Denial of Service (DoS)
    SNYK-PYTHON-PROTOBUF-3031740 | protobuf:
    3.20.1 -> 3.20.2
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

    opened by snyk-bot 1
  • [Snyk] Security upgrade protobuf from 3.20.1 to 3.20.2

    [Snyk] Security upgrade protobuf from 3.20.1 to 3.20.2

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • requirements.txt
    ⚠️ Warning
    unofficial-pt-lightning-sphinx-theme 0.0.27.4 requires sphinx, which is not installed.
    sphinx-rtd-theme 1.1.1 requires sphinx, which is not installed.
    librosa 0.7.2 requires scikit-learn, which is not installed.
    librosa 0.7.2 requires resampy, which is not installed.
    librosa 0.7.2 requires numba, which is not installed.
    ipython 5.10.0 requires simplegeneric, which is not installed.
    ipython 5.10.0 requires pygments, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 499/1000
    Why? Has a fix available, CVSS 5.7 | Denial of Service (DoS)
    SNYK-PYTHON-PROTOBUF-3031740 | protobuf:
    3.20.1 -> 3.20.2
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

    opened by turian 1
  • [Snyk] Fix for 2 vulnerabilities

    [Snyk] Fix for 2 vulnerabilities

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • docs/requirements.txt
    ⚠️ Warning
    unofficial-pt-lightning-sphinx-theme 0.0.27.4 requires sphinx, which is not installed.
    sphinx-rtd-theme 1.1.1 requires sphinx, which is not installed.
    scipy 1.2.3 requires numpy, which is not installed.
    pytest-cov 2.12.1 requires coverage, which is not installed.
    matplotlib 2.2.5 requires numpy, which is not installed.
    librosa 0.7.2 requires numpy, which is not installed.
    librosa 0.7.2 requires scikit-learn, which is not installed.
    librosa 0.7.2 requires resampy, which is not installed.
    librosa 0.7.2 requires numba, which is not installed.
    ipython 5.10.0 requires simplegeneric, which is not installed.
    ipython 5.10.0 requires pygments, which is not installed.
    
    

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- low severity | 441/1000
    Why? Recently disclosed, Has a fix available, CVSS 3.1 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-SETUPTOOLS-3113904 | setuptools:
    39.0.1 -> 65.5.1
    | No | No Known Exploit medium severity | 551/1000
    Why? Recently disclosed, Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-WHEEL-3092128 | wheel:
    0.30.0 -> 0.38.0
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Regular Expression Denial of Service (ReDoS) 🦉 Regular Expression Denial of Service (ReDoS)

    opened by turian 1
Releases(v1.0.2)
  • v1.0.2(Aug 19, 2022)

    This update includes some bug fixes and an update to the Signal class to enable checkpointing.

    What's Changed

    • Adding the drum nebula to docs by @jorshi in https://github.com/torchsynth/torchsynth/pull/374
    • Sphinx fixs by @turian in https://github.com/torchsynth/torchsynth/pull/379
    • Codecov Action Fix by @jorshi in https://github.com/torchsynth/torchsynth/pull/380
    • Updating torch.range to torch.arange by @jorshi in https://github.com/torchsynth/torchsynth/pull/378 - torch.range, which is deprecated, was producing incorrect values for larger batch_ids passed into a synth voice.
    • Fix floordiv by @turian in https://github.com/torchsynth/torchsynth/pull/382
    • Add new_empty to Signal by @turian in https://github.com/torchsynth/torchsynth/pull/384 - this enables deepcopy on torchsynth Signals and allows for checkpointing

    Full Changelog: https://github.com/torchsynth/torchsynth/compare/v1.0.1...v1.0.2

    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Jun 29, 2021)

  • v1.0.0(Apr 27, 2021)

    • All AbstractSynth now return multi-modal tuples: (audio batch, parameter batch, is_train batch)
    • Batch sizes that are multiples of 32 are now supported for any reproducible output. (128 is still the default.)
    • More detailed documentation, including documentation fix proposed by @daisukelab.
    • Default voice nebula added, as well as a drum nebula.
    • modulation signal input on VCO and LFO is now optional
    Source code(tar.gz)
    Source code(zip)
  • v0.9.2(Apr 13, 2021)

  • v0.9.1(Apr 11, 2021)

Owner
torchsynth
The fastest synthesizer in the universe
torchsynth
Tacotron 2 - PyTorch implementation with faster-than-realtime inference

Tacotron 2 (without wavenet) PyTorch implementation of Natural TTS Synthesis By Conditioning Wavenet On Mel Spectrogram Predictions. This implementati

NVIDIA Corporation 4.1k Jan 3, 2023
A faster pytorch implementation of faster r-cnn

A Faster Pytorch Implementation of Faster R-CNN Write at the beginning [05/29/2020] This repo was initaited about two years ago, developed as the firs

Jianwei Yang 7.1k Jan 1, 2023
PyTorch implementation of the Quasi-Recurrent Neural Network - up to 16 times faster than NVIDIA's cuDNN LSTM

Quasi-Recurrent Neural Network (QRNN) for PyTorch Updated to support multi-GPU environments via DataParallel - see the the multigpu_dataparallel.py ex

Salesforce 1.3k Dec 28, 2022
Official implementation of the RAVE model: a Realtime Audio Variational autoEncoder

RAVE: Realtime Audio Variational autoEncoder Official implementation of RAVE: A variational autoencoder for fast and high-quality neural audio synthes

ACIDS 587 Jan 1, 2023
Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation. Intel iHD GPU (iGPU) support. NVIDIA GPU (dGPU) support.

mtomo Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation.

Katsuya Hyodo 24 Mar 2, 2022
High performance Cross-platform Inference-engine, you could run Anakin on x86-cpu,arm, nv-gpu, amd-gpu,bitmain and cambricon devices.

Anakin2.0 Welcome to the Anakin GitHub. Anakin is a cross-platform, high-performance inference engine, which is originally developed by Baidu engineer

null 514 Dec 28, 2022
GrabGpu_py: a scripts for grab gpu when gpu is free

GrabGpu_py a scripts for grab gpu when gpu is free. WaitCondition: gpu_memory >

tianyuluan 3 Jun 18, 2022
A PyTorch-based open-source framework that provides methods for improving the weakly annotated data and allows researchers to efficiently develop and compare their own methods.

Knodle (Knowledge-supervised Deep Learning Framework) - a new framework for weak supervision with neural networks. It provides a modularization for se

null 93 Nov 6, 2022
A numpy-based implementation of RANSAC for fundamental matrix and homography estimation. The degeneracy updating and local optimization components are included and optional.

Description A numpy-based implementation of RANSAC for fundamental matrix and homography estimation. The degeneracy updating and local optimization co

AoxiangFan 9 Nov 10, 2022
PyTorch Implementation of Realtime Multi-Person Pose Estimation project.

PyTorch Realtime Multi-Person Pose Estimation This is a pytorch version of Realtime_Multi-Person_Pose_Estimation, origin code is here Realtime_Multi-P

Dave Fang 157 Nov 12, 2022
Realtime micro-expression recognition using OpenCV and PyTorch

Micro-expression Recognition Realtime micro-expression recognition from scratch using OpenCV and PyTorch Try it out with a webcam or video using the e

Irfan 35 Dec 5, 2022
Toolbox of models, callbacks, and datasets for AI/ML researchers.

Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch Website • Installation • Main

Pytorch Lightning 1.4k Dec 30, 2022
ElegantRL is featured with lightweight, efficient and stable, for researchers and practitioners.

Lightweight, efficient and stable implementations of deep reinforcement learning algorithms using PyTorch. ??

AI4Finance 2.5k Jan 8, 2023
Fedlearn支持前沿算法研发的Python工具库 | Fedlearn algorithm toolkit for researchers

FedLearn-algo Installation Development Environment Checklist python3 (3.6 or 3.7) is required. To configure and check the development environment is c

null 89 Nov 14, 2022
BisQue is a web-based platform designed to provide researchers with organizational and quantitative analysis tools for 5D image data. Users can extend BisQue by implementing containerized ML workflows.

Overview BisQue is a web-based platform specifically designed to provide researchers with organizational and quantitative analysis tools for up to 5D

Vision Research Lab @ UCSB 26 Nov 29, 2022
Rasterize with the least efforts for researchers.

utils3d Rasterize and do image-based 3D transforms with the least efforts for researchers. Based on numpy and OpenGL. It could be helpful when you wan

Ruicheng Wang 8 Dec 15, 2022
BYOL for Audio: Self-Supervised Learning for General-Purpose Audio Representation

BYOL for Audio: Self-Supervised Learning for General-Purpose Audio Representation This is a demo implementation of BYOL for Audio (BYOL-A), a self-sup

NTT Communication Science Laboratories 160 Jan 4, 2023
⚾🤖⚾ Automatic baseball pitching overlay in realtime

⚾ Automatically overlaying pitch motion and trajectory with machine learning! This project takes your baseball pitching clips and automatically genera

Tony Chou 240 Dec 5, 2022
git《USD-Seg:Learning Universal Shape Dictionary for Realtime Instance Segmentation》(2020) GitHub: [fig2]

USD-Seg This project is an implement of paper USD-Seg:Learning Universal Shape Dictionary for Realtime Instance Segmentation, based on FCOS detector f

Ruolin Ye 80 Nov 28, 2022