From 32ef4f9e792ca9c51138cdd625eb08bb8ef81d73 Mon Sep 17 00:00:00 2001 From: Nicky Chan Date: Thu, 5 Apr 2018 13:39:47 -0700 Subject: [PATCH] Add audio integration demo in scratch log to demonstrate read audio wave data and API usage (#363) --- demo/testing.wav | Bin 0 -> 64044 bytes demo/vdl_create_scratch_log | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 demo/testing.wav diff --git a/demo/testing.wav b/demo/testing.wav new file mode 100644 index 0000000000000000000000000000000000000000..a1170d8057d76ec1073a13089903e85332fe47ea GIT binary patch literal 64044 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�P_KW4$)-TF8>UDT+p9kYiD0jg}@78>5 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 Y!3J1BP3?3&tAqK-tRj>Au!5id8xn<)tN;K2 literal 0 HcmV?d00001 diff --git a/demo/vdl_create_scratch_log b/demo/vdl_create_scratch_log index 72a7cc09a..05131096f 100644 --- a/demo/vdl_create_scratch_log +++ b/demo/vdl_create_scratch_log @@ -3,6 +3,7 @@ import os import random import numpy as np +import wave from PIL import Image from visualdl import ROOT, LogWriter from visualdl.server.log import logger as log @@ -91,6 +92,32 @@ with logw.mode("train") as logger: image0.finish_sampling() + +#create audio +with logw.mode("train") as logger: + audio = logger.audio("scratch/audio_1", 4) # randomly sample 4 audio one pass + + CHUNK = 4096 + f = wave.open('./testing.wav', "rb") + wavdata = [] + chunk = f.readframes(CHUNK) + + while chunk: + data = np.fromstring(chunk, dtype='uint8') + wavdata.extend(data) + chunk = f.readframes(CHUNK) + + for pass_ in range(4): + audio.start_sampling() + for sample in range(10): + idx = audio.is_sample_taken() + if idx >= 0: + audio.set_sample(idx, 8000, wavdata) + + audio.finish_sampling() + + + def download_graph_image(): ''' This is a scratch demo, it do not generate a ONNX proto, but just download an image