__ _ _ _ _ _
/ _(_) __| | ___| (_) |_ _ _
| |_| |/ _` |/ _ \ | | __| | | |
| _| | (_| | __/ | | |_| |_| |
|_| |_|\__,_|\___|_|_|\__|\__, |
|___/
Fidelity will run audio strategies comprised of a plethora of other audio tools.
rspec
When running fidelity from the commandline, prepend this to enable full stack traces on errors:
DEBUG=1 fidelity ...
Add this line to your application's Gemfile:
gem 'fidelity'
And then execute:
$ bundle
Or install it yourself as:
$ gem install fidelity
fidelity run <manifestfile>
fidelity analyze <directory>
fidelity process <s3-bucket>
Fidelity::ChainRunner.new(path).run(logger)
While
path
- a path to manifest filelogger
- optional, if given should be an instance of Logger
In most cases you will want to subclass the ChainRunner to make use of its callbacks.
The manifest file should contain the following:
---
:id: <id>
:chain:
- precursor
- kluuu_merge
- m4a
- ogg
- mp3
- ...
:talk_start: <timestamp>
:talk_stop: <timestamp>
:cut_conf:
- start: <offset>
end: <offset>
- start: <offset>
end: <offset>
- ...
Where...
- Timestamps are down to seconds (not milliseconds!).
- Offsets are down to milliseconds and are relative to the beginning.
cut_conf
may be nil, an empty Array or omited entirelychain
is a list of strategy names, either as array or as space separated string
- precursor
- normalize_fragments
- kluuu_merge
- user_merge
- normalize_users
- talk_merge
- trim
- cut
- normalize
- compress
- noise_gate
- squelch
- m4a
- mp3
- ogg
- move_clean
- jinglize
- auphonic
List durations of flv files, e.g.
ls -1 app/shared/recordings/t3338* | xargs -n 1 -irpl ffmpeg -i rpl 2>&1 | grep Duration