这段时间在研究语音/音频 plc算法,发现一个比较好的算法仿真和测试平台,收录一下http://imankulov.github.com/network-emulator/
Roman Imankulov / network-emulator
network-emulator is a simple utility intended to test how network losses and delays affect speech quality in VoIP-based applications. With this tool experimenter can set up loss rate, bandwidth, encoder options and select one of the packet loss suppression algorithm.
Emulator can help quickly obtain these measures:
- compare encoding quality for different codecs and codecs modes;
- estimate the impact of the loss level and distribution on the speech quality;
- estimate the impact of the different PLC algorithms on the speech quality.
Quality estimation may be carried out subjectively but the better way is to use automatic tests such as PESQ (reference implementation can be found at ITU-T official site). Network emulator only helps to obtain reference and degraded speech samples.
Download and build instructions
Latest network emulator can be downloaded from github. You can either download it with tarball or clone git reposltory.
Clone:
$ git clone git://github.com/imankulov/network-emulator
Latest tarball or zipped file can be downloaded with given links.
In order to build network emulator from source it’s neсessary to download and build PJSIP library. To use some proprietary codecs as G.729 and/or G.723.1 one must follow the instructions from PJSIP project.
After PJSIP being downloaded and built you should set up enviromenent variable PJBASE
in order to specify location of this library. Either you can run make
command with this variable set up::
make PJBASE=... all
PJSIP libraries are compiled in statically, so in order to deploy or use just built application you don’t need to modify your LD_LIBRARY_PATH
or include some parts of PJSIP in the distributed package. However Intel IPP codecs usage requires correctly adjusted environment.