tulamide's Forum Posts

  • Is it really impossible to find out the original artist of this cover? It is produced, it is well done, nobody recognizes it?

    Reasonable bump.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • newt

    I like some of ZZ Top's music, but it's the non-mainstream ones that attract me. Their 80s/early 90's stuff is not so impressive, while something like the best guitar riff ever, La Grange, is awesome. The real deal is Gibbons' blues groove!

    Is it really impossible to find out the original artist of this cover? It is produced, it is well done, nobody recognizes it?

  • Hey all,

    I need your help. When I was a kid the only music I could listen to were on the old 45rpm records my father had. One of the first songs I ever heard was "Sixteen Tons", originally by Merle Travis, but I listened to the famous Ernie Ford version.

    By accident I found a hardrock cover on YouTube, that is just freaking awesome. The problem: The video is a fake. It is edited from footage of Jeff Beck and Billy Gibbons (from ZZ Top) playing Foxy Lady. I don't care much, but the maker of the video did not reveal who really made this cover. And all the comments are also wondering. Nobody seems to know this version. So see me begging: Please, listen to this version (close your eyes to not get distracted by the video). If you don't know it, you will listen to it several times just because it is so driving. But if you know it, please tell me the artist(s) of this cover!

  • rojohound

    Thanks a lot for the link. Very cool approach there. But it is basically prerendering sound for an octave and then triggers the according note-sound. A runtime calculation of the sound (to be able to modulate it), is not possible with it. Still, it is a cool addition to C2!

    Animmaniac

    I'm impressed! You are more lightweight in terms of processing, but generating good results. You're right with breaking the smaller spike, but considering the smaller cpu footprint it is probably acceptable.

    The calculations used in the wavecycle have something special. After that talented guy made a first impressive demo, I insisted (yes, I can be that annoying) that all spikes in either direction should always behave convex (as in "bend to the outer sides"). And he did it. Even at extreme offsets it stays intact. Here are some screens taken from a scope while playing the osc (you see approx. 2 cycles):

    wave at offset 0.0

    wave at offset -0.5

    wave at offset +0.5

    wave at offset +0.95

    This behaviour is the reason for that warm sound even when the harmonics kick in. It is done in two parts. The second part is called "sine approximation", but it is pure assembler code, so I can't tell how it is approximated:

    streamin x;	// -1...+1
    streamout cos1x;
    
    /* minimum harmonic distortion */
    float c1=-6.280099538;
    float c2=41.10687865;
    float c3=-74.00457656;
    float FMP25=-0.25;
    float FP25=.25;
    int abs=2147483647;
    
    movaps xmm0,x;
    mulps xmm0,FP25;
    subps xmm0,FP25;
    andps xmm0,abs;
    addps xmm0,FMP25;
    movaps xmm1,xmm0;
    mulps xmm1,xmm1;
    movaps xmm2,c3;
    mulps xmm2,xmm1;
    addps xmm2,c2;
    mulps xmm2,xmm1;
    addps xmm2,c1;
    mulps xmm2,xmm0;
    movaps cos1x,xmm2;[/code:289shwv0]
    
    The first part, however, is in a C-like DSP code. These calculations are done for each sample point at sample rate (the rate can vary depending on the DAW, but most will use 44.1kHz):
    
    [code:289shwv0]streamin f;
    streamin m;
    streamout wav;
    float ramp;
    float ma,mb,a,b,f2,mm1;
    float abs;	// bitmask
    
    stage(0){
      abs  = 3.4e38|0.999999|0.1;
      ramp = 1 - m - 2*f;
    }
    
    stage(2){
      hop(32){		// some abreviations to speed up the iteration
        f2  = 2*f;
    	mm1 = m - 1;
    	ma  = 1/(1 + m);
    	mb  = 1/(1 - m);
    	b   = (1 - (abs&m))/(1 + (abs&m));
    	a   = 1 - b;
      }
      ramp = ramp + f2;
      ramp = ramp - 4&(ramp>2);									// ramp (-2...+2)
      wav  = abs&ramp + mm1;									// biased triangle (m-1...m+1)
      wav  = wav*ma&(wav>0) + wav*mb&(wav<0); 					// "PWM"-triangle (-1...+1)
      wav  = wav + (wav/(a*(abs&wav) + b) - wav)&((m*wav)>0);	// rational mapping of long halfwave
    }[/code:289shwv0]
    
    stage(0) is like an initialize-procedure. It is only executed once per new note. stage(2) is executed on each sample point. hop(32) means that all enclosed code is only calculated every 32 sample points. The streamin f is an input which is a mixture of frequencies for each note playing. The streamin m is the input for the current modulation value. Streamout wav is the  mixture of amplitude values for each note playing. Each ampersand (&) is a bitmask. It works a bit like conditionals, but with all bits set to 0 when false and all bits set to 1 when true. The result is then bitwise and'ed with the preceding variable.
    
    At least at this point you probably see that I wouldn't have done this on my own...
  • megatronx

    What ROJO said. Last time I asked about webaudio, Ashley stated that he will only use the parts that are compatible with all supported platforms. That also means it isn't possible to build a synth in C2 (yet?). Those with javascript knowledge might be able to, but I'm not one of those.

    The dsp was done in another program, using SSE and a special coding that allows to do calculations per sample at samplerate.

    If any of the fellow musicians is interested in the VSTi, when it is done, just drop a line. I'll pm you then when ready (may take months/half a year/a year).

  • To be honest i have no idea what it'll sound like so if you work it out i'd be interested to hear I assume it'll just start to exemplify strange harmonics as you shift the center, since this is what it'll be doing to the Fourier series

    QuaziGNRLnose and R0J0hound

    It was such a joy when I heard the oscillator playing for the first time! I made a quick mp3. No pre-editing, no post-editing, no mastering. What you hear is just one SWM-Sine-Osc, whose "center" is modulated by hand as well as by two serial LFOs. No Filters, no effects, nothing but pure Osc-Sound. The modulation does exactly what Rojo demonstrated in his capx (although the underlying dsp-code is somewhat different).

    So much smoother and musically way better controllable than, for example, FM, and on my 7 year old pc the cpu load was between 0.3 and 0.7% during the sequence you hear in the mp3. Awesome! I'm in love with that oscillator.

    Currently started working on a VSTi to see what else I can get out of those OSCs...

    First impression.mp3

    btw, SWM stands for Slope Width Modulation. But that doesn't perfectly describe it. If anyone has a better name for it, please tell!

    (And sorry that this has gone beyond C2)

  • Ruskul

    The list doesn't prove me wrong. For each of them I could post a dozen of nameless shiny hulls. On the mobile market, if you want to make a living, you have to hop on the freemium bus. And that is hard for small or single developer groups. And even harder, if you tend to another philosophy.

    Freemium has already influenced the whole games industry, not just the mobile market. Don't pretend you've never seen AAA pc titles with IAP or product placement.

    Really, the focus has changed. From "making something you are proud of" to "making something that generates money". Not true? How many flappy bird copies came out, how many match 3 games do you see, how many FarmVille clones are out there? Etc.

  • The evolution of the internet also has a great impact on the situation. Having flatrates for easy access 24/7 also means, people are looking throughout the web for entertainment. I stopped dreaming about that one great game I would create 2 years ago. I was looking at Kongragate and saw "games" that I would be ashamed of as the author. Many of them were pretty much like a four year old kid's graphics and gameplay-idea. It was then that I realized that quality doesn't play a big role anymore. It is just the fun for a few minutes that is of interest.

    Game creation software does play a role in this. And the web being a platform for ads and not much more. Such games today aren't the child of a love affair, aren't created with passion. They are just the shiny hull for making money through ads.

    You can swim with the wave or sink. I decided to lay down on an island, enjoying the sun.

  • R0J0hound

    QuaziGNRLnose

    ROJO you nailed it! The wave behaves exactly as it should inbetween the limits. I will now take a closer look at js.txt

    Thank you both, ROJO and Quazi, for your effort and a solution to a more complex problem than I thought.

    I did a Spline class once for Ruby (an interpreter oop language), and I can replicate the behaviour only to a degree with it (unless I change the controls). Unfortunetly I did it with cubic interpolation from spot to spot instead of polynomials (which I never really got used to), so this is really, really helping me a lot!

  • QuaziGNRLnose

    Thank you so much! Your in-depth explanations, help me a huge part of the way. And that it doesn't exist yet is the reason why I want to realize it. I already heard a prototype (which was building from zero crossing sines that are halved and shifted around to match) done for me by another musician and it convinced me to try it.

    dropbox link to prototype.rar

    (move "zero point" knob)

    rojohound

    I'm not sure if it really does the correct thing. If I set k to e.g. 0.25 there's a spike where a curve should be. (convex instead of concave, or the other way round, I always confuse them)

    jojoe No, I'm not. It is for a function that will be used for an audio signal.

  • Out of curiosity, could you share more details on its purpose?

    Since you are a musician, I will keep it short. An easy way to create rich harmonics from just one sine osc. The behaviour is similar to pwm for square waves.

    saiyadjin

    Thanks a lot for the help, but this is not what I'm looking for. I'm trying to calculate the wave with the same characteristica than the normal one. It needs to be constant over x (for example plotted with 512 points with exact same spacing). Trying to add two half-circles with two different multiplicators doesn't lead to the desired result and is not smooth on the transients, unfortunately.

  • A brain teaser for all mathematical educated:

    You see a sine wave (green). Yellow and red are the same wave, but with, let's say, its center moved to the sides. Note that the basic conditions don't change. The peaks are still at -1 and +1, the width is still 2.

    There must be a formula for this, one that allows for a variable v that alters the shape similar to the image. It should be a compact formula, so that it can be applied in realtime.

    I'm trying to implement this for an audio function, not for graphics. But the principles are the same, so a formula that works on graphics would be a super start for audio optimized code.

    I failed at this task, so I really hope you can help me

  • Thanks guys. Much appreciated! From most of my stuff I simply think it is not good enough, and so I tweak them forever, including a total replacement of a sound I suddenly think is not good enough. And since I don't use presets, sound design takes some time. When done, I probably find a melody or some chords not working anymore. Well, a neverending story

    I'm sure a simple application exists somewhere. But my way is a bit more complex. I use Cinema4D. It has a realtime fft directly processing items' x, y, or z-axis. The object is called "sound effector". You can do a whole lot more though, than just the boring thing I did. For example: http://greyscalegorilla.com/blog/tutorials/animate-with-music-using-the-sound-effector-in-cinema-4d/

  • Thanks so much! Great link.

    For FF7 I would recommend this one:

    Subscribe to Construct videos now

    Sephiroth!

    Absolutely stunning.

  • I wish you the very best. May you always be able to keep the forums clean. You were around like forever, so it feels good that a well known avatar is moderating