EsounD noise reduction and Windows platform support



I'm using X Server on Windows. GNOME desktop works fine. But very
quiet. So, I wrote Windows platform support code for EsounD.
And fixed some mistake at PCM mixing code. This fix reduce noises.
Reason of noises are left white space on clipping and too much
swapping left-right-channel stereo source on rate conversion.

My EsounD patch features. (Based 0.2.20)
1. Eliminates noises. Multiple stream mixing and play samples have any
   noise! (I think for all platform)
2. Windows MultiMedia System support. (Windows)
3. with cygwin run-time dll. Compile with CYGWIN32 environment.
   without cygwin run-time dll. Compile with MINGW32 environment. (Windows)


Build instruction.
1. With cygwin run-time.
1.1 build audiofile. 
    untar audiofile archive.
    run configure.
    run make.
    run  make install.
1.2 build esound
    untar esound archive.
    patch -p0 < patch file
    run autoconf
    run configure
    run make
1.3 execute ./esd -public -tcp
2. Without cygwin run-time.
2.1 build audiofile
    untar audiofile archive.
    run CFLAGS='-mno-cygwin -mconsole' ./configure
    edit audiofile/Makefile CFLAGS line
    edit some audiofile/*.c
    run make
    run make install
2.2 build esound
    untar esound archive.
    patch -p0 < patch file
    run autoconf
    run CFLAGS='-mno-cygwin -mconsole' ./configure
    run make
2.3 execute ./esd -public -tcp


Current TODO:
NOISE reduction (mix.c)
 1. more faster rate conversion. [MID PRIORITY]
 2. High-quality rate conversion. [LOW PRIORITY]
    Current plan: oversampling -> FIR -> LowPass -> downsampling
Windows MultiMedia System(audio_winmm.c)
 1. device enumeration in esd_audio_device. and add device selectable
    code. [MID PRIORITY]
 2. half duplex sound device test and implement half duplex
    codes. [HIGH PRIORITY]
 3. recording time upto infinit. current maximam is 1157 days. [LOW PRIORITY]
 4. Support DirectSound. [LOWEST PRIORITY]
MINGW32(audio.c, esd-server.h, esd.c, esdcat.c, esdfile.c esdfilt.c,
esdlib.c, esdloop.c, esdmgr.c, esdmon.c, esdplay.c, esdsample.c,
filter.c, genrand.c, mix.c, players.c, proto.c, samples.c winsup.h)
 1. Windows Socket DLL initialize WSAStartup() at correct place. [HIGHEST PRIORITY]
 2. separate OS depended functions for multiarch. [HIGH PRIORITY]
 3. MSVC support. [MID PRIORITY]
 4. Write code genrand.c [HIGH PRIORITY]
 5. Write SINGAL emulate functions. [HIGH PRIORITY]
 6. Write our version ioctl() and fcntl(). [MID PRIORITY]
 7. UNIX Domain Socket emulation. [LOWEST PRIORITY]

MINGW32 version binary and source tarball at
http://www.kiss.taihaku.sendai.jp/~fuji/product/20001127/ .
also patch available at same place.

PS: Who is current esound mainteiner? No response from Ricdude while
    20 days. Is he very busy?




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]