Jump to content

File:Additive synthesis bell.ogg

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Additive_synthesis_bell.ogg (Ogg Vorbis sound file, length 10 s, 140 kbps, file size: 171 KB)

Summary

Template:BotMoveToCحommonsو

Description
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;
}
Date 18 January 2012 (original upload date)
Source Transferred from en.wikipedia to Commons by FSII using CommonsHelper.
Author Chrisjohnson at English Wikipedia

Licensing

Chrisjohnson at English Wikipedia, the copyright holder of this work, hereby publishes it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Original upload log

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

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

application/ogg

fa6ec678ba82d043201373d04360ecd04a0a8228

175,587 byte

10 second

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current11:46, 9 February 201210 s (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

The following page uses this file:

Global file usage

The following other wikis use this file:

Metadata