-
大小: 174KB文件类型: .zip金币: 2下载: 0 次发布日期: 2021-06-09
- 语言: 其他
- 标签: watermarking audio detect embed
资源简介
Microsoft Audio Watermarking Tool
微软的音频水印嵌入和检测的源码,非常好,值得参考。

代码片段和文件信息
/*
(c) Microsoft Corporation. All rights reserved.
*/
//
// MISC.C - Watermarking of audio - miscellaneous functions
//
// (c) 1999 Microsoft Corp.
//
// History:
//
// 14/Jun/99 - Darko Kirovski first version based on his Matlab code
// 29/Jun/99 - Rico Malvar using analog warping function
// 30/Jun/99 - Rico Malvar miscellaneous codes to read/write key/ID bits
// 02/Jul/99 - Darko & Rico - new width control for nonlinear subbands
#include “wmark.h“
// ------------------------------------------------------------
// Routine to warp the frequency scale to support frequency scale changes
float warpfreq(float x float a)
{
return((exp(a*x) - 1) / (exp(a) - 1) );
}
// ------------------------------------------------------------
// Routine to generate subband limits
void gensubindex(SSBANDS *ssbands long fs float scalefactor) {
int bit;
int fc;
float freq x y a;
// First define bits for SS subbands on which the chips carrying
// the CCI bits will be inserted
//
// The band from FWCCIMIN to FWMAX is divided in CHIPSPERBLOCK subbands
//
// FWCCIMIN FWMAX
// |---------|---------|--- . . . ---|---------|
// : : :
// bit 0 bit 1 bit CHIPSPERBLOCK-1
//
// The bands are not uniformly distributed. The parameter SPEEDUP controls
// the subband with distortion: higgher subbands should be wider as we
// increase speedup.
// The main trick: figure out how much the last subband width needs to
// be amplified; that‘s the parameter g
// first determine a from max gradient of warp
a = 1.7 * log(1 + SPEEDUP * CHIPSPERBLOCK) + 0.5 * (SPEEDUP * CHIPSPERBLOCK);
fc = (int) ((FWMIN * scalefactor * 2.0 / fs) * (float) NFREQ);
bit = 0;
// start at index corresponding to FWCCIMIN
ssbands->fstart[0] = fc;
while (bit < CHIPSPERBLOCK) {
x = (bit + 1.0) / CHIPSPERBLOCK;
y = warpfreq(x a);
// analog frequency in Hz
freq = FWMIN + (FWMAX-FWMIN) * y;
// convert to index
fc = (int) (freq * scalefactor * (2.0 / fs) * NFREQ);
ssbands->fend[bit] = fc;
ssbands->fmiddle[bit] = (ssbands->fstart[bit] + fc) / 2;
// ??? ssbands->width[bit] = ssbands->fend[bit] - ssbands->fstart[bit] + 1;
bit++;
if (bit == CHIPSPERBLOCK) break;
ssbands->fstart[bit] = fc + 1;
}
#ifdef PRINT_SUBBAND_INDEX
{
FILE *f;
int i;
f = fopen(“subband_index.m“ “w“);
fprintf(f “sbi=[\n“);
for (bit = 0; bit < CHIPSPERBLOCK; bit++) {
for (i = 0; i < SRFREQ; i++)
fprintf(f “%d %d %d\t“ ssbands->fstart[bit] ssbands->fmiddle[bit] ssbands->fend[bit]);
fprintf(f “\n“);
}
fprintf(f “];\n“);
fclose(f);
}
#endif
}
// ------------------------------------------------------------
// Routines to convert seconds to MM:SS:MSMS string
static char tmpstr[200];
char *ftimestr(float secs)
{
int i;
i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-22 08:59 audiowatermarkingtool\
目录 0 2005-08-08 10:38 audiowatermarkingtool\build\
目录 0 2005-08-08 10:27 audiowatermarkingtool\build\detect2003\
目录 0 2005-08-08 10:35 audiowatermarkingtool\build\detect2003\Debug\
文件 3939 2005-08-08 10:38 audiowatermarkingtool\build\detect2003\detect2003.vcproj
目录 0 2005-08-08 10:39 audiowatermarkingtool\build\detect2003\Release\
文件 106496 2005-08-08 10:38 audiowatermarkingtool\build\detect2003.exe
目录 0 2005-08-08 10:11 audiowatermarkingtool\build\lib\
文件 40842 2005-08-05 12:32 audiowatermarkingtool\build\lib\internal2003.lib
目录 0 2005-08-08 10:36 audiowatermarkingtool\build\watermark2003\
目录 0 2005-08-08 10:35 audiowatermarkingtool\build\watermark2003\Debug\
目录 0 2005-08-08 10:39 audiowatermarkingtool\build\watermark2003\Release\
文件 3949 2005-08-08 10:37 audiowatermarkingtool\build\watermark2003\watermark2003.vcproj
文件 94208 2005-08-08 10:38 audiowatermarkingtool\build\watermark2003.exe
文件 101376 2005-08-08 10:39 audiowatermarkingtool\build\watermark2003.ncb
文件 1445 2005-08-08 10:29 audiowatermarkingtool\build\watermark2003.sln
文件 14336 2005-08-08 10:39 audiowatermarkingtool\build\watermark2003.suo
文件 6009 2005-08-05 11:13 audiowatermarkingtool\license.txt
文件 764 2005-08-05 11:20 audiowatermarkingtool\readme.txt
目录 0 2005-08-08 10:40 audiowatermarkingtool\src\
文件 1256 2005-08-05 11:09 audiowatermarkingtool\src\fxform.h
文件 640 2005-08-05 11:09 audiowatermarkingtool\src\hthres.h
文件 7096 2005-08-05 11:09 audiowatermarkingtool\src\misc.c
文件 16433 2005-08-05 11:09 audiowatermarkingtool\src\waveio.h
文件 11703 2005-08-05 11:09 audiowatermarkingtool\src\wmadd.c
文件 6618 2005-08-05 11:09 audiowatermarkingtool\src\wmark.c
文件 6579 2005-08-05 11:09 audiowatermarkingtool\src\wmark.h
文件 40451 2005-08-05 11:09 audiowatermarkingtool\src\wmtest.c
- 上一篇:单片机常用电源电路
- 下一篇:Vita48- Revision D0.15
相关资源
- wifi局域网内双向语音实时通话
- 音频测试文件pcmmp3aacamrg711ag711u等多种
- 奥科网关M1000B配置手册.docx
- 车牌检测训练正样本,共1350张
- SSS1629 datasheet
- 基于FFMPEG_SDL2_音视频播放_参考音频时
- AudioResample
- virtual audio cable 4.10 破解版
- Virtual Audio Cable 4.10破解版+破解说明
- Virtual Audio Cable 4.1.3终极完美破解
- Face Detection and Recognition: Theory and Pra
- VS2017+opencv写的火焰检测带检测视频哦
- plant Leaf Disease Detection 植物叶片病害识
- Real-Time Collision Detection实时碰撞检测算
- Fault Detection and Diagnosis in Industrial Sy
- JULIUSO. SMITHIII《INTRODUCTION TO DIGITAL FI
- 胶囊缺陷检测算法
- unity语音识别Word Detection
- NAudio源码及demo
- RISC-V 二值化 CNN 芯片加速器进行人员
- SRS Audio Sandbox 1.9.0.4 64位 + 汉化破解补
- Pedestrian_detection_in_infrared_images.pdf
-
Single-Shot Refinement Neural Network for ob
- Image Analysis Classification and Change Detec
- Real-Time Collision Detection
- 基于深度学习人脸识别
- AudioCompare 音频相似度比较
-
You Only Look Once Unified Real-Time ob
ject - Introduction-to-Digital-Filters-with-Audio-App
- pcm音频文件
评论
共有 条评论