Request for a PushBuffer replacement/enhancement #11
Replies: 6 comments
-
There're also people trying to make it just work: see here |
Beta Was this translation helpful? Give feedback.
-
Actually, it would be great if there were an adapter that could be integrated with JUCE projects. The community is quite large, so there would be a higher chance for developers to engage with your project 🤗 |
Beta Was this translation helpful? Give feedback.
-
A JUCE adapter is be a great idea. I presume you've tried this project: https://github.com/Chowdhury-DSP/PitchShift The Bungee project is focussed on a high-quality time stretch algorithm in C++ and it would be difficult to keep every possible integration and binding maintained and tested at high quality here. So adapter work belongs in dependent projects. That said, I'd love to advise and support if I can. |
Beta Was this translation helpful? Give feedback.
-
@kupix Right, I also visited the PitchShift repo while trying to implement the library. However, that repo contains too many unnecessary dependencies from his own chowdsp_utils, which I can't include entirely in my project. Regarding a dependent project for JUCE support, I think it’s a great idea to implement a more user-friendly interface (for example, only needing to call stretcher.process() on the left and right channels). This could attract more developers since bungee itself outperforms others, the only limitation I can see now is its implemetation. I’m really looking forward to it. Also love to acquire the Pro version but I can't make it work yet my bad 😅 |
Beta Was this translation helpful? Give feedback.
-
@dhng22 yes, it's a good idea. But it's enough work to maintain the Bungee core library, alongside our other paid work, without trying to provide and maintain the many integrations that people are requesting. As I said, we should be able to offer some guidance if you were to attempt this either by forking the Chowdhury project or by making your own. What we may be able to offer is a simpler interface for people who are only interested in pitch shifting, not in time stretching. For example, something that receives n audio frames input and emits n audio frames output (with some latency of course). Could this be useful? |
Beta Was this translation helpful? Give feedback.
-
Right! I'll try implementing it again, and I'll get back to you if I have any questions. I also hope anyone struggling with integrating Bungee later on finds this discussion helpful.
I think if I can successfully implement Bungee into the JUCE project, then that alone is enough, since integrating with JUCE is still just processing left and right float arrays. You can then share the procedure in further documentation. |
Beta Was this translation helpful? Give feedback.
-
As described, this class is an adapter designed to support the traditional logic flow, where audio only moves forward and not backward. I have a request for an adapter class that simplifies the process of speed changing and pitch shifting, making it more straightforward and easy to use. Alternatively, the stretcher itself could handle this use case with a simpler interface. The argument here is that while push-pull philosophies cover a broader range of use cases, the traditional logic flow is more commonly used across applications. This will support the library migration from other APIs with ease
Beta Was this translation helpful? Give feedback.
All reactions