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
[expo-av] Streaming Audio Buffers in realtime (JSI Audio) #13516
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
thanks @expo-ci you're the man |
👆 We use those labels only for issues, there is no need to clutter PRs with them 😉 |
Oh I see, my bad! Thanks for removing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
2e64a86
to
3c299df
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The review previously left here is no longer valid, jump to the latest one 👉 #13516 (review)
Co-authored-by: Evan Bacon <baconbrix@gmail.com>
it couldn't find the implementation for `EXLogInfo` so I just removed it
44e3e0a
to
2350afe
Compare
Because this PR was in unreviewable state, it's been superseded by #14904. |
Why
see discussion: #13404
Goal: Be able to run any processing on individual audio samples, either in realtime ("streaming") or on a whole audio file. This is useful for example to show waveforms or any other kind of audio visualization, such as in the Telegram app:
I got a basic prototype working with JSI where I calculate the average "loudness" of a 44,1 kHz stereo track from XXXTentacion using a RMV algorithm fully in JavaScript and it runs really fast and smooth:
Screen.Recording.2021-07-06.at.13.03.17.mov
This part will be implemented in a separate PR.
also you can use this for non-realtime cases where you want to calculate a waveform for whole audio files:
How
jsi magic
Test Plan
Checklist
expo build
(eg: updated@expo/xdl
).expo prebuild
& EAS Build (eg: updated a module plugin).