@@ -12,6 +12,7 @@ VisualDL 是一个面向深度学习任务设计的可视化工具。VisualDL
12
12
| :----------------------------------------------------------: | :--------: | :----------------------------------------------------------- |
13
13
| [ Scalar] ( #Scalar--标量组件 ) | 折线图 | 动态展示损失函数值、准确率等标量数据 |
14
14
| [ Image] ( #Image--图片可视化组件 ) | 图片可视化 | 显示图片,可显示输入图片和处理后的结果,便于查看中间过程的变化 |
15
+ | [ Audio] ( #Audio--音频可视化组件 ) | 音频可视化 | 播放训练过程中的音频数据,监控语音识别与合成等任务的训练过程 |
15
16
| [ Graph] ( #Graph--网络结构组件 ) | 网络结构 | 展示网络结构、节点属性及数据流向,辅助学习、优化网络结构 |
16
17
| [ Histogram] ( #Histogram--直方图组件 ) | 直方图 | 展示训练过程中权重、梯度等张量的分布 |
17
18
| [ PR Curve] ( #PR-Curve--PR曲线组件 ) | 折线图 | 权衡精度与召回率之间的平衡关系 |
@@ -265,6 +266,107 @@ visualdl --logdir ./log --port 8080
265
266
<img src =" https://visualdl.bj.bcebos.com/images/image-eye.gif " width =" 60% " />
266
267
</p >
267
268
269
+ ## Audio--音频可视化组件
270
+
271
+ ### 介绍
272
+
273
+ Audio组件实时查看训练过程中的音频数据,监控语音识别与合成等任务的训练过程。
274
+
275
+ ### 记录接口
276
+
277
+ Audio 组件的记录接口如下:
278
+
279
+ ``` python
280
+ add_audio(tag, audio_array, step, sample_rate)
281
+ ```
282
+ 接口参数说明如下:
283
+ | 参数 | 格式 | 含义 |
284
+ | -------- | ------------- | ------------------------------------------- |
285
+ | tag | string | 记录指标的标志,如` audio_tag ` ,不能含有` % ` |
286
+ | audio_arry | numpy.ndarray | 以ndarray格式表示的音频 |
287
+ | step | int | 记录的步数 |
288
+ | sample_rate | int | 采样率 |
289
+
290
+
291
+ ### Demo
292
+
293
+ ``` python
294
+ from visualdl import LogWriter
295
+ import numpy as np
296
+ import wave
297
+
298
+
299
+ def read_audio_data (audio_path ):
300
+ """
301
+ Get audio data.
302
+ """
303
+ CHUNK = 4096
304
+ f = wave.open(audio_path, " rb" )
305
+ wavdata = []
306
+ chunk = f.readframes(CHUNK )
307
+ while chunk:
308
+ data = np.frombuffer(chunk, dtype = ' uint8' )
309
+ wavdata.extend(data)
310
+ chunk = f.readframes(CHUNK )
311
+ # 8k sample rate, 16bit frame, 1 channel
312
+ shape = [8000 , 2 , 1 ]
313
+ return shape, wavdata
314
+
315
+
316
+ if __name__ == ' __main__' :
317
+ with LogWriter(logdir = " vdl_audio_0713" ) as writer:
318
+ audio_shape, audio_data = read_audio_data(" ./testing.wav" )
319
+ audio_data = np.array(audio_data)
320
+ writer.add_audio(tag = " audio_tag" ,
321
+ audio_array = audio_data,
322
+ step = 0 ,
323
+ sample_rate = 8000 )
324
+ ```
325
+
326
+ 运行上述程序后,在命令行执行
327
+ ``` shell
328
+ visualdl --logdir ./log --port 8080
329
+ ```
330
+
331
+ 在浏览器输入` http://127.0.0.1:8080 ` ,即可查看图片数据。
332
+
333
+ <p align =" center " >
334
+ <img src =" https://user-images.githubusercontent.com/48054808/87659138-b4746880-c78f-11ea-965b-c33804e7c296.png " width =" 90% " />
335
+ </p >
336
+
337
+ ### 功能操作说明
338
+
339
+ - 可搜索音频标签显示对应音频数据
340
+
341
+ <p align =" center " >
342
+ <img src =" https://user-images.githubusercontent.com/48054808/87661431-29956d00-c793-11ea-833b-172d8fc1b221.png " width =" 80% " />
343
+ </p >
344
+
345
+ - 支持滑动Step/迭代次数查看不同迭代次数下的音频数据
346
+
347
+ <p align =" center " >
348
+ <img src =" https://user-images.githubusercontent.com/48054808/87661089-a07e3600-c792-11ea-8740-cbe99a64d830.png " width =" 40% " />
349
+ </p >
350
+
351
+ - 支持播放/暂停音频数据
352
+
353
+ <p align =" center " >
354
+ <img src =" https://user-images.githubusercontent.com/48054808/87661130-b3910600-c792-11ea-9f9f-2ae66132e9de.png " width =" 40% " />
355
+ </p >
356
+
357
+ - 支持音量调节
358
+
359
+ <p align =" center " >
360
+ <img src =" https://user-images.githubusercontent.com/48054808/87661497-49c52c00-c793-11ea-9eeb-471543cd2a0b.png " width =" 40% " />
361
+ </p >
362
+
363
+ - 支持音频下载
364
+
365
+ <p align =" center " >
366
+ <img src =" https://user-images.githubusercontent.com/48054808/87661166-c277b880-c792-11ea-8ad7-5c60bb08379b.png " width =" 40% " />
367
+ </p >
368
+
369
+
268
370
## Graph--网络结构组件
269
371
270
372
### 介绍
0 commit comments