Test building with Sox on Windows#648
Conversation
|
Unit tests passed for both CPU and GPU with Sox on Windows. Marking it as ready, cc @vincentqb @mthrok. |
mthrok
left a comment
There was a problem hiding this comment.
Thanks for the splendid job. Left some comments.
|
|
||
| printf "* Installing torchaudio\n" | ||
| IS_CONDA=true python setup.py develop | ||
| curl --retry 3 https://s3.amazonaws.com/ossci-windows/torchaudio_deps.7z --output /tmp/torchaudio_deps.7z |
There was a problem hiding this comment.
Several questions regarding this
- What does
torchaudio_deps.7zcontain? - Where is it from?
- Does it include source or binary?
- (if binary)
- How was it built?
- How to update it if dependencies should change in future?
There was a problem hiding this comment.
- What does
torchaudio_deps.7zcontain?
The header and the libraries of the third-party dependencies, like FLAC, libmad and libmp3lame.
- Where is it from?
Built locally by myself.
- Does it include source or binary?
Binary.
- How was it built?
Generally speaking, I built them one by one manually according to the steps given by the project itself using VS 2019. However, some of the project support only very old format of the MSVC project, so I have to rewrite it using CMake.
- How to update it if dependencies should change in future?
I hope that I could figure out the automatic build script for those projects. It is not easy because like I said in the previous question that I had to modify them a little bit. But I think it would be fine since some of the dependencies are not updated for a long time, like Sox and libmad. So for those old projects, maybe we could just download deps or maintain a fork. As for the active projects, like FLAC, we could just use the steps provided by the project itself.
There was a problem hiding this comment.
Yeah I'm not entirely sure if I would want to sign us up for this considering any update would have to be done by hand (however infrequent the updates may come).
Is there a way to contribute what we've done to make this dependency archive to those upstream dependencies?
| extra_objects += [os.path.join(audio_path, 'third_party/lame/lib/mp3lame.lib')] | ||
| extra_objects += [os.path.join(audio_path, 'third_party/ogg/lib/ogg.lib')] | ||
| extra_objects += [os.path.join(audio_path, 'third_party/sox/lib/lpc10.lib')] | ||
| extra_objects += [os.path.join(audio_path, 'third_party/sox/lib/gsm.lib')] |
There was a problem hiding this comment.
In #625, I am merging third party libraries into third_party/build/include and third_party/build/lib for simplicity. Could you adopt the same pattern?
There was a problem hiding this comment.
So maybe I should wait for your PR? Or I just do that for Windows?
There was a problem hiding this comment.
You can just do that for Windows.
| namespace audio { | ||
| namespace { | ||
| #ifdef _WIN32 | ||
| int mkstemp(char* tmpl) { |
There was a problem hiding this comment.
Is this your implementation, or taken from somewhere?
There was a problem hiding this comment.
|
Could you take a look please? |
Yes. I uploaded the torchaudio_deps.7z to that bucket.
Just curious about the update frequency of the libraries. Looks like some of the libraries are not updated for a long time, like Sox, lame and mad. |
Although chances are small, other potential cases for updating the dependencies for some unanticipated reason are removing one or adding a new one. I think we want to make sure someone is able to reproduce the build steps you took in some form, just in case. |
| vc: | ||
| - 14 | ||
| zip_keys: | ||
| - # [win] |
There was a problem hiding this comment.
Is this purposefully blank? Looks a bit confusing here without a comment.
There was a problem hiding this comment.
No, and it should be a typo.
|
Hi @peterjc123! Thank you for your pull request. We require contributors to sign our Contributor License Agreement, and yours needs attention. You currently have a record in our system, but we do not have a signature on file. In order for us to review and merge your code, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. If you have received this in error or have any questions, please contact us at [email protected]. Thanks! |
…orials Reorganize Production Usage section
|
Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks! |
Relates to #425