Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AudioWorklet DSP Playground #389

Open
12 tasks done
Kizjkre opened this issue Jul 31, 2024 · 5 comments · May be fixed by #395
Open
12 tasks done

AudioWorklet DSP Playground #389

Kizjkre opened this issue Jul 31, 2024 · 5 comments · May be fixed by #395
Assignees
Labels
gsoc24 Google Summer of Code 2024

Comments

@Kizjkre
Copy link
Collaborator

Kizjkre commented Jul 31, 2024

AudioWorklet DSP Playground

Feature list

Necessary Features

  • Code editor
    • Monaco
  • Visualizer a la Canopy
  • Boilerplate templates/examples
  • Playback functionality
    • Realtime?
  • Export
    • Template
    • Just AudioWorklet

Nice to Haves

  • Export
    • WAV
    • Share button
      • Permalink
  • Console display
  • Virtual FS?
  • Web MIDI/MIDI controller support
  • GUI
    • Dials and knobs for variable input into the Audio Worklet

Tech Stack

Fully client-side

  • SvelteKit
    • Svelte 5
  • Vite
  • JavaScript

Considerations

  • How to evaluate code
    • eval
      • Audion support
      • Better performance (?)
    • <iframe>s
      • Sandboxed
  • Submodule
@Kizjkre Kizjkre added the gsoc24 Google Summer of Code 2024 label Jul 31, 2024
@Kizjkre
Copy link
Collaborator Author

Kizjkre commented Jul 31, 2024

Development here: https://github.com/Kizjkre/rainfly

@hoch hoch changed the title AudioWorklets IDE AudioWorklet DSP Playground Aug 5, 2024
@hoch
Copy link
Member

hoch commented Aug 5, 2024

@Kizjkre Why are we doing the development outside of this repository? I think we should consider creating a new directory for this project.

@terryzfeng
Copy link
Collaborator

Would putting this in it's own directory still allow having it's own package.json file? Or would it need to merge with the root-level one? I'm not super familiar...

@hoch
Copy link
Member

hoch commented Aug 7, 2024

I think that should be okay. Not sure how to include the top-level building process. (i.e. eleventy)

I believe we can figure out as we go, so let's unblock by iterating under the rainfly directory. :)

@terryzfeng
Copy link
Collaborator

New code execution contender: new Function(code, params) as opposed to eval. It looks like Canopy uses Function under the hood. Initial reading seems like eval is current/global scope, and Function creates a dedicated scope with explicit param passing

https://stackoverflow.com/questions/55074927/eval-vs-function-constructor
https://www.geeksforgeeks.org/eval-vs-function-in-javascript/

@terryzfeng terryzfeng linked a pull request Aug 25, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gsoc24 Google Summer of Code 2024
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants