libdolbyb treats audio recordings to apply or remove something similar to what Dolby B noise reduction codecs in high-end tape recorders do by emulating in software the electronics of a real Dolby B unit. It translates dolbybcsoftwaredecode.sf.net from Pascal into C giving a generic C library and a command-line tool and is used as a new SoX effect in sox_ng-14.6.0 on - poke sox_ng above and sox_ng and Releases there.
Find a file
2025-06-27 07:48:28 +02:00
LibI64 Extend range of Hi/Lo calibration range in the light of new extremes 2025-06-05 11:49:18 +02:00
m4 Add m4/.gitignore so autoreconf doesn't complain about a missing m4/ 2025-05-17 18:12:07 +02:00
test Add test/'s README and .gitignore and improve graph's usage message 2025-06-10 07:52:08 +02:00
.gitignore Update .gitignore for the move from src/ to ./ 2025-05-17 18:14:35 +02:00
Calibrate.c Fix some printf format warnings 2025-06-25 09:14:57 +02:00
Calibrate.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
ChangeLog Release 1.0.1 2025-06-27 07:48:28 +02:00
configure.ac Release 1.0.1 2025-06-27 07:48:28 +02:00
COPYING Add the p2c output from All.pas 2025-03-20 21:19:56 +00:00
DCfilter.c Make UpSamp the parameter they gave us and UpSmp the value we use 2025-06-03 19:51:56 +02:00
DCfilter.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
DiodeClip.c Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
DiodeClip.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
dolbyb.1 Fix typo in roff markup 2025-06-02 20:23:24 +02:00
dolbyb.c Simplify argument parsing 2025-06-01 11:36:13 +02:00
dolbyb.h Drop CFrq as it is always == SmpSec 2025-06-03 19:51:56 +02:00
DolbyBi64.PP Turn DolbyBi64's "Processed H:M:SS" into H:MM:SS 2025-06-02 15:08:09 +02:00
FindOutSmp.c Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
FindOutSmp.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
HPF1.c Make UpSamp the parameter they gave us and UpSmp the value we use 2025-06-03 19:51:56 +02:00
HPF1.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
HPF2.c Make UpSamp the parameter they gave us and UpSmp the value we use 2025-06-03 19:51:56 +02:00
HPF2.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
HPF2SetVals.c Make UpSamp the parameter they gave us and UpSmp the value we use 2025-06-03 19:51:56 +02:00
HPF2SetVals.h Change all successful returns to NULL, failure to an error message 2025-06-01 10:31:19 +02:00
HPFAdj.c Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
HPFAdj.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
INSTALL Add install instructions for git clones and how to make it static 2025-06-02 14:39:18 +02:00
libdolbyb.3 Fix a typo 2025-06-01 10:38:23 +02:00
libdolbyb.c Remove inclusion of stdio.h as it no longer uses it 2025-06-27 07:43:07 +02:00
LPFAdj.c Make LPFadjTab const 2025-05-20 11:49:28 +02:00
LPFAdj.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
Makefile.am Add "make txt" target for MS/DOS zipfile 2025-06-02 20:23:52 +02:00
Mixers.h Move everything from src/ to the top directory 2025-04-24 01:13:33 +02:00
Param.c Drop CFrq as it is always == SmpSec 2025-06-03 19:51:56 +02:00
Param.h Fix gcc-2.95 "integer constant out of range" warnings 2025-04-24 01:13:33 +02:00
README Add more legal blurb 2025-06-13 12:19:42 +02:00
SetGate.c Make UpSamp the parameter they gave us and UpSmp the value we use 2025-06-03 19:51:56 +02:00
SetGate.h Change all successful returns to NULL, failure to an error message 2025-06-01 10:31:19 +02:00
SidePath.c Change all successful returns to NULL, failure to an error message 2025-06-01 10:31:19 +02:00
SidePath.h Change all successful returns to NULL, failure to an error message 2025-06-01 10:31:19 +02:00

The libdolbyb project aims to translate dolbybcsoftwaredecode.sf.net
into C so that it can be used as a library in SoX_ng.
If it's useful to other open source programs, that is very welcome.

The C version produces exactly the same audio output as the
original Pascal version compiled on a 32-bit system;
the audio output of the Pascal version compiled on a 64-bit system
differs in a handful of places by one bit value from what you get
compiling it on a 32-bit system, presumably some problem with FreePascal,
but the differences are sure to be well below any noise floor or
the program's deviation from the ideal Dolby B response curves.

There is a mailing list libdolbyb@groups.io for discussion
and for announcements of new versions. To subscribe, go to
http://groups.io/g/libdolbyb or send an email to
libdolbyb+subscribe@groups.io

The original source code has no copyright statement or licence
which makes it in the public domain.

The C version of the library is covered by the GNU Public Licence version 2.
Yes, GPL, not LGPL. If you want to include it in a commercial product,
you can either translate the original Pascal sources and make them work
or use FreePascal to compile the original library and link to it.

The name "dolbyb" is pronounced "DOLL bib" and is a new proper noun without
any implied reference to Dolby Laboratories Inc. with whom I have had
nothing to do except as a longtime user of their excellent products.

I have the original author's blessing for this work

	Martin Guy <martinwguy&#64;gmail.com> March 2025.