Comments (3)
Yes, let's add this! A few comments:
Scaper._instantiate()
also touchesself.duration
. It also callsself._instantiate_event()
which touchesself.bg_path
,self.fg_path
,self.bg_labels
,self.fg_labels
,self.protected_labels
andself.duration
. Then there's_generate_audio()
which touches pretty much all other parameters inself.*
. All this to say, there's a big difference between the notion of resetting the Scaper object and just resetting the event specifications, and we should limit ourselves to the latter in this context.- It occurred to me that there's a valid (and common) use case for wanting to only reset either the foreground or background spec, for example when you want the same background but different foreground events, and vice versa (e.g. for model evaluation ablations). So how about we break this down into
reset_fg_event_spec()
andreset_bg_evet_spec()
? - The implementation, as you've noted, is trivial. Where I think we need to spend time/effort is in documenting the behavior of these functions in docstrings, as well as explaining and demonstrating with examples in the documentation how to use them.
- In terms of tests, the trivial ones to add are to check that the lists have been set to empty lists. Next, we can create a Scaper object and add events to it and then reset the specs, and compare it to another objects that hasn't had events added to it, and they should be identical. Finally, we could have a test that creates a Scaper object, adds events to it and instantiates a JAMS file. Then we reset the event specs, start it off with the same seed again, repeat the process and instantiate another JAMS. The two JAMS files should be identical.
- This just made me thing: in additional to providing a random seed as part of the init function, do we also want to add a function
Scaper.set_random_seed()
in case someone wants to change the random seed of an already existing Scaper object?
How does this all sound?
from scaper.
All sounds good. I'll fold this into #54!
from scaper.
Added via #54
from scaper.
Related Issues (20)
- Test more platforms. HOT 1
- Write JAMS annotations in consistent order
- Scaper sometimes produces soundscapes with clipping if ref_db is set badly. HOT 1
- Remove ann.sandbox.scaper.soundscape_audio_path and isolated_events_audio_path
- Create more regression data for #132 + other test strengthening HOT 1
- Consolidate jams metadata saving for generate and generate_from_jams
- Reverb and clipping/peak normalization
- Change sox version pin in setup.py from ==1.4.0 to >=1.4.0
- redundant unnecessary repetitive calling of _validate_source_file() in nested loops HOT 2
- General and speech recognition enhancement HOT 2
- scaper.scaper_exceptions.ScaperError: Label value must match one of the available labels: [] HOT 1
- Manage co-occurence of events HOT 2
- 'Choose' with non uniform distribution HOT 6
- Soxbindings problem python3.7 HOT 3
- Applying reverb to each source file HOT 1
- Multi-speaker mixture
- Sum-up of isolated events and soundscape are not equal, when Reverb=None
- Does fg_spec need to store all provided paths?
- Please expose the soundfile subtype parameter as a self parameter
- Unable to install scaper through pip on macOS HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scaper.