Discussion:
how do you use dtas?
Eric Wong
2015-12-05 02:00:28 UTC
Permalink
Just wondering how folks are currently using dtas these days.

dtas-ctl ... (which commands)

dtas-enq ...

dtas-tl addtail ...

dtas-console + interactive mode?

etc?

I mainly use "dtas-tl addtail|add|remove|clear" for casual listening,
sometimes "dtas-enq", and dtas-console for pausing/seeking; etc.


For EQ-ing on my own recordings:

1) I'll write a YAML file with a custom "command:" param for -splitfx

2) add the YAML file (via dtas-tl add/addtail or dtas-enq)

3) Edit the YAML files with my favorite editor;
relying on inotify (via sleepy_penguin RubyGem)
to pick when my editor saves the file.

This lets me hear EQ changes whenever I save the
YAML file in my editor (or the playback stops when I make a typo).

To loop a section of a track I want to focus on, I'll set:

dtas-tl repeat 1 && dtas-ctl trim START_TIME LENGTH

("dtas-ctl trim off && dtas-tl repeat false" to resume normal playback)
Rene Maurer
2015-12-06 12:38:21 UTC
Permalink
I use dtas for audio play back over USB.

Queue only (maybe I will replace this with dtas-tl in the future).

As I normally do a lot of things with python I have written some minimal
wrappers so I can use dtas together with python.

Commands in use:

dtas-enq
dtas-ctl source ed sox sink ed .... (sound card control)
dtas-ctl source ed sox command= .... (low/highpass and fadeout control)
dtas-ctl state dump /tmp/playerstate.yml
dtas-ctl clear | current | pause | play | seek | skip

Example workflow (this is how work as Tango DJ):

1. Start dtas-player:

dtas-player &
dtas-ctl source ed sox sink ed default env.AUDIODRIVER=alsa \
env.AUDIODEV=hw:1,0 env.SOX_OPTS=
dtas-ctl source ed sox command=exec sox "$INFILE" $SOXFMT - $TRIMFX \
$RGFX sinc 35 sinc -9k

2. Start QuodLibet
I use QuodLibet to manage my music library. I decide what to play next
and I use a plugin I have written for QuodLibet to add the next song(s)
to the dtas player queue. While playing for the audience (with dtas) I
use QuodLibet for pre-listening.

3. Start my own dtas queue viewer and minimal control application.
This is a very small application (using tk) that shows the content of
the queue and enables some control (mainly play, pause and fadeout).

4. I have planned to use more EQ settings depending on the decade of
the music (Music from the the thirties (Shellac) differs a lot from the
music of the fifties (Vinyl) which differs a lot from digital music of
these days).


Best René
Post by Eric Wong
Just wondering how folks are currently using dtas these days.
dtas-ctl ... (which commands)
dtas-enq ...
dtas-tl addtail ...
dtas-console + interactive mode?
etc?
I mainly use "dtas-tl addtail|add|remove|clear" for casual listening,
sometimes "dtas-enq", and dtas-console for pausing/seeking; etc.
1) I'll write a YAML file with a custom "command:" param for -splitfx
2) add the YAML file (via dtas-tl add/addtail or dtas-enq)
3) Edit the YAML files with my favorite editor;
relying on inotify (via sleepy_penguin RubyGem)
to pick when my editor saves the file.
This lets me hear EQ changes whenever I save the
YAML file in my editor (or the playback stops when I make a typo).
dtas-tl repeat 1 && dtas-ctl trim START_TIME LENGTH
("dtas-ctl trim off && dtas-tl repeat false" to resume normal
playback)
Eric Wong
2015-12-07 04:43:25 UTC
Permalink
Post by Rene Maurer
I use dtas for audio play back over USB.
Queue only (maybe I will replace this with dtas-tl in the future).
Thank you for that info!

I'm thinking about what to do with the tl (tracklist) stuff.
Some of it seems better-suited for high-level wrappers or
perhaps a separate process (spawned by dtas-player).

Things like removing a track or shuffling can take O(n) time
and have the potential to block a process if people do wacky
things like add 100K songs to the tracklist.

So there'll probably be a (configurable) limit on the
maximum number of tracks to keep performance reasonable.

I'll try to keep the existing command-line usage the same
as much as possible.
Post by Rene Maurer
4. I have planned to use more EQ settings depending on the decade of
the music (Music from the the thirties (Shellac) differs a lot from the
music of the fifties (Vinyl) which differs a lot from digital music of
these days).
You might benefit from using a YAML file like I typically do for
editing. The only downside is you need to create a YAML file
for each track, but that can be easily scripted, too.

The following YAML file should be playable on dtas 0.10.0 and later
(given an infile matching "foo.flac" in the same directory)

--------------- foo.yml ----------------
---
infile: foo.flac
command:
sox -M
"|sox $INFILE -p $TRIMFX $LFX"
"|sox $INFILE -p $TRIMFX $RFX" $SOXFMT - $CFX stats
env: !omap
SOX_OPTS: $SOX_OPTS -R --no-clobber --replay-gain=off
EQ:
equalizer 2.5k 0.9q -1
equalizer 4.7k 0.9q -1
equalizer 15k 0.7071q -3
equalizer 9.1k 0.9q -1
FX: gain 4
$EQ
highpass 20
LFX: remix 1v1 gain 0.5 equalizer 60 20h -3 $FX
RFX: remix 2v1 $FX
LIMITER_CFX: ladspa -lr tap_limiter -3 2.5
comments:
ARTIST: some artist
ALBUM: some album
tracks:
- t 0:00 "start"
- t 1:00 "cool part"
- t 2:00 "boring part"

Rene Maurer
2015-12-06 17:42:26 UTC
Permalink
Post by Eric Wong
3) Edit the YAML files with my favorite editor;
relying on inotify (via sleepy_penguin RubyGem)
to pick when my editor saves the file.
This lets me hear EQ changes whenever I save the
YAML file in my editor (or the playback stops when I make a typo).
dtas-tl repeat 1 && dtas-ctl trim START_TIME LENGTH
("dtas-ctl trim off && dtas-tl repeat false" to resume normal
playback)
Cool workflow!
Thank you very much for sharing this.
Loading...