
DOWNLOAD WEBPAGE IN PDF (490kb)
|
News |
***(10/12/2005): A photographic review of my last concert
has been uploaded at this link.

I played Chameleon's Australis, Korg Ex-800, Roland JV-80, Roland SH-2000,
Deltaflex FX, Keyboard MK-149, and the Fender Rhodes at the end of my
concert with Supertramp's "Logical Song" and "Breakfast in America" with my
sister Marta at the voice, Albert Casas and Nacho Sánchez.
***(11/3/2005): SouthPole passed successfully through my 5/3/2005 concert. Mixing lines on the Preset #62 (Landscapes), made strings and solo sounds to envolve dramatically the music.
Instruments Set:
Evolution MK-149 Controller Keyboard
Korg Ex-800 Module Synthesizer
Soundart Chameleon -SouthPole- Effects Processor
Roland JP-8000 Synthesizer
Roland JV-80 Synthesizer
Roland Sustain and EV-5 Expression Pedals
Mackie Mixer Desk
More information at my musical page. MP3 and video excerpts soon...

***(14/2/2005): New processed sound MP3 examples have been added at SouthPole 1.0 section.
***(18/1/2005): SouthPole is going to be played live in my next Berlin School oriented Electronic Music concert.
It will take place in 5th March at the Salamandra Sala (L'Hospitalet del Llobregat - Barcelona), preceding the Dom f. Scab's «Crosswords» presentation.

More info:
EM Events 2005 (QuantumProductions)
Dom f. Scab's Concerts
GtrSynth.com Next Concerts
My Musical Page
My Main Page
***(13/9/2004):
main.asm little troubles:-'include' files had to be put after the end of the main loop (therefore, we've not to worry about it, but it isn't elegant due to it executes randomly, but before the DMA preparation)
-
getvar.asm task could have been omitted, and then the Y memory single variable declarations too. Thus, we only have to go to ctrltab.asm and define each parameter as an offset of the host buffer (HostDataInput).***(21/7/2004):
Absolut Jazz Vocal french group is about to try SouthPole:***(6/7/2004): It has been found a little bug at SouthPole's 'fill_tables' family functions (INC group). It means that the highest Delay value is 10,3 seconds and the highest LFO frequency is near 38 Hz (see tables at
SouthPole v1.0 section). In order to avoid all the changes it suposes, it has been decided to apply this modification in future versions of SouthPole.***(24/6/2004): Demo MP3 soundclips have been uploaded at
SouthPole v1.0 section.***(23/6/2004): SP-Delay and LFOs Frequency true value tables have been added at
SouthPole v1.0 section.***(21/6/2004): A selection of SouthPole
soundclips and an interview with me are publsihed at Soundart's webpage.***(20/6/2004): Robert A. Moog took a look at SouthPole Project when he was in Barcelona. Thank you Mr. Moog for being patient and Sergio Koval for the photos.

