Git Product home page Git Product logo

kaushal1011 / s3_smart_sampling_synthesiser Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 1.0 29.45 MB

An additive synthesiser that generates wavetable from an input sample by using linear regression to find weights of harmonics. Currently being developed in Python (Pyo, PyQt5, wxpython). Working to update this to a web-based sound synth! .

License: BSD 3-Clause "New" or "Revised" License

Python 82.37% Jupyter Notebook 17.63%
synthesiser python3 sound machine-learning additive-synthesis subtractive-synthesis harmonics frequency hacktoberfest javascript

s3_smart_sampling_synthesiser's Introduction

S3_Smart_Sampling_Synthesiser

Update

I am facing some problems running this project after updating versions on certains modules and it will be soon be revamped. I still plan to use the base concept but I'll see.

Join if you're interested in working on a sound synthesiser app based on the webaudio api!

I am working towards the following on branch update_v2 (issue #20 #19):

  • Update the app and bring it on the web.
  • Port app to JS on webaudio api and newer gui interface.
  • Rethink the base additive synthesis algorithm to something more robust and fun to work with!

Central Repository of the S3 (Hopefully a vst soon) Smart Sampling Synthesiser

An additive synthesiser that generates wavetable from an input sample by using linear regression to find weights of harmonics. Currently being developed in Python (Pyo, PyQt5, wxpython). In Future JUCE C++ or Rust looks a good option

Collaborators

To run the code

python3 S3SynthMain.py

how to use:

  1. Enter the name of the file from which you want to load wave profile.
  2. Select the samples for which you want to train the file.
  3. input a frequency that matches the pitch by selecting frequency from the output of program
  4. upon entering frequency, the synthesiser will start.
  5. start the server(make sure you have pyo installed), custommise parameter of envelope, oscillators, filter, and other effects.
  6. play notes using the gui keyboard which pops up, you can also use computer keyboard to play once you have selected the keyboard window.(Make sure you have wxpython installed.use conda for easy installation)
  7. change sound using synthesiser interface according to your needs.

Note :

  1. Help regarding fucntions and classes can be found in help.md/help.pdf
  2. theoritical information can be found in theory

Interface

Interface

Results

Results

Internal Routing

Routing

s3_smart_sampling_synthesiser's People

Contributors

dependabot[bot] avatar dhruvildave avatar kaushal1011 avatar pracheejaviya1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dhruvildave

s3_smart_sampling_synthesiser's Issues

Updating app to webapp interface

  • find a comfortable webapp framework for which gui is easy to create
  • start work on new branch with electron js.
  • add wadjs as dependency and test basic functionality
  • add more tasks

Creating new interface for the plugin using web based tech stack

  • Explore web audio-based frameworks such as:-

  • Explore web-based frameworks that can be used to create UI for the application's V2.

  • Come up with a newer web-based app design for the newer update of the smart sampling-based synthesizer. Design Doc

  • Start with the web app boilerplate code.

  • Add basic features of a music synthesiser

  • start working on newer transform logic (Should LinReg be used, is FFT a better choice?) for audio input and conversion to additive synthesis

Regarding hacktoberfest contribution

Please feel free to discuss here if you're interested ! the project is quite complex and i would appreciate if we are on the same page for development! there isnt any roadmap as such but if you have any feature you want to work on or port the project to a different framework! I'd be happy to work with you !

Distortion when playing midi when multiple(4+) notes played together and skipping notes

Describe the bug
Sound Distorts unpleasantly when midi_play plays midi sound when multiple notes (more than 4) are played at a time. Also when playing a midi file the player skips some notes, goes out of sync.

To Reproduce
Steps to reproduce the behavior:

  1. start server
  2. type "play_midi("Samples/midi/Bth-furelise.mid")" in interpreter text box of pyo and press enter.

Expected behavior
Some minor note skips, out of time playing and distortion at some/many places happen. This shouldnt have happened.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows10, POP_OS!

Additional context
great work on the midi_playing function. xD

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.