Code Monkey home page Code Monkey logo

midio's People

Stargazers

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

Watchers

 avatar  avatar  avatar

midio's Issues

Implement control panel

LFO

  • Knob -> Rate (frequency)
  • Knob -> Depth (gain of gainNode on lfoNode)
  • Slider -> Probability (0 - 100, 5% intervals)

Mood

  • Possible X/Y Input -> Scale
    • So abstract... this will be a challenge
    • Maybe dropdown
    • Changes background gradient perhaps
  • Knob -> Volume
    • Changes gainNode's gain

Control still needed:

  • Choosing main wave type
  • Choosing how many notes play
  • Choosing how many pad notes play vs. sharper notes vs. chords vs. arps

Try out multi-oscillator waves

  • Doublesine
  • Triplesine
  • Doublesquare
  • etc.

Do this by creating two oscillators instead of one for the oscillator class IFF you are a "multiosc" wave

Migrate license from MIT

  • Probably either All Rights Reserved or AGPL 3.0.
    • If ARR - maybe offer money for contributions?

Users shouldn't need a cache refresh to get updated JS/CSS

Expected Behavior

When a user comes to midio, they should always be served the freshest copy of "production ready" (or on master) javascript & css.

Actual Behavior

Users get cached JS or CSS sometimes, because I'm not setting any caching stuff on my end as far as I know. This would be through bluehost. Apparently I can use an .htaccess file... but I feel like that will be a lot of work.

Steps to Reproduce the Problem

  1. Load up midio
  2. Leave your session open for 2 days
  3. Load up midio again without a cache refresh
  4. Notice the old JS and CSS

Specifications

  • Midio Version: current
  • Operating System: Windows 10
  • Node Version: v0.10.25

midio doesn't have links to source code or evan's home page, and has a poor mobile experience in general

Expected Behavior

midio needs to link out to it's source code, and probably my home page in case people are curious about me or my projects. also the UI i set up currently was always meant to be a test UI and i can't believe it survived this long!

Actual Behavior

midio just plays music and gives you control of synthesizer properties.

Screenshots

midio looks like this at the time of creating this issue:
image

First draft of version 1 of the front end:
image

Specifications

  • Midio Version: current
  • Operating System: Windows 10
  • Node Version: v0.10.25

another easy seo suggestions

Expected Behavior

Your keywords "midio" generative and whatever else you want should be link text for links to midio from this github project.

Actual Behavior

The only link to the midio page has no link text.

Suggested Solution

Add your usual link text to the read me and project description.

Specifications

  • Midio Version:
  • Related Pull Request:

When users click the visualizer, they should be able to create melodies manually

Expected Behavior

Whenever I click I get the feeling that midio isn't "responsive" when really it's probably generating a melody centered around that note in the initial click. I should be able to create melodies by touching the visualizer multiple times.

This is also responsible for a lot of the "clicking not working" bugs I was finding. The clicking is working just fine, but melodies might take awhile to play out.

Actual Behavior

When I touch the visualizer, sometimes I don't see the note for like 3-5 seconds because it's part of a larger melody.

Steps to Reproduce the Problem

  1. Open up midio
  2. Click on the visualizer
  3. Notice how if you click a bunch, you'll get lots of contrasting melodies and nothing really coherent.

Screenshots

(none)

Specifications

  • Midio Version: current/master
  • Operating System: Windows 10
  • Node Version: v0.10.25

Hearing cracking/popping, and noticing CSS animation framerate drop after running midio for awhile

Expected Behavior

You'd never hear popping or crackling in the audio, and never notice a slowdown no matter how long you let midio run.

Actual Behavior

CRACK beautiful noises POPPLE POP POP gorgeous airy chord CRAAAAAAckckkckKCkkKKk

Solutions

  1. the <span>s that i'm creating for the piano key effects might not be getting cleaned up correctly? i am using .removeChild and not assigning it to a variable... so it should just go away. Maybe i could only allow X number of spans to be created??
  2. performance of many oscillators being created at a time with many filters each oscillator. i don't think this is the problem because if i load up midio and click a bunch it's fine and doesn't start clicking/crackling/slowing down til after a bunch of clicking. it's like the problem always takes around a minute to show up- and sometimes it never shows up at all.. .which leads me to my third theory
  3. some filter being applied to some oscillator at some volume level sometimes. this might be due to any number of calculations in the code for ADSR, pretty much anytime i'm doing any filter or gain adjustments on any filter or oscillator- which is kind of a lot. i believe this is my strongest lead.

Steps to Reproduce the Problem

  1. Load up midio
  2. Click a bunch
  3. Notice how you don't get crackling/popping/slow down all of the time
  4. Reload midio
  5. Let it run for 1-5 minutes
  6. See if you hear crackling

Screenshots

Specifications

  • Midio Version: current
  • Operating System: Windows 10
  • Node Version: v0.10.25

Ensure melodies can be recognized, probably with some kind of "short-term" memory

Expected Behavior

When I'm listening to midio, I expect certain melodies and chords to be "remembered" and played again later, perhaps with very small variants. This shouldn't happen all the time, but people should be able to recognize melodies.

Actual Behavior

I get lots of single shot, unrelated melodies.

Steps to Reproduce the Problem

  1. Start midio
  2. Hit F12 and go to developer console
  3. Watch for melodies being created
  4. Notice how melodies don't repeat or slightly change, there are just always net new melodies

Screenshots

(none)

Specifications

  • Midio Version: master/current
  • Operating System: Windows 10
  • Node Version: v0.10.25

Add Noise Waves (White, Brown, Pink)

Should this be a constant wave in the background being modified by the current LFO? that sounds like a cool toggle perhaps... But i'd also like to include noise waves in the mix of possible oscillators that the composer can pick from.

Create "Evolve" toggle

Make this turn on and off composer.

Gonna have to remove how composer turns off if you shut autoplay off now that it has it's own toggle.

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.