South Pole v1.0
is my first open-source skin for the Chameleon, conceived by LlunaSol, that gives you:
Technical Skills
The sound processing has been coded in ASSEMBLER working with totally optimized code using parallel moves allowed in
Motorola DSP 56k family. It is programmed in a module-way intuitive vision, including external header files as a virtual cables and virtual black boxes. DMA method of AD/DA 24 bit @ 96 kHz communications between Audio In and Audio Out has been used to optimize computing time.The user interface has been programmed entirely in plane C. Using
RTEMS pseudo operative system, more than one program line executes concurrently in the Motorola's ColdFire, allowing the musician not to worry about navigating and editing menus. INT communication method between the user interface CPU and audio processing DSP has been selected. As in the audio processing case, the source code has been divided in several files in order to make it easier to the future developers.More links
here.|
The Filter Bank |
3 types of 24 dB filter (Low-Pass, Band-Pass and High-Pass) in parallel mode with each line. A total of 12 stereo auto-oscillating Moog-way conceived filters. |
|
The Low Frequency Oscillator Bank |
3 LFO's with their 3 offset adders in each line connected directly to the Filter Controls (cut off, ressonance and panning). A total of 12 0-to-40 Hz logarithmic LFO's working in parallel mode. All parameters are easily and directly controllables thru the knobs by the user (amplitude, frequency and offset). |
|
The SP-Delay Unit |
A 4-channel mixer followed by a logarithmic stereo Delay (0,1 miliseconds up to 11 seconds) gives the complete control of the 4 send levels, including a Random control of the echo times. |
|
The Hot-Saturation Unit |
A stereo Hot-Saturation Unit will burn slowly the sound, making it strongly hot all the time the sound cries. It works directly on the Filter Bank (after them, in lines 1 & 2, and before in 3 & 4). The perfect emulation of the first sounds of electronic organs, and really specific for the most agressive drums and percussion. |
|
The Global Mixer |
A 3-channel stereo mixer allows you to sepparate the original sound, the line-processed sound, and the delayed sound to adjust the perfect amount of each one at the final mix. |
|
The Factory and User Presets Bank |
A total of 256 flash memory containers with 256 Factory and User Presets. The 128 Factory Presets and the 128 User totally editable Presets Bank gives you the fastest acces to your own SouthPole configurations and patches. |
MP3 Soundclips
Original mono-sound String (180 Kb)
Preset 8: Marble Garden (320 Kb)
Preset 25: Killing Oxide (470 Kb)
Preset 37: Sirens Singing (830 Kb)
Preset 62: Landscapes (2111 Kb)
Preset 115: Oxygene (360 Kb)
OTHER DEMO SOUNDS AT SOUNDART'S SITE
Block Diagram

