Login
A   A   A  
welcome

 Album 

米Teen唔鐘意玩現成品,喜歡由零件開始砌。99次失敗唔係問題,最緊要係有1次成功!

米Teen總部設在聖公會白約翰會督中學506室,在午膳後和放學後集會。有興趣參與的同學,請與會長或導師聯絡。

米Teen專頁

街景
2026-03-10 11:09:46
溫度21℃ 濕度94% 氣壓1024.31hPa
2026-03-07 14:35:19
閃電31km (0)
2026-03-03 23:29:57
閃電27km (0)
2026-03-03 23:03:20
閃電20km (0)
2026-03-03 22:44:22
閃電5km (12)
2026-03-03 22:37:00
閃電5km (2)
2026-03-03 22:28:53
閃電5km (10)
2026-03-03 14:40:13
閃電27km (0)
2026-03-02 22:24:19
閃電24km (0)
2026-03-02 21:15:14
閃電27km (0)
2026-03-02 19:30:22
閃電24km (0)

Sine wave generator

icon

Home>ICT>Sine wave ...

Wave file format

A wave file consists of a 44 bytes header and sound wave samples.

data chunk size = number of sample frames * 4 (4 bytes for stereo and 16 bit samples)
file size = 44 + data chunk size
numbers are stored with least significant byte first (little-endian)
[4]-[7] value=file size-8=data chunk size+36
[22]-[23] number of channels, stereo=2
[24]-[27] sampling rate
[28]-[31] byte rate=sampling rate * NumChannels * BitsPerSample/8
[34]-[35] bits per sample, value 16 for 16 bits
[40]-[43] data chunk size
[44]- the sound samples (16 bit signed integer, 2 bytes for the left followed by 2 bytes for the right)

ref: bit rate for 44100Hz 16bit stereo = 1411200bps

Left (Hz):
Right (Hz):
Duration (max 8s):

sampling of a sine wave

A=amplitude
f=frequency of the sine wave
T=period=1/f
R=sampling rate
t=time=i*1/R (i=loop counter)
s=sample=A*sin(2*pi*t/T)
=A*sin(2*pi*f*t)
=A*sin(2*pi*f*i/R)

Unlike many other programming languages, JavaScript numbers are always stored as double precision floating point numbers. 16-bit wave samples are stored as 2's-complement signed integers, ranging from -32768 to 32767 (little-endian). Therefore, negative JavaScript numbers must be converted to 2's complement format before converting to base64 characters.
if (s<0) s=s+65536;

ref: WAVE PCM sound file format

welcome

 Album 

米Teen唔鐘意玩現成品,喜歡由零件開始砌。99次失敗唔係問題,最緊要係有1次成功!

米Teen總部設在聖公會白約翰會督中學506室,在午膳後和放學後集會。有興趣參與的同學,請與會長或導師聯絡。

米Teen專頁

街景
2026-03-10 11:09:46
溫度21℃ 濕度94% 氣壓1024.31hPa
2026-03-07 14:35:19
閃電31km (0)
2026-03-03 23:29:57
閃電27km (0)
2026-03-03 23:03:20
閃電20km (0)
2026-03-03 22:44:22
閃電5km (12)
2026-03-03 22:37:00
閃電5km (2)
2026-03-03 22:28:53
閃電5km (10)
2026-03-03 14:40:13
閃電27km (0)
2026-03-02 22:24:19
閃電24km (0)
2026-03-02 21:15:14
閃電27km (0)
2026-03-02 19:30:22
閃電24km (0)
 ⇧