42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
|
#!/bin/bash
|
||
|
# Record a few seconds of system audio, and save. Intended to seamlessly record
|
||
|
# audio for anki cards, while watching anime. MacOS only
|
||
|
#
|
||
|
# May require changing capture device. Find available options with:
|
||
|
# $ ffmpeg -f avfoundation -list_devices true -i ""
|
||
|
# Change the number in the ffmpeg argument to desired device. BlackHole-2ch is
|
||
|
# recommended for recording macos system audio. Make sure vlc's output device
|
||
|
# is an aggregate of BlackHole-2ch and the speakers
|
||
|
#
|
||
|
# External dependencies: ffmepg, BlackHole-2ch
|
||
|
|
||
|
if [[ $(uname) != 'Darwin' ]]; then
|
||
|
printf 'This is meant for MacOS\nAborting...\n'
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
recording_name="$(date +'%m_%d_%Y-%H_%M_%S' | awk '{printf("%s%s", $0, ".mp3")}')"
|
||
|
|
||
|
mkdir -p ~/Desktop/anki_recordings
|
||
|
|
||
|
ffmpeg \
|
||
|
-f avfoundation \
|
||
|
-i ":2" -filter:a "atempo=0.95" \
|
||
|
-t "${1:-6}" \
|
||
|
~/"Desktop/anki_recordings/${recording_name}"
|
||
|
|
||
|
unset recording_name
|
||
|
|
||
|
# Further reference ====
|
||
|
# Rec audio with ffmpeg
|
||
|
# https://apple.stackexchange.com/questions/326388/terminal-command-to-record-audio-through-macbook-microphone
|
||
|
#
|
||
|
# With vlc? Wouldn't require BlackHole-2ch this way
|
||
|
# https://forum.videolan.org/viewtopic.php?t=87923
|
||
|
#
|
||
|
# Trim on the fly? Save a unix timestamp in a file, then have ffmpeg trim the
|
||
|
# recording based on the time in the file. Use a second hotkey to edit the
|
||
|
# file's time with the current timestamp. Default should be +10s from start
|
||
|
# https://unix.stackexchange.com/questions/182602/trim-audio-file-using-start-and-stop-times
|
||
|
# ex: set syntax=bash:ff=unix:
|