* feat(audio): use PyAV instead of ffmpeg
replaced usage of ffmpeg in favor of PyAV (`av`)
* refactor(audio): store all of the audio related functions in the `infer.lib.audio`
refactors previous commit to have singular functions for each task, all located in `infer.lib.audio`
* fix(audio): remove downsample_audio from mdxnet.py
it is no longer needed, since it's imported from infer.lib.audio
* docs: remove every ffmpeg mention in the documentation to avoid confusion
* chore(requirements): remove ffmpeg-python and ffmpy from all requirements
* fix(audio): fix loading for UVR
wrapped gathering of META info from the stream into a function
fixes loading for UVR
* fix(audio): use np.frombuffer() instead of direct conversion of the resampled frames
this fixes traceback on preprocessing
* feat(audio): pre-allocate decoded_audio array in the load_audio function
this should improve performance, even if just a little
* Revert "docs: remove every ffmpeg mention in the documentation to avoid confusion"
This reverts commit 1e05bbce03.
* chore(format): run black on dev
* fix(requirements): revert removal of ffmpeg in unitest.yml and Dockerfile
* Revert "fix(requirements): revert removal of ffmpeg in unitest.yml and Dockerfile"
This reverts commit e28a0eebb2.
* feat(audio): pre-allocate numpy array to store the AudioFrame data in ndarray of dtype float32
* chore(format): run black on dev
* fix(audio): fix the decoded_audio size estimation
in estimated_total_samples we multiply by `sr` instead of `container.streams.audio[0].rate` since we want to estimate size of the OUTPUT file, not the input one. - Added dynamic resizing, in case something goes wrong and the size of decoded_audio is estimated incorrectly
Fixed function `load_audio` when the input audio's samplerate does not match the desired samplerate (`sr`)
* chore(format): run black on dev
* refactor(audio): remove `clean_path()` function as it serves no purpose anymore
* docs: remove everything related to ffmpeg
this includes everything except for formats support specification in the training_tips docs, since it has nothing to do with what ffmpeg does/did but rather what audio formats are supported (all the ones that ffmpeg supports!)
* docs: fix order of the steps in preparation in the READMEs
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore(structure): rename requirements files
all of the requirements under `requirements/` have requirements-* in their name, which just looks dirty since all of the requirements are already in the `requirements` dir. therefore to have cleaner project, it's better to rename all the req files to just contain info on what each of them does
* fix(unitest): update requirements file used in the unitest workflow
将Dockerfile中的"copy . ."指令移至系统设置之后的副作用是构建过程现在将在复制文件之前缓存层。
这意味着如果系统设置保持不变,后续构建将更快,因为将重用缓存的层。
optimize(dockerfile): Moved "copy . ." after system setup
The side effect of moving the "copy . ." instruction after the system setup in the Dockerfile is that the build process will now cache the layers before copying the files.
This means that if the system setup remains unchanged, subsequent builds will be faster as the cached layers will be reused.
* Added NVIDIA GPU support to Docker
* feat: Added NVIDIA GPU support to Docker
---------
Co-authored-by: Abdellah Derfoufi <mohammed-abdellah.derfoufi@capgemini.com>