скрипт для разбора каталога и переименования с тем же именем и изменения только расширения (после конвертации с использованием sphinx)

Я использую pocketsphinx для преобразования аудио файла в текст. Эти две команды должны выполнить работу:

Сначала я запускаю

ffmpeg -i file.mp3 -ar 16000 -ac 1 file.wav

, затем я запускаю

pocketsphinx_continuous -infile file.wav 2> pocketsphinx.log > result.txt

Я делаю это для каждого файла (mp4 или mp3), Я хочу выполнить эти две команды только один раз в сценарии, просматривая содержимое каталога (файлы с расширением mp3 или mp4), и присвоить файлу одно и то же имя с расширением .txt (например, для файла с первой командой). mp3 "становится" file.wav ", затем с помощью второй команды" file.wav "становится" file.txt ").

Как это сделать, используя один файл скрипта?

1
задан 11 September 2019 в 01:58

1 ответ

#!/usr/bin/env bash

dir=$1

for path in "$dir"/*.mp3; do
  name=$(basename "$path")
  ffmpeg -i "$path" -ar 16000 -ac 1 "$dir/$name.wav"
  pocketsphinx_continuous -infile "$dir/$name.wav" 2> "$dir/pocketsphinx.log" > "$dir/$name.txt"
done

Сохраните сценарий где-нибудь как convert_all.sh и chmod +x это также. Затем используйте его как это:

./convert_all.sh path/to/some/dir

Это получит весь .mp3s в том каталоге, преобразует их в .wav затем выполненный сфинкс на них.

0
ответ дан 7 December 2019 в 18:50

Другие вопросы по тегам:

Похожие вопросы: