aprog_ideas_taact.note (2283B)
1 2 taact 3 ================================================================================ 4 5 6 **T**erminal **A**udio **Act**ion 7 8 9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 | 1 What? | 11 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 A TUI program that lets the user perform audio editing in the terminal, with 13 the ability to "scroll" through the audio file and play segments, like one 14 would with programs like Audacity. 15 16 _If I find that it's worth it, taact might also implement some audio effects, 17 mixing and other functionality found in Audacity. It could also be a good 18 opportunity to use some of the ideas found in mini\_projects.md 19 I suspect that sox, or at least Csound already has a lot of effects covered, 20 though, so I will focus on creating a program for quickly editing audio 21 samples in the terminal_ 22 23 24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 | 2 Why? | 26 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27 The program sox seems like a good program for certain audio editing tasks, 28 however a command based program can only go so far. Rerunning `play` and `trim` 29 commands until the timing is right seems tedious. `taact` will be a vim-like 30 audio editing program that lets you scroll through an audio clip with a chosen 31 level of precision (sec, ms, samples) and with a single button press play from 32 the current position in the audio clip. 33 34 This way it should be easier to find the right place to slice the audio or set 35 markers that can be used by other programs, for instance Csound or sox. 36 37 38 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39 | 3 How? | 40 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 41 As this will be a TUI, the easiest way to implement it might be with (n)curses, 42 although it is worth looking into using ANSI escape sequences directly to 43 determine keys pressed...