61 lines
2.2 KiB
Markdown
61 lines
2.2 KiB
Markdown
|
# CAS #
|
||
|
|
||
|
Compressed Audio Signals (CAS) is a lossless compression codec that can compress
|
||
|
full pcm audio into manageable file sizes or reasonable streaming bit rates with
|
||
|
0 loss in audio quality. This app was created to encode/decode cas formatted
|
||
|
files just as a proof of concept.
|
||
|
|
||
|
### Usage ###
|
||
|
|
||
|
With encoding selected, you can convert any audio file the Qt's gstreamer module
|
||
|
supports into a cas formatted file by selecting it on the input file and choosing
|
||
|
an output file to save (use .cas extension if you like). The other PCM settings
|
||
|
like bitdepth, channels, sample rate and endianness are coded into the cas
|
||
|
header and will be used when decoding.
|
||
|
|
||
|
When decoding, the file is converted into fully uncompressed PCM audio (use .wav
|
||
|
as the appropriate extension).
|
||
|
|
||
|
### Build Setup ###
|
||
|
|
||
|
For Linux you need the following packages to successfully build/install:
|
||
|
```
|
||
|
qtbase5-dev
|
||
|
libgl1-mesa-dev
|
||
|
libxcb1-dev
|
||
|
gcc
|
||
|
make
|
||
|
python3
|
||
|
```
|
||
|
|
||
|
For Windows support you need to have the following applications installed:
|
||
|
```
|
||
|
Qt5.12 or newer
|
||
|
Python3
|
||
|
```
|
||
|
|
||
|
### Build ###
|
||
|
|
||
|
To build this project from source you just need to run the build.py and then the
|
||
|
install.py python scripts. While running the build the script, it will try to
|
||
|
find the Qt API installed in your machine according to the PATH env variable. If
|
||
|
not found, it will ask you to input where it can find the Qt bin folder where
|
||
|
the qmake executable exists or you can bypass all of this by passing the -qt_dir
|
||
|
option on it's command line.
|
||
|
|
||
|
while running the install script, it will ask you to input 1 of 3 options:
|
||
|
|
||
|
***local machine*** - This option will install the built application onto the
|
||
|
local machine without creating an installer.
|
||
|
|
||
|
***create installer*** - This option creates an installer that can be
|
||
|
distributed to other machines for installation. The resulting installer is just
|
||
|
a regular .py script file that the target machine can run if it has Python3
|
||
|
installed. Only Python3 needs to be installed, an internet connection is not
|
||
|
required.
|
||
|
|
||
|
***exit*** - Cancel the installation.
|
||
|
|
||
|
-local or -installer can be passed as command line options for install.py to
|
||
|
explicitly select one of the above options without pausing for user input.
|