Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Macros | Functions | Variables
func_pitchshift.c File Reference

Pitch Shift Audio Effect. More...

#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/utils.h"
#include "asterisk/audiohook.h"
#include <math.h>

Go to the source code of this file.

Data Structures

struct  fft_data
 
struct  pitchshift_data
 

Macros

#define HIGH   1.25
 
#define HIGHER   1.5
 
#define HIGHEST   2
 
#define LOW   .85
 
#define LOWER   .7
 
#define LOWEST   .5
 
#define M_PI   3.14159265358979323846
 
#define MAX_FRAME_LENGTH   256
 

Functions

 AST_MODULE_INFO_STANDARD_EXTENDED (ASTERISK_GPL_KEY,"Audio Effects Dialplan Functions")
 
static void destroy_callback (void *data)
 
static int load_module (void)
 
static int pitch_shift (struct ast_frame *f, float amount, struct fft_data *fft_data)
 
static int pitchshift_cb (struct ast_audiohook *audiohook, struct ast_channel *chan, struct ast_frame *f, enum ast_audiohook_direction direction)
 
static int pitchshift_helper (struct ast_channel *chan, const char *cmd, char *data, const char *value)
 
static void smb_fft (float *fft_buffer, long fft_frame_size, long sign)
 
static void smb_pitch_shift (float pitchShift, long num_samps_to_process, long fft_frame_size, long osamp, float sample_rate, int16_t *indata, int16_t *outdata, struct fft_data *fft_data)
 
static int unload_module (void)
 

Variables

static struct ast_custom_function pitch_shift_function
 
static const struct ast_datastore_info pitchshift_datastore
 

Detailed Description

Pitch Shift Audio Effect.

Author
David Vossel dvoss.nosp@m.el@d.nosp@m.igium.nosp@m..com

Definition in file func_pitchshift.c.

Variable Documentation

struct ast_custom_function pitch_shift_function
static
Initial value:
= {
.name = "PITCH_SHIFT",
.write = pitchshift_helper,
}

Definition at line 509 of file func_pitchshift.c.

const struct ast_datastore_info pitchshift_datastore
static
Initial value:
= {
.type = "pitchshift",
.destroy = destroy_callback
}
static void destroy_callback(void *data)
Helper function used by datastores to destroy the speech structure upon hangup.

Definition at line 174 of file func_pitchshift.c.