Skip to main content

Tools for Podcast editing

Project description

Catshand (Cat's Hand)

Catshand (Cat's Hand) is a toolbox designed for audio editing and production in the team of Tripod Cat's Podcast. Catshand is named after the Japanese idiom "猫の手も借りたい", which means "so busy someone wants to borrow even the paw of a cat." It simplifies the audio editing process by automating repetitive tasks and integrating with the popular editing tool Audacity. Catshand provides OpenAI-powered transcription and content summary, so users can focus on the creative process, rather than spending time on content searching.

catshand_with_Audacity

Installation

  1. pull this git repository

  2. move to the directory of catshand

  3. create conda environment

    conda create -n catshand -y -c conda-forge python=3.9 mamba ffmpeg 
    ## catshand can be replaced by your-own-env-name
    
  4. Change conda env

    conda activate catshand
    
  5. Install dependency

    wget -O /tmp/environment.yml https://raw.githubusercontent.com/eufmike/catshand/main/environment.yml | conda env update -f /tmp/environment.yml # for Mac User
    wget -O /tmp/environment.yml https://raw.githubusercontent.com/eufmike/catshand/main/environment_win.yml | conda env update -f /tmp/environment.yml # for Win User
    
  6. Installation

    pip install -e .
    pip install git+https://github.com/eufmike/catshand.git
    
  7. Download demo files from this link

  8. Add OpenAI API key to the environment variable to use the transcript generation function and transcript summary. Please visit OpenAI to get the API key and Best Practices for API Key Safety for more details.

    # Windows (in cmd prompt)
    setx OPENAI_API_KEY “<yourkey>”
    
    # Mac
    echo "export OPENAI_API_KEY='<yourkey>'" >> ~/.zshrc
    
  9. Launch Audacity. Change the setting of Modules to "Enabled". Audacity_Settings

Audio Editing

Catshand divides editing steps into two parts: pre-edit and post-edit. Pre-edit is the preparation process of raw audio files so they are ready for manual editing to remove filler words or undesirable phrases. Post-edit is the process of editing the finalized audio files and applying compressors and music, to make them ready for publishing.

All functions of catshand are implemented in the command line. The following sections will provide an example to jumpstart the usage of catshand. Please visit the manuals for more details.

Pre-edit

  1. (Optional) Download audio materials from Google Drive: link. This step is optional if you are using catshand only for pre-editing. Move the folder to the root directory of catshand.
  2. Create a project folder in the root directory of catshand using the following command:
    catshand prjinit -d <root_dir> -n <project_name> -m <material_dir>
    # example
    catshand prjinit -d /path/to/project/Podcast/ -n EP099 -m /path/to/project/Podcast/material
    # or
    catshand prjinit -d $PWD -n EP099 -m $PWD/material
    
    Answer the questions in the terminal. The project folder will be created in the root directory of catshand. The project folder will contain the following files:
  3. Download audio files from Google Drive to the project folder. The folder name should be "00_Raw"
  4. Run the following commands in order:
    # convert m4a to wav with filename matching
    catshand audio2wav -p /path/to/project/Podcast/EP099 -m
    
    # launch audacity for manual audio alignment, editing and find splitting timepoint
    # transcript can be generated and load as labels
    # Answer the questions in the terminal
    catshand audacitypipe_prjpre -p /path/to/project/Podcast/EP099/ -t 4
    
    # perform loudness normalization and noise reduction
    catshand audio2wav -p /path/to/project/Podcast/EP099 -i /path/to/project/Podcast/EP099/00_Raw_wav_prjpre -lr -t 4
    
    # remove silence
    catshand silrm -p /path/to/project/Podcast/EP099/ -pz -t 4
    
    # split audio files
    catshand audiosplit -p /path/to/project/Podcast/EP099/ -ts 00:02:00 00:04:00 # split audio files
    
  5. To split the file after track merging, you can run the following commands:
    # merge audio files into one track 
    # convert to stereo and spatial audio features
    # mergered audio exported to "merged" folder
    catshand trackmerger -p /path/to/project/Podcast/EP099/ -s -sp
    
    # split audio files
    catshand audiosplit -p /path/to/project/Podcast/EP099/ -i /path/to/project/Podcast/EP099/merged -ts 00:02:00 00:04:00 
    

with editing service

Pre editing

  1. Initiate the project folder
    catshand prjinit -d /path/to/project/Podcast/ -n EP099 -m /path/to/project/Podcast/material
    
  2. Convert the audio file to wav (even the original file is wav)
    catshand audio2wav -p /path/to/project/Podcast/EP099/ -i /path/to/project/Podcast/EP099/02_To_merge -lr -t 4
    
  3. Merge each session (multiple tracks) into one track
    catshand trackmerger -p /path/to/project/Podcast/EP099/  -i /path/to/project/Podcast/EP099/02_To_merge_wav_manual -s -v 0 0 4
    

Post editing

  1. Convert the audio file to wav (even the original file is wav)
    catshand audio2wav -p /path/to/project/Podcast/EP099/ -i /path/to/project/Podcast/EP099/03_Editing_02 -l -t 4 
    
  2. Create audio metadata using the audio merger
    catshand audmerger -p /path/to/project/Podcast/EP099 -i /path/to/project/Podcast/EP099/03_Editing_02_wav -t 4 -s
    
  3. Load into Audacity
    catshand audacitypipe -p /path/to/project/Podcast/EP099 -i /path/to/project/Podcast/EP099/03_Editing_02_wav_merged -s -c importrecording importmaterial addmusic
    
  4. Create transcriptions
    catshand prjsummary -p /path/to/project/Podcast/EP099/ -i /path/to/project/Podcast/EP099/09_export_tran -o /path/to/project/Podcast/EP099/09_export_tran -t 4
    
  5. Get highlight
    catshand audio2wav -p /path/to/project/Podcast/EP099/ -i /path/to/project/Podcast/EP099/05_Highlight -l
    
  6. Load all into Audacity
    catshand audacitypipe -p /path/to/project/Podcast/EP099 -i /path/to/project/Podcast/EP099/03_Editing_02_wav_merged -s
    

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

catshand-0.3.6.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

catshand-0.3.6-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file catshand-0.3.6.tar.gz.

File metadata

  • Download URL: catshand-0.3.6.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for catshand-0.3.6.tar.gz
Algorithm Hash digest
SHA256 1976854fead082678d23dc7919e64abaf3bf42d8a66011a2287db71bad36a552
MD5 fb1b5a2ef4471cac9516c67d3599db43
BLAKE2b-256 183c7e41b4ec870ee8f576fb4e71cb707411dbb1c2fe96d29487e0693c8d985f

See more details on using hashes here.

File details

Details for the file catshand-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: catshand-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for catshand-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 315764eb6886df43b7c8f104cb8bb667e84fca16b60c19d57efe5a40f8cf72a2
MD5 c16454c194c564d5f3ebd30c16ab2467
BLAKE2b-256 da79ca875171b74e79a90e18c1711740abdc24aa7e2ae1c8946a5ea9e9ee1d00

See more details on using hashes here.

Supported by

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