nyanpasu64
7304464560
Rewrite CLI and Ovgenpy() using Channel class
2018-07-29 06:35:33 -07:00
nyanpasu64
992702f317
misc
2018-07-29 06:35:31 -07:00
nyanpasu64
a096f0ffe9
wat
...
# wave_folder must not be used, except to to initialize wave_prefix and channels.
# When exporting YAML, this is exported as a comment.
wave_folder: str = ''
# Remove this field, create @classmethod constructors for loading from
# [glob/wave]... wave_folder will not be present in saved yaml files.
2018-07-29 06:35:29 -07:00
nyanpasu64
e66d3cb58c
Switch to custom keyword_dataclasses.py
...
Whenever non-default arguments follow default arguments, they are marked
as keyword-only: f(a=1, *, b)
2018-07-29 06:35:27 -07:00
nyanpasu64
965ba169de
Fix and update ChannelConfig
2018-07-29 06:35:25 -07:00
nyanpasu64
18140572f6
Rename Wave(wcfg) to cfg
2018-07-29 06:35:23 -07:00
nyanpasu64
be0aa5791c
Rename Config.wave_dir to wave_folder
2018-07-29 06:35:21 -07:00
nyanpasu64
201b05cc30
Rename WaveConfig to _WaveConfig, don't expose via YAML
2018-07-29 06:35:19 -07:00
nyanpasu64
7f0e1ccaba
(Config YAML) Add support for always dumping default fields
...
@register_config(always_dump='field names || *')
2018-07-29 06:35:17 -07:00
nyanpasu64
1124c46f1e
Type-check fields, when loading config dataclasses from YAML
2018-07-29 06:35:15 -07:00
nyanpasu64
960770fec0
Merge branch 'channel' into yaml
2018-07-29 06:35:02 -07:00
nyanpasu64
ceb673dcf1
Remove main() command line, add YAML dumping test
2018-07-29 06:33:52 -07:00
nyanpasu64
3bc7fdf81d
Rename cfg.audio_path to master_audio
2018-07-25 05:25:53 -07:00
nyanpasu64
648829b4d9
Exclude default fields from YAML dumping. Add dumping unit tests.
2018-07-25 05:19:46 -07:00
nyanpasu64
a87642b38c
Rename register_dataclass to register_config
2018-07-25 05:19:45 -07:00
nyanpasu64
65655b2645
[wip] Make config classes dumpable via YAML, rename base configs
2018-07-25 05:19:45 -07:00
nyanpasu64
63d1cb0352
Change Config values. Reorganize Config variable order for usability.
2018-07-23 20:44:24 -07:00
nyanpasu64
2928af9b01
Print current time once a second (to check progress)
2018-07-23 20:39:15 -07:00
nyanpasu64
19c0909752
Add amplification to WaveConfig
2018-07-23 20:38:15 -07:00
nyanpasu64
81c19aff2e
Fix loading stereo files
2018-07-23 20:27:35 -07:00
nyanpasu64
5dcbaa544e
Sort audio files, when loading from wave_dir
2018-07-23 20:27:06 -07:00
nyanpasu64
c27749f0e0
Reorganize outputs.py
2018-07-23 20:25:53 -07:00
nyanpasu64
d62d1203a0
Add --audio alias
2018-07-23 19:21:04 -07:00
nyanpasu64
586baa1d59
Fix Linux support (force Agg backend without GUI) (hack)
2018-07-23 03:49:29 -07:00
nyanpasu64
55f45d68c9
Fix Linux support (calling subprocess.Popen)
2018-07-23 02:43:05 -07:00
nyanpasu64
10bad44513
reformatting
2018-07-22 05:35:32 -07:00
nyanpasu64
0abe8968fa
Restore ability to set create_window=True
2018-07-22 05:11:34 -07:00
nyanpasu64
366cffda04
Use ffmpeg to mux video and audio for ffplay
2018-07-22 05:06:46 -07:00
nyanpasu64
de36194085
Switch command-line options from --audio_path to --audio-path
2018-07-22 04:55:07 -07:00
nyanpasu64
56f98c4823
Implement FFplayOutput. Factor out ProcessOutput and _FFmpegCommand.
2018-07-22 03:51:38 -07:00
nyanpasu64
e4399640bc
whatever
2018-07-22 03:51:29 -07:00
nyanpasu64
0a3ffe118c
Change FFmpeg command to overwrite existing videos
2018-07-22 03:18:32 -07:00
nyanpasu64
b14d60fd75
Render to video using raw image data. Hide GUI.
...
Hide GUI since it changes window size, breaking the rendering process.
2018-07-22 03:17:31 -07:00
nyanpasu64
9816001f9d
[wip] Frame capture and FFmpeg video output
2018-07-22 02:06:10 -07:00
nyanpasu64
46df1b8adc
Rename master_wave to audio_path [ovgenpy.py]
2018-07-22 00:42:24 -07:00
nyanpasu64
206294f5c2
Check np.floating instead of np.float (fixes FutureWarning)
2018-07-20 14:26:02 -07:00
nyanpasu64
8729e46cdf
wip
2018-07-20 14:19:43 -07:00
nyanpasu64
bf30acefc0
Trigger references Wave using weakref
2018-07-20 12:53:31 -07:00
nyanpasu64
1d7f29b943
Remove TODO message from Wave
2018-07-20 02:22:53 -07:00
nyanpasu64
c50ed2853e
Perform most CorrelationTrigger calculations using FLOAT
2018-07-20 02:04:37 -07:00
nyanpasu64
34c660b55a
Switch internal calculations to single-precision FLOAT
2018-07-20 01:29:49 -07:00
nyanpasu64
949baead3e
Clarify Wave class "center"
2018-07-20 01:23:41 -07:00
nyanpasu64
332413e8ef
Refactor Wave class and add support for float waves
2018-07-20 01:23:41 -07:00
nyanpasu64
26e3f36375
Optimize imports
2018-07-20 01:11:56 -07:00
nyanpasu64
fd4f8a8645
Clarify CorrelationTrigger get_trigger(index)
2018-07-19 22:37:40 -07:00
nyanpasu64
194ce67e0f
Remove trailing whitespace
2018-07-19 22:31:15 -07:00
nyanpasu64
fb7932b952
Read WAV files using mmap=True
2018-07-16 18:23:53 -07:00
nyanpasu64
af41500266
Add scan_ratio parameter (scan time = time_visible_ms * scan_ratio)
...
Remove hardcoded scanning distance
2018-07-16 18:23:31 -07:00
nyanpasu64
2ad624be03
RendererConfig calculates orientation based on nrows or ncols.
...
- Ensure either nrows or ncols is set.
- If neither, set ncols=1 (single column).
- Remove rows_first flag.
Add test_renderer.py
2018-07-15 23:42:17 -07:00
nyanpasu64
8b71df0bbb
Replace samples_visible with time_visible_ms
...
Factor out wave-reading code from MatplotlibRenderer backend.
MatplotlibRenderer backend hopefully plots arbitrary data, and can be
swapped with other backends.
2018-07-15 23:42:17 -07:00
nyanpasu64
56502d876f
Reorganize and cleanup imports
2018-07-15 05:55:00 -07:00
nyanpasu64
7a5e0b11f1
Mark Wave(wcfg: WaveConfig) as Optional
2018-07-15 05:54:45 -07:00
nyanpasu64
20cbdab20f
Add use_edge_trigger flag to CorrelationTrigger, tweak config parameters
2018-07-15 04:26:54 -07:00
nyanpasu64
e23145e193
Fix ZeroCrossingTrigger slowdown by removing `idx in range(...)`
2018-07-15 04:05:41 -07:00
nyanpasu64
709661dd93
Add Renderer.nwaves, refactor CorrelationTrigger and Wave
2018-07-15 04:04:53 -07:00
nyanpasu64
7a615c6d2a
Removed unused utils/fourier.py
2018-07-15 04:01:13 -07:00
nyanpasu64
d7f15b233b
Add ZeroCrossingTrigger and call it from CorrelationTrigger
2018-07-15 03:11:58 -07:00
nyanpasu64
9b9288f7ad
Rename Trigger.get_trigger(offset) to index
2018-07-15 03:11:17 -07:00
nyanpasu64
90b2dc5afd
Add type hints to Wave.__getitem__
2018-07-15 03:09:48 -07:00
nyanpasu64
b01251fd21
Fix CorrelationTrigger and remove debugging code
2018-07-14 16:07:06 -07:00
nyanpasu64
1b50590ecc
Remove debugging code (SHOW_TRIGGER)
2018-07-14 15:45:07 -07:00
nyanpasu64
0e575d9792
Fix CorrelationTrigger
2018-07-14 15:42:10 -07:00
nyanpasu64
a889903f4f
Rename CorrelationTrigger._prev_buffer to _buffer, mark members private
2018-07-14 03:36:16 -07:00
nyanpasu64
6ccf84ff2d
Replace TriggerConfig with CorrelationTrigger.Config. Add responsiveness.
2018-07-14 02:06:07 -07:00
nyanpasu64
c7ca023163
[wip] Half-working trigger
2018-07-13 23:54:14 -07:00
nyanpasu64
a35c3fc9bc
Move renderer, triggers, wave to separate file
2018-07-13 20:58:00 -07:00
nyanpasu64
18c5720c54
Extract Wave.get(begin, end) from Wave.get_around
2018-07-13 20:57:19 -07:00
nyanpasu64
0e7f15ffbc
[wip] Add buffer to CorrelationTrigger
2018-07-13 20:57:12 -07:00
nyanpasu64
df53a09328
Load waveform data from .wav. Rescale and zero-pad data.
2018-07-13 06:57:00 -07:00
nyanpasu64
48c4b14f5d
Rename RendererCfg, TriggerCfg to RendererConfig, TriggerConfig
2018-07-13 06:55:17 -07:00
nyanpasu64
1a3aa5b3cb
Rename Trigger to CorrelationTrigger with base class Trigger
2018-07-13 05:43:33 -07:00
nyanpasu64
013488a168
Use TriggerCfg as factory
2018-07-13 05:37:22 -07:00
nyanpasu64
b69c232e63
Add TriggerCfg which acts as factory
2018-07-13 05:08:19 -07:00
nyanpasu64
a19c02974f
Reorganize and cleanup code, remove unused class Coords
2018-07-13 04:49:59 -07:00
nyanpasu64
beae6e8b2b
Switch to integrated Brownian noise
2018-07-13 04:09:11 -07:00
nyanpasu64
a2fd00ef4e
Add FPS profiling
2018-07-13 04:05:31 -07:00
nyanpasu64
faef07ba5c
Set vertical scale properly
2018-07-13 03:55:56 -07:00
nyanpasu64
bee76bdd0b
Set horizontal scale properly
2018-07-13 03:48:36 -07:00
nyanpasu64
3ee8f544c0
the plot almost works
2018-07-13 02:33:44 -07:00
nyanpasu64
131281268d
Use pyplot to generate Figure and Axes[]. Remove figure gaps.
2018-07-13 02:29:51 -07:00
nyanpasu64
a14472b7ae
[wip] Create Axes using subplot(), flatten to 1D array in custom order
2018-07-13 02:20:21 -07:00
nyanpasu64
0a11363f7b
[wip] Plot waves to screen
2018-07-13 00:41:11 -07:00
nyanpasu64
e049260044
delete unused code
2018-07-12 19:30:35 -07:00
nyanpasu64
3d13666a72
reformat
2018-07-12 19:30:07 -07:00
nyanpasu64
4274744142
fixed the CLI
2018-07-12 19:29:05 -07:00
nyanpasu64
5dc16ea7de
meh
2018-07-12 18:37:18 -07:00
nyanpasu64
3545240b9e
progress
2018-07-12 17:48:51 -07:00
nyanpasu64
e0bcd53be4
initial code
2018-07-12 15:27:26 -07:00