-
Notifications
You must be signed in to change notification settings - Fork 2
/
transcribe.txt
239 lines (145 loc) · 8.55 KB
/
transcribe.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
*transcribe* Asynchronous Transcription plugin for NeoVim
T R A N S C R I B E . N V I M~
Version: unstable (under current development)
Original Author: Gabriel Alcaras <gaby.alcaras@gmail.com>
License: GNU GPLv3
TABLE OF CONTENTS *transcribe-contents*
==============================================================================
Introduction ....................... |transcribe-intro|
Install ............................ |transcribe-install|
Usage .............................. |transcribe-usage|
Default mappings ................. |transcribe-default-mappings|
Options .......................... |transcribe-options|
Commands ......................... |transcribe-commands|
Plugs ............................ |transcribe-plugs|
INTRODUCTION *transcribe-intro*
==============================================================================
|transcribe| is a NeoVim plugin aimed at helping humans to transcribe
recordings to text. Features include :
* Native bindings for media control:
* Load media (local file or remote URL), play and pause
* Set playback speed
* Seek forward or backward
* Time code management:
* Insert current time position in the buffer
* Directly go to time code under the cursor / on the current line
* Sync mode:
* Always keep the playback in sync with your position in the file, using
time codes.
INSTALL *transcribe-install*
==============================================================================
Use your favorite plugin manager.
Using vim-plug:
`Plug 'gaalcaras/transcribe.nvim', { 'do': 'make install' }`
*transcribe* relies on MPV and python-mpv for media playback. Run:
`make install`
to make sure they are both installed, or install them manually.
USAGE *transcribe-usage*
==============================================================================
Default mappings ................. |transcribe-default-mappings|
Options .......................... |transcribe-options|
Commands ......................... |transcribe-commands|
Plugs ............................ |transcribe-plugs|
DEFAULT MAPPINGS *transcribe-default-mappings*
------------------------------------------------------------------------------
|transcribe| uses mappings (both in normal and insert modes) to provide the
user with direct control over the media playback. All mappings have `<plug>`
and most of them have corresponding commands (|transcribe-commands|), except
those who are reserved to insert mode (|transcribe-plugs|).
Also note that most mappings won't do anything before you load a media file
(see |transcribe-commands|).
Mapping Mode Plug
-------------------------------------------------------
<leader><space> n |<plug>(transcribe-toggle-pause)|
<C-space> i |<plug>(transcribe-toggle-pause)|
<leader>k n |<plug>(transcribe-speed-inc)|
<C-k> i |<plug>(transcribe-speed-inc)|
<leader>j n |<plug>(transcribe-speed-dec)|
<C-j> i |<plug>(transcribe-speed-dec)|
<leader>l n |<plug>(transcribe-seek-forward)|
<C-l> i |<plug>(transcribe-seek-forward)|
<leader>h n |<plug>(transcribe-seek-backward)|
<C-h> i |<plug>(transcribe-seek-backward)|
<leader>p n |<plug>(transcribe-progress)|
<C-t> i |<plug>(transcribe-timepos-get)|
<leader>gw n |<plug>(transcribe-timepos-curword)|
<leader>gl n |<plug>(transcribe-timepos-curline)|
<C-l> i |<plug>(transcribe-timepos-curline)|
<leader>ms n |<plug>(transcribe-sync-mode)|
You can customize these mappings, for instance:
`nmap <silent><buffer> <C-space> <plug>(transcribe-toggle-pause)`
OPTIONS *transcribe-options*
------------------------------------------------------------------------------
*g:transcribe_localleader*
Use `<localleader>` instead of `<leader>` for all normal mappings.
Default value: 0
*g:transcribe_speed_inc*
Set speed increase or decrease increment. See |TranscribeSpeedInc| or
|TranscribeSpeedDec|.
Default value: 0.1
*g:transcribe_seek_inc*
Set seek forward or backward increment. See |TranscribeSeekForward| or
|TranscribeSeekBackward|.
Default value: 15
COMMANDS *transcribe-commands*
------------------------------------------------------------------------------
Most of the commands remain unavailable unless you explicitely load a media
file, for instance with |TranscribeAudio|.
:TranscribeAudio *TranscribeAudio*
Load local file or URL and automatically start playback once
media file is loaded.
If you give a URL as an argument (e.g. a YouTube video), you
might have to wait a while before playback begins: mpv uses
youtube-dl to download the file.
`:TranscribeAudio https://www.youtube.com/watch?v=o8NPllzkFhE`
`:TranscribeAudio /path/to/file.mp3`
*<plug>(transcribe-toggle-pause)*
:TranscribePause *TranscribePause*
Pause or resume playback.
:TranscribeSpeedSet *TranscribeSpeedSet*
Directly set playback speed. Takes one mandatory argument
which can be any positive decimal number.
`:TranscribeSpeedSet 0.8`
*<plug>(transcribe-speed-inc)*
:TranscribeSpeedInc *TranscribeSpeedInc*
Increase playback speed by adding 0.1 to current setting.
*<plug>(transcribe-speed-dec)*
:TranscribeSpeedDec *TranscribeSpeedDec*
Decrease playback speed by subtracting 0.1 to current setting.
:TranscribeSeek *TranscribeSeek*
Seek forward or backward. Takes one mandatory argument which
can be any nonzero integer.
`:TranscribeSeek -15`
*<plug>(transcribe-seek-forward)*
:TranscribeSeekForward *TranscribeSeekForward*
Seek forward 15 seconds.
*<plug>(transcribe-seek-backward)*
:TranscribeSeekBackward *TranscribeSeekBackward*
Seek backward 15 seconds.
*<plug>(transcribe-progress)*
:TranscribeProgress *TranscribeProgress*
Display current progress (time position in media file and
percentage).
:TranscribeGoto *TranscribeGoto*
Jump to time position. Takes one mandatory argument for the
time position (%H:%M:%S or %M:%S).
`:TranscribeGoto 00:01:35`
`:TranscribeGoto 03:54`
*<plug>(transcribe-sync-mode)*
:TranscribeToggleSyncMode *TranscribeToggleSyncMode*
Toggle on/off transcribe "sync mode". Sync mode works in
normal mode only. If on, transcribe will asynchronously go to
the first timecode on the current line. This allows you to
move around your file while always keeping the playback in
sync.
PLUGS *transcribe-plugs*
------------------------------------------------------------------------------
This a list of mappings (|transcribe-mappings|) without matching commands
(|transcribe-commands|).
*<plug>(transcribe-timepos-get)*
Write current time position in media file (only in insert
mode).
*<plug>(transcribe-timepos-curword)*
Go to the time code currently under the cursor.
*<plug>(transcribe-timepos-curline)*
Go to the first time code on the current line.