Skip to main content

Create an audio program from a text file containing English sentences

Project description

apg (audio_program_generator)

Generates an audio program from a text file containing English sentences

Prerequisites

  • Some relatively recent version of Python (3.7+)
  • FFMPEG with at least the ability to read mp3s and wavs, and write mp3s

Installation & Basic Use:

Using pip:

$ pip install audio-program-generator
$ python
>>> from audio_program_generator import apg
>>> apg.main()

From source:

$ git clone https://github.com/jeffwright13/audio_program_generator.git
$ cd audio_program_generator
$ poetry build
$ poetry shell
$ apg --help

Description:

Generate audio program of spoken phrases, with optional background sound file mixed in.

User populates a semicolon-separated text file with plain-text phrases, each followed by an inter-phrase duration. Each line of the file is comprised of:

  • one phrase to be spoken
  • a semicolon
  • a silence duration (specified in seconds)

The script generates and saves a single MP3 file. The base name of the MP3 file is the same as the specified input file. So, for example, if the script is given input file "phrases.txt", the output file will be "phrases.mp3".

The "mix" command is used to mix in background sounds. This command takes an extra parameter, the path/filename of a sound file to be mixed in with the speech file generated from the phrase file. If the sound file is shorter in duration than the generated speech file, it will be looped. If it is longer, it will be truncated. The resulting background sound (looped or not) will be faded in and out to ensure a smooth transition. Currently, only .wav files are supported as inputs.

Usage:

apg [options] <phrase_file>
apg [options] mix <phrase_file> <sound_file>
apg -V --version
apg -h --help

Options:

-a --attenuation LEVEL  Set attenuation level of background file (non-
                        negative number, indicating dB attenuation).
-d --debug              Print debug statements to console.
-V --version            Show version.
-h --help               Show this screen.

Commands:

mix                     Mix files

Arguments:

phrase_file             Name of semicolon-separated text file containing
                        phrases and silence durations. Do not include
                        commas in this file.
sound_file              A file to be mixed into the generated program
                        file. Useful for background music/sounds. Must
                        be in .wav format.

Example <phrase_file> format:

Phrase One;2
Phrase Two;5
Phrase Three;0

Author:

Jeff Wright jeff.washcloth@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

audio_program_generator-1.5.1.tar.gz (58.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

audio_program_generator-1.5.1-py3-none-any.whl (60.4 kB view details)

Uploaded Python 3

File details

Details for the file audio_program_generator-1.5.1.tar.gz.

File metadata

  • Download URL: audio_program_generator-1.5.1.tar.gz
  • Upload date:
  • Size: 58.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Darwin/19.6.0

File hashes

Hashes for audio_program_generator-1.5.1.tar.gz
Algorithm Hash digest
SHA256 49c733d83d005705e3e251f5192eb0d24f04707bc0c84c2e79621e547f76db17
MD5 1f123574666106417c905cdddee176e8
BLAKE2b-256 898a05a8e15fdceedf78d65f3a200e930dd5c641733833cdddc8e2eb93bd86bc

See more details on using hashes here.

File details

Details for the file audio_program_generator-1.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for audio_program_generator-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bee9f58273a0fb118a7dae2753c088b5fb7d0962ab23ddc24b4deb7fa1dc312b
MD5 b41a7fb8845e7209523da6a03a33bde3
BLAKE2b-256 c38f4ccb09728f240e5a14326254887fc00e97fbd64313329f25bbf84b8f370c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page