February mini mash up

25
Feb
0

I have acquired a Traktor Skratch pro so I need some tunes to mix! After searching beatport.com for some new tunes i’ve downloaded and mix them out, and the result was this mini mix. I’m preparing a new mix with more new stuff! In the mean while, rock with this one:


feb mini mashup by Lpx  by  sinosoidal

Picture of the day

25
Feb
0

Displax stand @ OME, Madrid

TI’s PCM2704 based USB sound card

17
Jan
0

Hey! It has passed a really long time since my last post but I have been really busy at work in this last months. For a long time that I wanted to make a really simple USB external sound card. The reason for this is that i’m using my KRK Rockit 5 reference monitors with a crapy built in motherboard sound card. The connections are only the ones that come within the main board, in the back of the computer, and if that wasn’t enough i also have noise from the computer when nothing is playing which is terrible.

I have searched for some simple chips that could make me the job and I found TI’s PCM2740. It’s a single ended USB audio interface with analog and digital output.

I have followed the application suggestion that came with the datasheet and tested everything on a breadboard first and then i passed the circuit to a prototyping board to fit in a really small box with left and right output plugs.

This is the result:

PCM2704 assembled in a prototyping boardGuess what… it sounds awesome! Great sound quality with absolutely no noise at all. Now i have to finish the box, make a an open for the USB plug and that’s it!

Picture of the day

24
Sep
0
Leaving to Berlin

Leaving to Berlin

Beauty That Never Fades mini mix

18
Sep
1

Hey! I have released a mini mix in my Soundcloud. It is called Beauty That Never Fades! Why don’t you give it a listen and tell me what you think about it?

I love breaks. To not be different from my own sound pattern, guess what… is a breakbeat mix!!!

Beauty that never fades by sinosoidal

Soundcloud.com

18
Aug
0

Hey, have you ever hear about Soundcloud.com? That’s is probably my choice for one of the most inovative websites around in the last couple of years in what regards to music sharing. I’m not talking about piracy in the music business but the hability to share a track made by yourself, a dj set or just a simple sample. Soundcloud.com is completly Web 2.0 aware and it’s very intuitive and fast to understand and use.

You can search for tracks, list the results with a visual representation of audio file as well as integrated playback in browser without having the need to download. You can even easily comment a specific part of the audio file.

Well, this is only a basic summary of the possibilities given by Soundcloud.com to users. If you are into music then this is to you!

Changing sensor G62 on Golf MKIII GT

10
Aug
0

I have a Golf 3 GT from 1995 and this car has already an OBD connection to plug into the onboard computer an retrieve error and other kind of informations. I bought a very cheap cable OBD cable from ebay to do this kind of debugging.

There was one error that was making me think from a long time ago. The error was something like “Sensor G62 Open or Short to ground on B+” so I decided to use the multimeter to check if the sensor was really messed up. Conclusion, it was!

In the next day I went to a VAG parts shop and bought a new G62 sensor and put hands at work to make the change.

Be very carefull if you decided to do the following steps!

DO THIS ONLY AFTER COLD OR VERY LITTLE USAGE OF THE CAR FROM COLD!! You can get seriously burned!

First step was to take out the engine cooling liquid deposit in order to reduce the pression of the liquid. Because when you take out the sensor, the liquid will come out. After taking out the deposit is time to take out the sensor from its place and switch it with the new one.

Next, you need to put everything back in place again. You also need to set the cooling liquid level to its place again as some liquid will always be losted.

And voila! There are no errors on the onboard computer. I realized that this sensor was being missed a lot. Since I bought the car that I had problems with cranking after running the car and this becomes warm. The sensor provides runtime information of the engine actual temperature and that information is used to control intake air amount and other sort of stuff very usefull for optimum combustion of the fuel.

Changinge G62 sensor

Results? Perfect crank and running in all conditions (so far)!!

Symfony cheat sheets

2
Jul
0

If you are into web development and if you ever used Symfony, maybe you know that sometimes is hard to memorize all the functionalities provided by a framework.

I was wondering how could I do a ordered a bunch of records after a criteria select and I asked that to web developer coleguee at work. He passed me a link to Symfony Cheat Sheet and I found that very usefull.

In order to never forget and share with other persons I decided to post it here!

http://trac.symfony-project.org/wiki/CheatSheets

Picture of the day

21
Jun
0

