File:Additive synthesis bell.ogg

Additive_synthesis_bell.ogg (Ogg Vorbis声音文件,长度10秒,140 kbps,文件大小:171 KB)


摘要

Template:BotMoveToCحommonsو

描述
English: Bell-like tone generated by additive synthesis. The synethesis uses 21 inharmonic constant-frequency partials ranging from 201Hz to 3700Hz. Generated by the following C++ source code (compiled with GNU g++ version 4.5.2 with libsndfile 1.0.23.)
#include <sndfile.h>
#include <cmath>
using namespace std;

const double twopi=8*atan(1);

const int K=21;
double freqs[K]={201,337,437,453,479,501,678,885,1093,    1234, 550, 1401, 1690, 1780, 2002, 2449, 2651, 2889, 3002, 3250, 3700};
double wobbleAmt[K]={0,1,.1,.1,.1,1,.1,.2,.2,   0,0,0,0,0,0,0,0,0,0,0,0};
double wobbleFreq[K]={0,2.8,9.2,9.5,10,4.8,9,8.8,7.1,  0,0,0,0,0,0,0,0,0,0,0,0};
double wobblePhase[K]={0,0,0,0,0,0,0,0,0,    0,0,0,0,0,0,0,0,0,0,0,0};
double ampScale[K]={-32,-34.5,-39.8,-50.2,-45.6,-35.6,-35.7,-36.3,-38.4,  -45,-45,-45,-45,-45,-45,-45,-45,-50,-50,-50,-50};
double decayRate[K]={.85,.8,1,1,1,1,1.25,1.5,1.5,    4,3.5,4,4,4,4,4,5,3.5,5,6,6};
double Amplitude(int k, double t)
{
double amp=pow(2.0,ampScale[k]/6.0);
amp*=sin(wobblePhase[k])*wobbleAmt[k]+(1-wobbleAmt[k]);
amp*=exp(-t*decayRate[k]);
if (t<1) amp*=1-exp(-t*1000);
return 8*amp;
}

int main()
{
double sr=44100;
int nFrames=int(sr)*10;
double *buf = new double[nFrames];
double t=0, dt=1.0/sr;

for (int n=0; n<nFrames; n++)
{
buf[n]=0;
for (int k=0; k<K; k++)
{
wobblePhase[k]+=twopi*wobbleFreq[k]*dt;
buf[n]+=Amplitude(k,t)*sin(t*twopi*2*freqs[k]);
پ
t+=dt;
}

SF_INFO sfinfo;
sfinfo.samplerate=sr;
sfinfo.channels=1;
sfinfo.format=SF_FORMAT_WAV|SF_FORMAT_PCM_16;
SNDFILE *out = sf_open("bell.wav", SFM_WRITE, &sfinfo);
sf_writef_double(out, buf, nFrames);
sf_close(out);
delete [] buf;
return 0;
}
日期 2012年1月18日 (原始上传日期)
来源 Transferred from en.wikipedia to Commons by FSII using CommonsHelper.
作者 英语维基百科Chrisjohnson

许可协议

英语维基百科Chrisjohnson,本作品著作权人,特此采用以下许可协议发表本作品:
w:zh:知识共享
署名 相同方式共享
您可以自由地:
  • 共享 – 复制、发行并传播本作品
  • 修改 – 改编作品
惟须遵守下列条件:
  • 署名 – 您必须对作品进行署名,提供授权条款的链接,并说明是否对原始内容进行了更改。您可以用任何合理的方式来署名,但不得以任何方式表明许可人认可您或您的使用。
  • 相同方式共享 – 如果您再混合、转换或者基于本作品进行创作,您必须以与原先许可协议相同或相兼容的许可协议分发您贡献的作品。

原始上传日志

The original description page was here. All following user names refer to en.wikipedia.
  • 2012-01-18 00:08 Chrisjohnson 0×0× (175587 bytes) Bell-like tone generated by additive synthesis. The synethesis uses 21 inharmonic constant-frequency partials ranging from 201Hz to 3700Hz. Generated by the following C++ source code (compiled with GNU g++ version 4.5.2 with libsndfile 1.0.23.) <pre> #in

说明

添加一行文字以描述该文件所表现的内容

此文件中描述的项目

描绘内容

application/ogg

校验和 简体中文(已转写)

fa6ec678ba82d043201373d04360ecd04a0a8228

断定方法:​SHA-1 简体中文(已转写)

数据大小 简体中文(已转写)

175,587 字节

10 秒钟

文件历史

点击某个日期/时间查看对应时刻的文件。

日期/时间缩⁠略⁠图大小用户备注
当前2012年2月9日 (四) 11:4610秒(171 KB)File Upload Bot (Magnus Manske) {{BotMoveToCommons|en.wikipedia|year={{subst:CURRENTYEAR}}|month={{subst:CURRENTMONTHNAME}}|day={{subst:CURRENTDAY}}}} {{Information |Description={{en|Bell-like tone generated by additive synthesis. The synethesis uses 21 inharmonic constant-frequency pa

以下页面使用本文件:

全域文件用途

以下其他wiki使用此文件:

元数据