EDIT: Load/Save and their confirmations.
PART: Change Line.
GROUP: Enable/Disable Line.
VALUE: Yes/No and Fine edit values.
|
PAGE |
PARAM |
Controls |
Pot 1 |
Pot 2 |
Pot 3 |
|
Filter |
--- |
Potentiometers |
Cutoff |
Ressonance |
Panning |
|
LFO Speed |
--- |
Potentiometers |
Cutoff |
Ressonance |
Panning |
|
Send Delay |
--- |
Encoder/Value |
--- |
--- |
--- |
|
Saturation |
--- |
Encoder/Value |
--- |
--- |
--- |
|
LFO Amplitudes |
--- |
Potentiometers |
Cutoff |
Ressonance |
Panning |
|
Select Filter |
--- |
Potentiometers |
Low-Pass |
Band-Pass |
High-Pass |
|
Line Volume |
--- |
Encoder/Value |
--- |
--- |
--- |
|
Delay Params |
Time |
Encoder/Value |
--- |
--- |
--- |
|
--- |
Feedback |
Encoder/Value |
--- |
--- |
--- |
|
--- |
Random |
Encoder/Value |
--- |
--- |
--- |
|
Global Mixing |
--- |
Potentiometers |
Audio IN |
Lines |
Delayed Lines |
Factory Presets
|
N |
Preset Name |
N |
Preset Name |
N |
Preset Name |
N |
Preset Name |
|
0 |
SING. LOWPASS |
32 |
DISTANT PLANET |
64 |
CASTLE OF MURK |
96 |
SP_NOISE-HIRTZ |
|
1 |
SING. BANDPASS |
33 |
HITECH GTRONIC |
65 |
SHADOWS HOUSE |
97 |
SP_NOISE-ZHEHN |
|
2 |
SING. HIGHPASS |
34 |
GOLDEN PYRAMID |
66 |
AERO GENERATOR |
98 |
SP_NOISE-LOHEA |
|
3 |
SING. LOW+LFO |
35 |
DISTANT CLOUDS |
67 |
COLDER STORM |
99 |
SP_NOISE-IHONE |
|
4 |
SING.BAND+LFO |
36 |
FIGHT PENGUIN |
68 |
WITHIN A DREAM |
100 |
EARTH MOVEMENT |
|
5 |
SING.HIGH+LFO |
37 |
SIRENS SINGING |
69 |
MILITARY ZONE |
101 |
FALLING ROCK |
|
6 |
SINGLE+DELAY2 |
38 |
PETROL GLACIER |
70 |
TALKING LOUDER |
102 |
OVER OCEAN |
|
7 |
2LINES+DELAY3 |
39 |
ELECTRIFIED ! |
71 |
CRYSTAL LANDS |
103 |
SOUTH POLE |
|
8 |
MARBLE GARDEN |
40 |
RADIOCOM |
72 |
SYNHARMONICS |
104 |
WE, ROBOTS |
|
9 |
PLASTIC CUBE |
41 |
ANTARCTICA |
73 |
ORGANIC SAND |
105 |
FIREBALL |
|
10 |
MAGNETIC FIELD |
42 |
BLUE SNOW CAVE |
74 |
MIDNIGHT CRIES |
106 |
EYE IN THE SKY |
|
11 |
HOT-SATURATOR |
43 |
IRON TUBE CAVE |
75 |
BAD NEWS |
107 |
NERVE CENTRE |
|
12 |
SYNCHROTRON |
44 |
TWILIGHT CITY |
76 |
LOVELY ANGEL |
108 |
TECHNO ECHOES |
|
13 |
METAL ON METAL |
45 |
CITY LIGHTS |
77 |
CROSS-PHASER |
109 |
GREAT CANYON |
|
14 |
KILL THE BEE |
46 |
GREAT SEAVOICE |
78 |
BRIGHTNESS |
110 |
DISTORTION |
|
15 |
PULSTAR |
47 |
COLD WIND |
79 |
GREEN DESERT |
111 |
LASER BEAM |
|
16 |
SUN RAYS |
48 |
WHISPER WATERS |
80 |
EVOLUTION |
112 |
HELIUM BALLOON |
|
17 |
NUCLEAR ENGINE |
49 |
ELECTRIC STORM |
81 |
SEVENTIES |
113 |
MOON SURFACE |
|
18 |
DODECAHEDRON |
50 |
DRY OVERDRIVE |
82 |
POLLUTION |
114 |
RED PLANET |
|
19 |
INTERFERENCES |
51 |
OIL LIQUIDE |
83 |
EXECUTION |
115 |
OXYGENE |
|
20 |
ALL LINES ON ! |
52 |
WALKING CHIPS |
84 |
DETERIORATION |
116 |
RADIOACTIVITY |
|
21 |
BARNIE'S DREAM |
53 |
INSECT SCAPE |
85 |
AIR SURFING |
117 |
ELECTROPLASMA |
|
22 |
BIRDS IN HELL |
54 |
PINKY PIGGY |
86 |
THIN TUNNEL |
118 |
RENDEZ-VOUS |
|
23 |
CATS IN HELL |
55 |
OLD TURBINE |
87 |
FRACTAL PATH |
119 |
DARKNESS LOCH |
|
24 |
HEAVY HARDRAIN |
56 |
FORCE MAJEURE |
88 |
ALTERNATION |
120 |
PROGRESSIVE |
|
25 |
KILLING OXIDE |
57 |
POLE POLUTION |
89 |
MAGIC JOURNEY |
121 |
ELASTIC SQUARE |
|
26 |
EXOTIC FOREST |
58 |
POLAR BREEZE |
90 |
REPETITION |
122 |
SPACE SHIP |
|
27 |
INSIDE BOTTLE |
59 |
STEEL INDUSTRY |
91 |
ORANGE SKY |
123 |
WAVEOLUTION |
|
28 |
ANTHENNA ALARM |
60 |
ICEBERG FALL |
92 |
SP_NOISE-AHZER |
124 |
LUNAR APPROACH |
|
29 |
FRIENDLY GIRL |
61 |
EROTIC NIGHT |
93 |
SP_NOISE-KHELM |
125 |
WOOD VILLE |
|
30 |
LOVELY PINK |
62 |
LANDSCAPES |
94 |
SP_NOISE-NEOHA |
126 |
LOVE |
|
31 |
WORST CHOICE |
63 |
FLOWER FIELDS |
95 |
SP_NOISE-DHORM |
127 |
C H A O S ! |
SP-Delay Time Table
|
V |
Time (ms) |
V |
Time (ms) |
V |
Time (ms) |
V |
Time (ms) |
|
0 |
0,11 |
32 |
11,06 |
64 |
138,37 |
96 |
1308,68 |
|
1 |
0,11 |
33 |
12,08 |
65 |
148,85 |
97 |
1400,66 |
|
2 |
0,12 |
34 |
13,17 |
66 |
160,09 |
98 |
1498,94 |
|
3 |
0,12 |
35 |
14,35 |
67 |
172,14 |
99 |
1603,95 |
|
4 |
0,13 |
36 |
15,63 |
68 |
185,05 |
100 |
1716,15 |
|
5 |
0,13 |
37 |
17,01 |
69 |
198,89 |
101 |
1836,00 |
|
6 |
0,15 |
38 |
18,49 |
70 |
213,72 |
102 |
1964,04 |
|
7 |
0,16 |
39 |
20,09 |
71 |
229,62 |
103 |
2100,81 |
|
8 |
0,19 |
40 |
21,81 |
72 |
246,63 |
104 |
2246,88 |
|
9 |
0,21 |
41 |
23,68 |
73 |
264,86 |
105 |
2402,90 |
|
10 |
0,24 |
42 |
25,68 |
74 |
284,39 |
106 |
2569,51 |
|
11 |
0,27 |
43 |
27,84 |
75 |
305,31 |
107 |
2747,43 |
|
12 |
0,33 |
44 |
30,17 |
76 |
327,70 |
108 |
2937,42 |
|
13 |
0,38 |
45 |
32,67 |
77 |
351,69 |
109 |
3140,28 |
|
14 |
0,46 |
46 |
35,37 |
78 |
377,36 |
110 |
3356,85 |
|
15 |
0,56 |
47 |
38,27 |
79 |
404,83 |
111 |
3588,07 |
|
16 |
0,67 |
48 |
41,40 |
80 |
434,24 |
112 |
3834,92 |
|
17 |
0,82 |
49 |
44,75 |
81 |
465,71 |
113 |
4098,41 |
|
18 |
0,99 |
50 |
48,35 |
82 |
499,38 |
114 |
4379,67 |
|
19 |
1,22 |
51 |
52,24 |
83 |
535,42 |
115 |
4679,87 |
|
20 |
1,50 |
52 |
56,42 |
84 |
573,98 |
116 |
5000,27 |
|
21 |
1,84 |
53 |
60,89 |
85 |
615,21 |
117 |
5342,20 |
|
22 |
2,26 |
54 |
65,71 |
86 |
659,32 |
118 |
5707,10 |
|
23 |
2,77 |
55 |
70,89 |
87 |
706,50 |
119 |
6096,50 |
|
24 |
3,41 |
56 |
76,45 |
88 |
756,96 |
120 |
6512,00 |
|
25 |
4,18 |
57 |
82,41 |
89 |
810,91 |
121 |
6955,32 |
|
26 |
5,13 |
58 |
88,81 |
90 |
868,60 |
122 |
7428,34 |
|
27 |
6,30 |
59 |
95,69 |
91 |
930,29 |
123 |
7932,98 |
|
28 |
7,72 |
60 |
103,08 |
92 |
996,23 |
124 |
8471,35 |
|
29 |
8,47 |
61 |
111,00 |
93 |
1066,73 |
125 |
9045,66 |
|
30 |
9,26 |
62 |
119,48 |
94 |
1142,07 |
126 |
9658,30 |
|
31 |
10,13 |
63 |
128,60 |
95 |
1222,62 |
127 |
10311,77 |
LFOs Frequency Table
|
V |
Period (seconds) |
V |
Period (seconds) |
V |
Frequency (Hz) |
V |
Frequency (Hz) |
|
0 |
No oscillation |
32 |
24,93 |
64 |
0,51 |
96 |
4,79 |
|
1 |
No oscillation |
33 |
22,81 |
65 |
0,54 |
97 |
5,13 |
|
2 |
25000,00 |
34 |
20,90 |
66 |
0,59 |
98 |
5,49 |
|
3 |
25000,00 |
35 |
19,17 |
67 |
0,63 |
99 |
5,87 |
|
4 |
12500,00 |
36 |
17,59 |
68 |
0,68 |
100 |
6,28 |
|
5 |
12500,00 |
37 |
16,16 |
69 |
0,73 |
101 |
6,72 |
|
6 |
6250,00 |
38 |
14,85 |
70 |
0,78 |
102 |
7,19 |
|
7 |
5000,00 |
39 |
13,67 |
71 |
0,84 |
103 |
7,69 |
|
8 |
3571,43 |
40 |
12,58 |
72 |
0,90 |
104 |
8,23 |
|
9 |
2777,78 |
41 |
11,58 |
73 |
0,97 |
105 |
8,80 |
|
10 |
2083,33 |
42 |
10,68 |
74 |
1,04 |
106 |
9,41 |
|
11 |
1666,67 |
43 |
9,85 |
75 |
1,12 |
107 |
10,06 |
|
12 |
1250,00 |
44 |
9,08 |
76 |
1,20 |
108 |
10,76 |
|
13 |
1000,00 |
45 |
8,39 |
77 |
1,29 |
109 |
11,50 |
|
14 |
781,25 |
46 |
7,74 |
78 |
1,38 |
110 |
12,29 |
|
15 |
609,76 |
47 |
7,16 |
79 |
1,48 |
111 |
13,14 |
|
16 |
490,20 |
48 |
6,61 |
80 |
1,59 |
112 |
14,04 |
|
17 |
384,62 |
49 |
6,12 |
81 |
1,71 |
113 |
15,01 |
|
18 |
308,64 |
50 |
5,66 |
82 |
1,83 |
114 |
16,04 |
|
19 |
245,10 |
51 |
5,24 |
83 |
1,96 |
115 |
17,14 |
|
20 |
196,85 |
52 |
4,85 |
84 |
2,10 |
116 |
18,31 |
|
21 |
158,23 |
53 |
4,49 |
85 |
2,25 |
117 |
19,56 |
|
22 |
126,90 |
54 |
4,16 |
86 |
2,41 |
118 |
20,90 |
|
23 |
102,46 |
55 |
3,86 |
87 |
2,59 |
119 |
22,33 |
|
24 |
82,78 |
56 |
3,58 |
88 |
2,77 |
120 |
23,85 |
|
25 |
67,02 |
57 |
3,32 |
89 |
2,97 |
121 |
25,47 |
|
26 |
54,35 |
58 |
3,08 |
90 |
3,18 |
122 |
27,20 |
|
27 |
44,09 |
59 |
2,86 |
91 |
3,41 |
123 |
29,05 |
|
28 |
35,87 |
60 |
2,65 |
92 |
3,65 |
124 |
31,02 |
|
29 |
32,68 |
61 |
2,46 |
93 |
3,91 |
125 |
33,13 |
|
30 |
29,83 |
62 |
2,29 |
94 |
4,18 |
126 |
35,37 |
|
31 |
27,26 |
63 |
2,13 |
95 |
4,48 |
127 |
37,76 |
Here's the project folder zipped (the entire source code). It includes header files. Open the .PRJ file with your compiler in order to obtain directly the original structure of SouthPole code.
See the Project Hirerarchy for more details about the contents.
Project Hirerarchy
|
COLDFIRE SIDE |
DIGITAL SIGNAL PROCESSOR SIDE |
||||
|
Level 0 |
Level 1 |
Level 0 |
Level 1 |
||
|
|
|
||||
|
|
|
||||
|
(INC) |
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
Presets.c |
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
(DMA) |
|||
|
|
|
|
|||
|
|
|
(MODULES) |
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
(WTABLES) |
|||
|
|
|
|
|||
File Description
|
FILE |
TYPE |
DESCRIPTION |
|
UI Header |
Contains all the constants and function declarations. Furthermore, there are all the structs and character redefinitions. |
|
|
UI Main File |
Basicly, it is implemented the endless loop of the main program, controlling the navigation menu. Most of the variables are declared as a global data, in order to make it accessible from multiple routines. |
|
|
UI Include |
Here is the parameter buffer preparation and sending with "prepare_and_send_DSP()" function, to be sent to DSP. |
|
|
UI Include |
There are all te routines referred to managing memory and code to load/save and prepare the parameter buffer in all cases. |
|
|
UI Include |
Contains all the initializing functions: the menu, new characters, variables, panel and DSP, initial LED sequence and parameter tables. There's also low level functions that help the programmer to initialize easily the tables and the frequency tables (preparing integer and fractional parts of the values). |
|
|
UI Include |
There are the 3 concurrent routines using RTEMS programming. They control the LEDs (dancing over the LFOs), updating their flashing frecuency near the real time. |
|
|
Presets.c |
UI Include |
This huge file contains all the factory presets initializing. It's only included zipped in All Project Source Code above. |
|
DSP Include |
This intuitive file helps the developer about linking all the modules and "black boxes", from the Audio IN to Audio OUT. |
|
|
DSP Include |
Similar to ctable.asm, this file defines all the control parameters and buffers wich will be used in audio modules. Then, the developer has not to worry about changing some variables in the processing code. It only have to be changed here. |
|
|
DSP Processing |
It perfoms the lines mixing, and then the stereo delay. |
|
|
DSP Include |
This essential file catch the parameters buffer, sent from the ColdFire and put on HostBuffer by the defined RSI, at the beginning of each DMA cycle, and put all of them into the proper DSP defined variables at main.asm. |
|
|
DSP Processing |
Audio processing for the first line, calling the LFOs, the adders, the filters (and mix them), and the saturator. |
|
|
DSP Processing |
Audio processing for the second line, calling the LFOs, the adders, the filters (and mix them), and the saturator. |
|
|
DSP Processing |
Audio processing for the third line, calling the LFOs, the adders, the filters (and mix them), and the saturator. |
|
|
DSP Processing |
Audio processing for the fourth line, calling the LFOs, the adders, the filters (and mix them), and the saturator. |
|
|
DSP Main File |
Appart of the constant defines, the buffers and variables declarations, module includes and initializations, it makes the Audio IN and Audio OUT task, making the "include" of line0.asm, line1.asm, line2.asm, line3.asm, mixing.asm, delaying.asm, and mix.asm |
|
|
DSP Processing |
It's the 3 channel global mixer calling. |
|
|
DSP Processing |
This is the calling of the Line mixing. |
|
|
DSP Configure |
It contains the ConfigureAudioDMA subroutine, that configures DMA channels 0 and 1 for audio transmitter and receiver. |
|
|
DSP Configure |
It changes the active ADC and DAC buffers waiting if CODEC is still working with it. |
|
|
DSP Module |
A 3 stereo channel mixer, used to add the Filters' output signal of each processing line. Programmed by Aleix Riera. |
|
|
DSP Module |
This is a 4 stereo channel mixer with a control of panning by buffers. Programmed by Aleix Riera. |
|
|
DSP Module |
A 4 stereo channel mixer, but without the panning control. It was reprogrammed to optimize computing time, and then no to lose instruction cycles. Programmed by Aleix Riera. |
|
|
DSP Module |
This module simply adds a number at a single variable only one time per DMA cycle. It is used only for taking a frequency band in cutoff to prepare de BPF. Programmed by Aleix Riera. |
|
|
DSP Module |
The same module as addk_.asm, but taking care about the final result. If it's lower than the given constant, the result will be this constant. This is used to avoid too low values at LPF's frequency cutoff. Programmed by Aleix Riera. |
|
|
DSP Module |
This is a mono delay (L) with time and feedback controls. It only puts to the output audio buffer the delayed signal (modified by me) and don't let the IN buffer to pass through. It allows to us the possibility of enabling individual send controls. Programmed by SoundArt. |
|
|
DSP Module |
And it is the right one (R). |
|
|
DSP Module |
This module implements a mono 24dB resonant lowpass filter (the code is based in the source code of the filter Moog VCF variation2 of the musicdsp.org filters source code page, thanks to Bram de Jong. I've modified the code, obtaining an efficient stereo filter. |
|
|
DSP Module |