【发布时间】:2022-01-08 00:42:41
【问题描述】:
我正在尝试使用 WebGL 着色器来可视化一些音频数据。我有一个代表标准化 .wav 文件的数字数组:
"demo": {"duration": 0.021111111111111112, "samplerate": 44100, "subsample": 100, "data":
[-0.018585205078125, -0.05145263671875, 0.0645751953125, -0.059326171875, 0.006072998046875,
-0.0294189453125, 0.04620361328125, 0.0694580078125, -0.0849609375, -0.053253173828125,
-0.133697509765625, 0.002166748046875, 0.110931396484375, 0.052337646484375, 0.1214599609375,
-0.19488525390625, 0.00970458984375, 0.0145263671875, -0.01446533203125, 0.12530517578125,
-0.115997314453125, 0.010589599609375, -0.127838134765625, 0.0775146484375, -0.0048828125,
0.001007080078125, -0.164337158203125, -0.146270751953125, 0.077545166015625, -0.012725830078125,
0.087158203125, -0.130462646484375, 0.088287353515625, -0.02996826171875, 0.156280517578125,
0.0230712890625, 0.199920654296875, -0.062164306640625, -0.166107177734375, 0.04888916015625,
-0.00384521484375, 0.1611328125, -0.153961181640625, -0.164947509765625, 0.03314208984375,
0.098052978515625, 0.042083740234375, 0.1318359375, -0.2388916015625, 0.100006103515625,
0.04754638671875, 0.009674072265625, 0.1630859375, -0.161834716796875, 0.005584716796875,
-0.126953125, 0.04388427734375, 0.048095703125, 0.13763427734375, -0.148406982421875,
-0.250274658203125, 0.04815673828125, 0.087371826171875, 0.0931396484375, -0.02789306640625,
-0.282073974609375, 0.134063720703125, 0.14483642578125, -0.0025634765625, 0.206756591796875,
-0.350555419921875, 0.19439697265625, -0.004638671875, 0.03741455078125, 0.203338623046875,
-0.222137451171875, 0.04315185546875, -0.19219970703125, 0.10284423828125, 0.069976806640625,
0.062530517578125, -0.0782470703125, -0.22076416015625, 0.13287353515625, 0.031341552734375,
0.08673095703125]}
我一直在关注 this example 通过 Uint8Array(numPoints) 在着色器中使用音频数据,并且想知道:
- 我的归一化波形数据能否转换为
Uint8Array? -
Uint8Arrays 是唯一可以传入着色器的数组吗? - 我的实际波形包含大量数据,大约 1MB。我想知道这是否是尝试通过纹理传递到着色器的数据量不合理,是否有办法让我对数据进行“二次采样”以便需要更少的点?
【问题讨论】:
标签: webgl