GithubHelp home page GithubHelp logo

gariscat / loopy Goto Github PK

View Code? Open in Web Editor NEW
22.0 2.0 4.0 1 MB

A data framework for music information retrieval focusing on electronic music.

License: GNU General Public License v3.0

Python 100.00%
music-information-retrieval data-synthesis

loopy's Introduction

logo

loopy

An infrastructure for music information retrieval focusing on electronic music, especially for data synthesis and annotation. Our home page is here. The paper is now under review by a multimedia venue. Essential components of this project (presets, samples) are available on Google Drive

P.S. Since the home page has expired, some demo are available on SoundCloud

Important facts

  1. To maintain the quality of sounds, we use high sample rate 44100 instead of 22050.
  2. For the same reason, we recommend using stereo wave (2D np.ndarray) instead of mono wave (1D).
  3. The mel-spectrogram should be rendered with sr=44100 instead of 22050 (the current version didn't specify this argument). This should be fixed asap.

loopy's People

Contributors

gariscat avatar

Stargazers

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

Watchers

 avatar  avatar

loopy's Issues

Generation with custom samples

Hi, first thank you for the amazing work, i herad thw sample you have on you demo page and it sounds really good.

I tried to run the file demo.py but i realized i was missing all the samples Ultrasonic-...-.wav, so i downloaded some other samples of the same instruments (leads, pads, kicks etc) and tried to run you code again changing the references.
But i get this error:

Traceback (most recent call last):
File "demo.py", line 223, in
track.save_audio(save_name=f'prog_{i}', target_dir='../renders')
File "C:\Users\tborghesi\Desktop\loopy-master\loopy\track.py", line 151, in save_audio
sf.write(target_path, self.render(gain), self._sr)
File "C:\Users\tborghesi\Desktop\loopy-master\loopy\track.py", line 122, in render
source_y=pattern.render(),
File "C:\Users\tborghesi\Desktop\loopy-master\loopy\pattern.py", line 120, in render
return self._channel(self._core.render())
File "C:\Users\tborghesi\Desktop\loopy-master\loopy\pattern.py", line 86, in render
note_y = note.render(bpm=self._bpm, sig=self._sig)
File "C:\Users\tborghesi\Desktop\loopy-master\loopy\generator.py", line 177, in render
return self._generator.render(
File "C:\Users\tborghesi\Desktop\loopy-master\loopy\generator.py", line 116, in render
ret = y * np.expand_dims(e, -1)
ValueError: operands could not be broadcast together with shapes (0,2) (15503,1)

This is due to the fact that my samples are apparently not long enough and when reading them through the parse function only the lists of the first pitches (from A0 to A1) gets filled and the other remains empty, and thus we have the (0,2) shape that gives us the error.

So i was wondering if the code is strongly bounded to the sample that are referenced or if making some simple tweaks i can try to generate with Loopy using custom samples.

And if you can could you please spend a some words explaining how do you go from the waveform of the samples to the generated piece? A simple high level overview is enough and highly appreciated of course, is just that the code is not that easy and understand exactly what is going on is not so immediate.

In any case thank you and have a nice day.

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.