Menu

Tree [7df945] master /
 History

HTTPS access


File Date Author Commit
 equalizer_filters 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 user_interface 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 GPL-3 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 Makefile 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 README.txt 2013-04-19 Nicholas Othieno Nicholas Othieno [7df945] Documentation changes
 compile.sh 2013-04-19 Nicholas Othieno Nicholas Othieno [7df945] Documentation changes
 equalizer_filters.h 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 equalizer_start.c 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 filterparamselect_fxn.cpp 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 filterparamselect_fxn.h 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 filtertest.c 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 filtertest.h 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 fixed_point_graphic_equalizer.i386.bin 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 fixed_point_graphic_equalizer.pro 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 fixed_point_graphic_equalizer.x86_64.bin 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 pisoco_graphic_equalizer_screenshot.png 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit
 select_params.h 2013-04-10 Nicholas Othieno Nicholas Othieno [38707b] Initial commit

Read Me

/******************************************************************************
*    This file is part of Pisoco Equalizer.
* 
*    Copyright (C) 2013  Nicholas Othieno
*    Email: n_othien[at] alumni [dot]concordia [dot] ca
*
*    Pisoco Equalizer is free software: you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation, either version 3 of the License, or
*    (at your option) any later version.
*
*    Pisoco Equalizer is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License
*    along with Pisoco Equalizer.  If not, see <http://www.gnu.org/licenses/>.
* 
* 
*******************************************************************************/ 
Introduction
------------
Pisoco Equalizer is a software that converts your Linux box (embedded or
PC) into a 6 band graphical equalizer. Pisoco Equalizer has been tested 
on Fedora 14, Ubuntu 12.04 LTS and Angstrom Linux (on the beagleboard XM).
It needs a few prerequisites to run:
1. ALSA, ALSA libraries and ALSA development files
2. QT4
3. GCC

To compile it
1. Go to the Pisoco Equalizer directory
2. Type ./compile.sh and press enter or,
3. Type "qmake" and press enter, then type "make" and press enter

Usage
-----
1. Connect an audio source (tablet, smartphone, computer etc) to the 
   line in or mic jack of your computer or embedded device. Play some
   music on your audio source.
2. Make sure that the mic/line in is unmuted on the machine that is 
   running Pisco Equalizer. The mic/line in volume should also be 
   raised to about 50%. This can be done in "alsamixer" for Fedora and
   Angstrom, and in "Sound Settings" in Ubuntu.
2. Ensure that the audio source is not at very high volume. This can cause
   clipping in Pisoco Equalizer which leads to clicking and popping sounds.
   30% to 50% volume for the audio source should be OK.
3. Ensure that speakers are connected to your line out/headphone jack or 
   that your linux box has internal speakers.
4. Navigate to the Pisoco Equalizer directory.
5. Type ./fixed_point_graphic_equalizer and press enter if in the terminal,
   or double-click on the file fixed_point_graphic_equalizer to run it if 
   in GUI.
6. Increase the volume on your linux box if the audio is faint or 
   inaudible.   

Things to note:
1. QT4 and GCC must be correctly set up with the correct environment 
   variables notabely QMAKESPEC and PATH.
2. For Fedora users, Pulseaudio must not be running.

Disabling pusleaudio in Fedora:

1. Go to /etc/pulse/client.conf and set autorespawn=no. Make sure to 
   uncomment the line if it is commented.

2. Rename /etc/asound.conf. For example:

3. mv /etc/asound.conf /etc/asound.conf.nick_backup

4. Then search for the running pulseaudio process using:

    ps -ef | grep pulse

5. Kill the pulseaudio process

    kill -9 <pulse process number>

For Developers
---------------
Pisoco Equalizer was written with the beagleboard XM in mind. Therefore 
the critical DSP code is all fixed-point to allow it to run on the 
TMS320C6x DSP chip. All other code is floating-point and is expected to 
run on the ARM GPP. In the Texas Instruments C6EZ tool, variables 
passed to a function running on the DSP must be allocated to a special
shared memory used by the ARM GPP and the DSP. This is done using malloc
which C6EZ converts to a special TI memory allocation call. Usage of 
many mallocs in Pisoco Equalizer is therefore not random :-).

Known Problems
--------------
1. In its current state, the equalizer has heavy CPU usage. Some
   optimization needs to be done in the execution loops and FIR loops.
2. Faint audio output due to scaling down of filter coefficients. The
   filter coefficients were scaled down to prevent clipping, but this 
   has the effect of making the audio output faint.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.