-
大小: 174KB文件类型: .zip金币: 1下载: 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
相关资源
- FFmpeg + SoundTouch实现音频的变调变速
- OpenCV多尺度检测
- usb audio class
- Saliency Detection with Multi-Scale Superpixel
- Saliency Detection via Absorbing Markov Chain 中
- NAudio.dll
- mmdetection-中文文档(自己翻译).pdf
- Dlib FaceLandmark Detector v1.2.0
- Qt录音机QAudioInput
- Virtual Audio Cable 4.10 Win10版
- CSR I2S as Wired Input in ADK Applications Not
-
ob
ject Detection 目标检测 思维导图 - 虚拟声卡Virtual Audio
- Facedetectionfacerecognitiondataset.txt
- VirtualAudioCable4.60Win10版.rar
- AudioCODEC基本知识及应用.pdf
- SVM+HOG+LBP
- Virtual Audio Cable 4.1.3 完美破解版
- Audio Sink Application Configuration User Guid
- 音频数字水印SVD_DWTAudioMark
- 训练mask_rcnn所用配置文件
- Dynamic_Data_Race_Detection
- virtual audio cable 4.10 破解去女声
- Qt音频传输
- Qt-detect-Udisk老外写的qt检测U盘
- pakDetect.rar
- CoreAudioApi.dll
- Louvain快速社区发现算法Fast unfolding算
- DolbyAudiov4.txt
- mmod_human_face_detector.dat.bz2
评论
共有 条评论