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

Rust WebAudio for Tauri Desktop App #695

Draft
wants to merge 46 commits into
base: main
Choose a base branch
from

Conversation

vasilymilovidov
Copy link
Contributor

Figuring out rust webaudio api for Tauri

# Conflicts:
#	packages/desktopbridge/index.mjs
#	packages/desktopbridge/package.json
#	packages/desktopbridge/webaudiobridge.mjs
#	src-tauri/Cargo.lock
#	src-tauri/Cargo.toml
#	src-tauri/src/main.rs
#	src-tauri/src/webaudiobridge.rs
@vasilymilovidov
Copy link
Contributor Author

vasilymilovidov commented Sep 18, 2023

Moving along with webaudio for tauri.

What roughly works:

  • playing waveforms
  • playing samples from computer
  • downloading and buffering samples
  • sample speed and reverse
  • filters
  • gain and filter ADSR envelopes
  • begin, end, and functions that utilize them
  • loop, loopBegin, loopEnd
  • delay

@felixroos
Copy link
Collaborator

felixroos commented Sep 18, 2023

Interesting stuff! I wonder if it would make sense to build the rust part as wasm and use that on the web again :D
it might actually be faster as it will only use a single AudioWorklet, not sure though

@vasilymilovidov
Copy link
Contributor Author

Interesting stuff! I wonder if it would make sense to build the rust part as wasm and use that on the web again :D it might actually be faster as it will only use a single AudioWorklet, not sure though

as I understand it, this webaudio api rust library doesn't support wasm. so it would lead us to a crossroads of sound engines once again haha.

@vasilymilovidov
Copy link
Contributor Author

after finishing this, I want to take another look at glicol to see if it's possible to use in strudel without its livecoding syntax

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants