Hey!
Please forgive me if at any point of this post I am an idiot, I am very new to DSP.
I would like to make a Python script for FL Studio's Fruity Convolver to automatically convert a loaded sample to a Minimum Phase IR. I am trying to replicate the functionality of MCabinet that Au5 does in this video (which as I understand, converts the audio sample to a minimum phase impulse response). From a bit of research, I have found that they are using a Linear Phase filter which is converted to Minimum Phase through some operations. I was able to find this website which has the full conversion from linear phase to minimum phase within 4 lines.
My issue is, I don't understand what any of these steps are actually doing. I would use a library and skip this whole process, but I would like to distribute this script so others can use it without having to set up a crazy library. Ideally, all the code would be contained within one single .pyscript file that people can run on a selection of audio and get the minimum phase IR.
When I first found this rabbit hole, I created a script which would take the FFT of the first 2^n samples in a selection, find the absolute values of all the complex numbers, and do the IFFT on this new array of only real-valued data, which would result in a sample that was as close to an impulse as I could make it, but retained the tonal aspects of the source sample. Since then, I have learned a lot about FFTs and I realized I was doing it without windowing, which made the quality of the output a lot worse. Once I implement that, I am assuming that I need to perform the operations from the Codepad site on this output to get the minimum phase IR. Is this correct? Can this be reasonably programmed without external libraries?
Again, forgive me if I am rattling nonsense because I really don't know what I am doing, I am just using my knowledge of music production more than my year of programming experience to try and find a solution. I would greatly appreciate some guidance in the right direction.
Thanks!
Kallyn
Please forgive me if at any point of this post I am an idiot, I am very new to DSP.
I would like to make a Python script for FL Studio's Fruity Convolver to automatically convert a loaded sample to a Minimum Phase IR. I am trying to replicate the functionality of MCabinet that Au5 does in this video (which as I understand, converts the audio sample to a minimum phase impulse response). From a bit of research, I have found that they are using a Linear Phase filter which is converted to Minimum Phase through some operations. I was able to find this website which has the full conversion from linear phase to minimum phase within 4 lines.
My issue is, I don't understand what any of these steps are actually doing. I would use a library and skip this whole process, but I would like to distribute this script so others can use it without having to set up a crazy library. Ideally, all the code would be contained within one single .pyscript file that people can run on a selection of audio and get the minimum phase IR.
When I first found this rabbit hole, I created a script which would take the FFT of the first 2^n samples in a selection, find the absolute values of all the complex numbers, and do the IFFT on this new array of only real-valued data, which would result in a sample that was as close to an impulse as I could make it, but retained the tonal aspects of the source sample. Since then, I have learned a lot about FFTs and I realized I was doing it without windowing, which made the quality of the output a lot worse. Once I implement that, I am assuming that I need to perform the operations from the Codepad site on this output to get the minimum phase IR. Is this correct? Can this be reasonably programmed without external libraries?
Again, forgive me if I am rattling nonsense because I really don't know what I am doing, I am just using my knowledge of music production more than my year of programming experience to try and find a solution. I would greatly appreciate some guidance in the right direction.
Thanks!
Kallyn
Statistics: Posted by Kallyn — Mon Feb 12, 2024 11:57 pm — Replies 0 — Views 18