Skip to content

A Transfer Tool from WAV to MP3: Can Be Executed on Both Unix/Windows based Systems

License

Notifications You must be signed in to change notification settings

skyeyester/wav2mp3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purpose

A commandline application implemented by C++ that encodes a set of WAV files to MP3 on both Unix/Windows based platform.

Requirements

  1. application is called with pathname as argument, e.g.

    ~\MyWavCollection all WAV-files contained directly in that folder are to be encoded to MP3

  2. use all available CPU cores for the encoding process in an efficient way by utilizing multi-threading

  3. statically link to lame encoder library

  4. application should be compilable and runnable on Windows and Linux

  5. the resulting MP3 files are to be placed within the same directory as the source WAV files, the filename extension should be changed appropriately to .MP3

  6. non-WAV files in the given folder shall be ignored

  7. multithreading shall be implemented by means of using Posix Threads (there exist implementations for Windows)

  8. the Boost library shall not be used

  9. the LAME encoder should be used with reasonable standard settings (e.g. quality based encoding with quality level "good")

Implementation notes

  • supported 8-bits, 16-bits and 24-bits pcm wave files

  • required a compiler with c++14 support. however, i didn't use <thread> and <atomic> due to the abovementioned restrictions

  • tested with Google Test, Visual Studio 2015 with WinSDK8 on Windows, GNU C 6.0 on Linux and clang-703.0.31 on Mac

  • added a CMakeLists.txt for all platform configurations

About

A Transfer Tool from WAV to MP3: Can Be Executed on Both Unix/Windows based Systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published