Git Product home page Git Product logo

adpcm-xq's People

Contributors

dbry avatar pschatzmann avatar viciious avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adpcm-xq's Issues

Min blocksize is 256?

Hello!
Cool work, many thanks for sharing it! Quality is really good, I cannot distinguish it really.
Why is not possible to set -b to a number smaller than 8? I tried it and I do see weird things going on. Could you mention the main points that would need to be reworked to support, say 128 or 64 byte blocks? I'd like to give it a try with 32 bytes :D
Also does the standard support something bigger than 4 bits per sample? I'd like to compress 16bit/stereo/44.1kHz audio just a bit, say half the bandwidth for instance. Is ADPCM still useful?
Thanks!

FR: Omit wav files already encoded in ADPCM

From usage:

Operation: conversion is performed based on the type of the infile
          (either encode 16-bit PCM to 4-bit IMA-ADPCM or decode back)

If a folder has a mix of PCM and ADPCM files, it would be useful if adpcm-xq could be set to leave existing ADPCM files as they are.

Currently it's needed to detect whether a wav is encoded in ADPCM or not for scripting purposes of batch encoding whole directories.
(The reverse could also be true if you want PCM only for target as well.)

lost samples

Hello! I have a question about your library:
If i use adpcm_decode_block(...) function for data encoded by adpcm_encode_block(...) function, i have decoded data buffer a 7 samples shotrer then input buffer for encoding (the block size doesnt matter).
I'm not good at acoustic science, but i think it is not right, isn't it?

Does this lib just support channels = 2?

I have noticed that:

struct adpcm_context {
    struct adpcm_channel channels [2];
    int num_channels, lookahead, noise_shaping;
};

and piece of code in adpcm_converter:

if (WaveHeader.NumChannels < 1 || WaveHeader.NumChannels > 2)
    supported = 0;

Is it possible to support channels = {4, 6, 8} as input?

Memory leaks detected

compiled with: clang -Og -ggdb -fsanitize=address *.c -o adpcm-xq

=================================================================
==8789==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x493a3d in malloc (adpcm-xq+0x493a3d)
    #1 0x4c5aae in main adpcm-xq.c:121:27

Direct leak of 26 byte(s) in 1 object(s) allocated from:
    #0 0x493a3d in malloc (adpcm-xq+0x493a3d)
    #1 0x4c5ae0 in main adpcm-xq.c:117:26

SUMMARY: AddressSanitizer: 58 byte(s) leaked in 2 allocation(s).

Working with adpcm-xq

Hi David, first of all sorry about my english.

I am a student who is working with your code for a project.
I need to know where the temporary weight is in the code. I think that it is in static double minimum_error
but i am not really sure.
I have to execute the program in a board with a low performance processor and coding a small .wav file takes almost 2 hours. Why could this be?

Thanks.

Gonzalo

Any way to batch convert?

I have multiple wav files that it would take a very long time to copy each file name in and convert them manually. Is there a command or shortcut to convert multiple?

compilation warning on macOS X

I recently integrated the encoder into the Moddable SDK. We use IMA ADPCM to reduce the flash storage requirements for audio on embedded products. Switching over to the API was straightforward and the encoder works very nicely. Thank you for the great work.

On macOS X, I ran into the smallest issue - the following warning when compiling:

# tools debug : cc adpcm-lib.c
/Users/hoddie/Projects/moddable/tools/adpcm-lib.c:340:19: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
    if (inbufsize < channels * 4)
        ~~~~~~~~~ ^ ~~~~~~~~~~~~

I added a cast to quiet that. Since channels is always positive, it might make sense instead to declare it as unsigned?

help with using this ¿

hello , sorry if im overlooking something really obvious or using this incorrectly , but i cant seem to be able to be able to use this , my first guess was a simple drag and drop onto the .exe after it didnt run when opened but that doesnt seem to be do anything either , and there arent any other files shipped along with the .exe , so ive come to the conclusion that im missing something . sorry again if im overlooking something obvious but i tested a bunch and read the github page and just really cant figure out how to use this . any help would be super appreciated

How do you use this?

Hi dbry,

I am using Linux Mint 18.2 KDE based on Ubuntu 16.04.

I downloaded your source code file. ran the "gcc" command in the readme which seems to have created an executable "adpcm-xq", but it does not seem to work, or I do not know how to use it?

I help out on the Linux Mint forum, and someone was asking how to play MTH files which apparently use the adpcm codec?

Linux Mint Forums
https://forums.linuxmint.com/viewtopic.php?f=90&t=261483

Regards,
Phil
phd21

Only IMA variant of ADPCM supported?

My sample file: https://yadi.sk/d/BvmozCv5A73q6Q

ADPCM
Codec ID : 2
Duration : 3 min 42 s
Bit rate mode : Constant
Bit rate : 352.8 kb/s
Channel(s) : 2 channels
Sampling rate : 44.1 kHz
Bit depth : 4 bits
Stream size : 9.40 MiB (100%)

Some other files I saw were indeed IMA-ADPCM so probably it's different variant.
The program gives error:
"Music_Choice.wav" is not a valid .WAV file!

Test data

Hi!

Thanks for your work on adpcm-xq! It's greatly appreciated :)

If anything, it'd be nice to have some test data corpus that would accompany the utility, along with some SnR measurements. Not strictly necessary, but desirable :)

Regards,
Victor

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.