Login
A   A   A  
welcome

 Album 

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

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

米Teen專頁

街景
2025-11-01 15:24:43
溫度27℃ 濕度75% 氣壓1015.17hPa
2025-10-31 14:59:48
閃電24km (0)
2025-10-31 14:59:48
閃電24km (0)
2025-10-31 14:59:48
閃電24km (0)
2025-10-31 14:59:47
閃電24km (0)
2025-10-31 14:35:01
閃電27km (0)
2025-10-30 17:57:03
閃電31km (0)
2025-10-30 17:17:28
閃電24km (0)
2025-10-27 17:51:30
閃電31km (0)
2025-10-25 14:35:14
閃電27km (0)
2025-10-25 14:35:12
閃電31km (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專頁

街景
2025-11-01 15:24:43
溫度27℃ 濕度75% 氣壓1015.17hPa
2025-10-31 14:59:48
閃電24km (0)
2025-10-31 14:59:48
閃電24km (0)
2025-10-31 14:59:48
閃電24km (0)
2025-10-31 14:59:47
閃電24km (0)
2025-10-31 14:35:01
閃電27km (0)
2025-10-30 17:57:03
閃電31km (0)
2025-10-30 17:17:28
閃電24km (0)
2025-10-27 17:51:30
閃電31km (0)
2025-10-25 14:35:14
閃電27km (0)
2025-10-25 14:35:12
閃電31km (0)
 ⇧