GithubHelp home page GithubHelp logo

kagamiin / espcm Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 32 KB

Encoder/decoder for ESS Technology's ESPCM audio format

License: GNU General Public License v3.0

Makefile 0.97% C 83.50% C++ 15.54%

espcm's Introduction

ESPCM

ESPCM is a series of proprietary audio compression codecs developed by ESS Technology Inc. and used in their ESS AudioDrive line of sound cards. Until recently, not much was known about ESPCM and no efforts had been done to reverse-engineer it. That has since changed.

This repository implements an encoder and decoder for ESPCM WAV (.aud) files. You can use it to, for example, encode audio samples for playback on real hardware, or to decode files you have recorded back in the day.

NOTE: This was a quick 2-day project. The code is based on my SSDPCM encoder and many parts of the code are taken from there. So if you take a look at the code, you'll see many references to it.

Dependencies

For compiling, you'll need GNU Make.

No external libraries are needed.

Usage

To encode a file:

./espcm_encoder espcm4 input_file.wav output_file.aud

The input must be an 8-bit or 16-bit PCM WAV file, and it must be in mono.

Substitute espcm4 for the name of the mode you want to use; the following modes are available:

  • espcm4 - 4-bit ESPCM (actual bitrate: 4.21 bits/sample)
  • espcm3 - 3-bit ESPCM (actual bitrate: 3.37 bits/sample)
  • espcm1 - 1-bit ESPCM (actual bitrate: 1.26 bits/sample)

To decode a file:

./espcm_encoder decode encoded_file.aud decoded_file.wav

The mode will be automatically determined from the file header and does not need to be specified.

The output will be an 8-bit WAV file.

espcm's People

Contributors

kagamiin avatar

Stargazers

Ozkan Sezer avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.