O godo

HSV color changing led driven by AVR tiny45

21
Jun
0

In my last post I focused on delivering an integer only based algorithm to make a HSV to RGB conversion. I wanted to to drive a mood lamp with an AVR tiny13 which as only a 1K byte program memory. I ended gaving up on this idea because, I was not having good results.

I decided to get a new chip, with more program memory. The chosen one was the tiny45 with 4K bytes of program memory.

I got back in time and started again with the floating point version of the algorithm. And voila! It is working. It has a few glitches which increase with a small interval between color changing.

At this point, the code is very simple and it is like this (assumes a 2Mhz clock on the tiny45):

  1.  
  2. #include <avr/io.h>
  3. #include <avr/interrupt.h>
  4. #include <avr/pgmspace.h>
  5. #include <avr/eeprom.h>
  6. #include <avr/wdt.h>
  7. #include <util/delay.h>
  8. #include <math.h>
  9.  
  10. #define R_PIN   PB0
  11. #define G_PIN   PB1
  12. #define B_PIN   PB2
  13.  
  14. static float h=0,s=0.8,v=0.5,r=0,g=0,b=0;
  15. static int ri,gi,bi;
  16.  
  17. void HSVtoRGB( float *r, float *g, float *b, float h, float s, float v )
  18. {
  19.         int i;
  20.         float f, p, q, t;
  21.  
  22.         if( s == 0 ) {
  23.                 *r = *g = *b = v; // achromatic (grey)
  24.                 return;
  25.         }
  26.  
  27.         h /= 60;                        // sector 0 to 5
  28.         i = floor( h );
  29.         f = h – i;                      // factorial part of h
  30.         p = v * ( 1 – s );
  31.         q = v * ( 1 – s * f );
  32.         t = v * ( 1 – s * ( 1 – f ) );
  33.  
  34.         switch( i )
  35.         {
  36.                 case 0:
  37.                         *r = v;
  38.                         *g = t;
  39.                         *b = p;
  40.                         break;
  41.                 case 1:
  42.                         *r = q;
  43.                         *g = v;
  44.                         *b = p;
  45.                         break;
  46.                 case 2:
  47.                         *r = p;
  48.                         *g = v;
  49.                         *b = t;
  50.                         break;
  51.                 case 3:
  52.                         *r = p;
  53.                         *g = q;
  54.                         *b = v;
  55.                         break;
  56.                 case 4:
  57.                         *r = t;
  58.                         *g = p;
  59.                         *b = v;
  60.                         break;
  61.                 default:
  62.                         *r = v;
  63.                         *g = p;
  64.                         *b = q;
  65.                         break;
  66.         }
  67. }
  68.  
  69. ISR(TIM0_COMPA_vect)
  70. {
  71.         static unsigned char count = 0;
  72.  
  73.         if (count == 0)
  74.            PORTB = _BV(R_PIN) | _BV(G_PIN) | _BV(B_PIN);
  75.  
  76.         if (count==ri)
  77.            PORTB^=_BV(R_PIN);
  78.  
  79.         if (count==gi)
  80.            PORTB^=_BV(G_PIN);
  81.  
  82.         if (count==bi)
  83.            PORTB^=_BV(B_PIN);
  84.  
  85.         count++;
  86. }
  87.  
  88. int main()
  89. {
  90.         // Enable PORTB as output
  91.         DDRB=0xff;
  92.  
  93.         // Enable global interrupts
  94.         sei();
  95.  
  96.         // Setting timer in CTC mode
  97.         TCCR0A = _BV(WGM01);
  98.  
  99.         // Setting no prescaler
  100.         TCCR0B = _BV(CS00);
  101.  
  102.         // Enabling compa
  103.         TIMSK =  _BV(OCIE0A);
  104.  
  105.         // Setting compare to make a frequency of 60*256 Hz
  106.         OCR0A = 0×82;
  107.  
  108.         while(1)
  109.         {
  110.                 if (h==360)
  111.                         h=0;
  112.  
  113.                 h++;
  114.  
  115.                 HSVtoRGB(&r,&g,&b,h,s,v);
  116.  
  117.                 ri = r*255.;
  118.                 gi = g*255.;
  119.                 bi = b*255.;
  120.  
  121.                 _delay_ms(100);
  122.         }
  123.  
  124.         return 0;
  125. }
  126.  
  127.