def encoding(input_filepath): ''' Show the name of the audio encoding. Parameters ---------- input_filepath : str Path to audio file. Returns ------- encoding : str audio encoding type ''' validate_input_file(input_filepath) output = soxi(input_filepath, 'e') return str(output)
def channels(input_filepath): ''' Show number of channels. Parameters ---------- input_filepath : str Path to audio file. Returns ------- channels : int number of channels ''' validate_input_file(input_filepath) output = soxi(input_filepath, 'c') return int(output)
def sample_rate(input_filepath): ''' Show sample-rate. Parameters ---------- input_filepath : str Path to audio file. Returns ------- samplerate : float number of samples/second ''' validate_input_file(input_filepath) output = soxi(input_filepath, 'r') return float(output)
def file_type(input_filepath): ''' Show detected file-type. Parameters ---------- input_filepath : str Path to audio file. Returns ------- file_type : str file format type (ex. 'wav') ''' validate_input_file(input_filepath) output = soxi(input_filepath, 't') return str(output)
def comments(input_filepath): ''' Show file comments (annotations) if available. Parameters ---------- input_filepath : str Path to audio file. Returns ------- comments : str File comments from header. If no comments are present, returns an empty string. ''' validate_input_file(input_filepath) output = soxi(input_filepath, 'a') return str(output)
def num_samples(input_filepath): ''' Show number of samples (0 if unavailable). Parameters ---------- input_filepath : str Path to audio file. Returns ------- n_samples : int total number of samples in audio file. Returns 0 if empty or unavailable ''' validate_input_file(input_filepath) output = soxi(input_filepath, 's') if output == '0': logger.warning("Number of samples unavailable for %s", input_filepath) return int(output)
def bitrate(input_filepath): ''' Number of bits per sample (0 if not applicable). Parameters ---------- input_filepath : str Path to audio file. Returns ------- bitrate : int number of bits per sample returns 0 if not applicable ''' validate_input_file(input_filepath) output = soxi(input_filepath, 'b') if output == '0': logger.warning("Bitrate unavailable for %s", input_filepath) return int(output)
def duration(input_filepath): ''' Show duration in seconds (0 if unavailable). Parameters ---------- input_filepath : str Path to audio file. Returns ------- duration : float Duration of audio file in seconds. If unavailable or empty, returns 0. ''' validate_input_file(input_filepath) output = soxi(input_filepath, 'D') if output == '0': logger.warning("Duration unavailable for %s", input_filepath) return float(output)