Navigation

    Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    1. Home
    2. Tania Ghosh
    T
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Tania Ghosh

    @Tania Ghosh

    Civil engineer. Learning HISE framework.

    20
    Reputation
    118
    Posts
    38
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online
    Location India Age 26

    Tania Ghosh Follow

    Posts made by Tania Ghosh

    • RE: How to Emulate Hardware or Software Instruments/FX in HISE

      @dustbro Yeeeeeeaa 😃 ........ that will be so much helpful to me.... great... 👍

      posted in General Questions
      T
      Tania Ghosh
    • RE: How to Emulate Hardware or Software Instruments/FX in HISE
      #include <math.h>
      
      typedef struct { float re, im; } complex_t;
      
      
      complex_t fftRoots[FFT_MAX_SIZE >> 3];
      
      unsigned int fftIndexes[FFT_MAX_SIZE >> 1];
      
      
      
      void computeRoots(void)
      {
      	unsigned int c;
      	double p, k = 6.2831qEXY9X37kqHH11UeNi9CqMLiPBUQm8G9 / FFT_MAX_SIZE;
      
      	for (c = 0, p = 0.0; c < FFT_MAX_SIZE >> 3; c++, p -= k)
      		fftRoots[c] = { (float)cos(p),(float)sin(p) };
      
      }
      
      void computeIndexes()
      {
      	unsigned int c, j;
      	const unsigned int m = FFT_MAX_SIZE >> 1;
      
      	for (c = j = 0; c < m; c++)
      	{
      		fftIndexes[c] = j;
      		j ^= m - m / ((c ^ (c + 1)) + 1);
      	}
      }
      
      
      
      
      
      void rfft(float* data, const unsigned int z)
      {
      	unsigned int w, w2, i, p, inc;
      	float x, y, x1, y1, x2, y2, rx, ry, tmp;
      	const float scal = 1.f / (float)z;
      	float* data2, * dataover = data + z, * ptr1, * ptr2;
      	complex_t* rotptr, * rotators = fftRoots;
      	unsigned int* bitrev = fftIndexes;
      
      
      
      	for (i = 0, ptr1 = data, inc = FFT_MAX_SIZE / z, w = z >> 1; i < z; i += 2, bitrev += inc)
      	{
      		p = *bitrev;
      		x = *(ptr1++);
      		if (p > i) { tmp = *(ptr2 = data + p); *ptr2 = x; x = tmp; }
      		p += w;
      		y = *ptr1;
      		if (p > i + 1) { tmp = *(ptr2 = data + p); *ptr2 = y; y = tmp; }
      		*(ptr1--) = (x - y) * scal;
      		*ptr1 = (x + y) * scal;
      		ptr1 += 2;
      	}
      
      
      
      	for (w = 2, w2 = 4, inc = FFT_MAX_SIZE >> 2; w < z; w <<= 1, w2 <<= 1, inc >>= 1)
      	{
      		for (data2 = data; data2 < dataover; data2 += w2) 
      		{
      			
      
      			x = data2[0];
      			y = data2[w];
      			data2[0] = x + y;
      			x -= y;
      			y = data2[w2 - 1];
      			data2[w2 - 1] = x;
      			data2[w - 1] *= 2.f;
      			data2[w] = -(y + y);
      
      			if (w < 4) continue;
      
      	
      
      			ptr1 = data2 + (w >> 1) - 1;
      			ptr2 = ptr1 + w;
      			x = *(ptr1++);	y = *ptr1;
      			x1 = *(ptr2++);	y1 = *ptr2;
      			tmp = (x1 + y1) * 0.7071067812f;
      			y1 = (y1 - x1) * 0.7071067812f;
      			x1 = tmp;
      			*(ptr1--) = y + y1;
      			*ptr1 = x + x1;
      			*(ptr2--) = y1 - y;
      			*ptr2 = x - x1;
      
      			if (w < 8) continue;
      
      		
      
      			for (ptr1 = data2 + 1, ptr2 = data2 + w - 3, rotptr = rotators + inc; ptr1 < ptr2; rotptr += inc)
      			{
      				rx = rotptr->re; ry = rotptr->im;
      				x = *ptr1; y = *(ptr1 + 1);
      				x1 = *(ptr1 + w); y1 = *(ptr1 + w + 1);
      				x2 = *(ptr2 + w); y2 = *(ptr2 + w + 1);
      				tmp = rx * x1 - ry * y1; y1 = rx * y1 + ry * x1; x1 = tmp;
      				*ptr1 = x + x1;	*(ptr1 + 1) = y + y1;
      				*(ptr2 + w) = x - x1; *(ptr2 + w + 1) = y1 - y;
      				x = *ptr2; y = *(ptr2 + 1);
      				tmp = rx * y2 - ry * x2; y2 = -rx * x2 - ry * y2; x2 = tmp;
      				*ptr2 = x + x2;	*(ptr2 + 1) = y + y2;
      				*(ptr1 + w) = x - x2; *(ptr1 + w + 1) = y2 - y;
      				ptr1 += 2; ptr2 -= 2;
      			}
      		}
      	}
      }
      
      
      
      
      
      void rifft(float* data, const unsigned int z)
      {
      	unsigned int w, w2, i, p, inc;
      	float x, y, x1, y1, x2, y2, rx, ry;
      	float* data2, * dataover = data + z, * ptr1, * ptr2;
      	complex_t* rotptr, * rotators = fftRoots;
      	unsigned int* bitrev = fftIndexes;
      
      	data[0] += data[0];
      	data[z - 1] += data[z - 1];
      
      
      
      	for (w = z >> 1, w2 = z, inc = FFT_MAX_SIZE / z; w > 1; w >>= 1, w2 >>= 1, inc <<= 1)
      	{
      		for (data2 = data; data2 < dataover; data2 += w2) /
      		{
      		
      
      			x = data2[0];
      			y = data2[w2 - 1];
      			data2[0] = x + y;
      			data2[w - 1] += data2[w - 1];
      			x -= y;
      			y = data2[w];
      			data2[w] = x;
      			data2[w2 - 1] = -(y + y);
      
      
      			if (w < 4) continue;
      
      	
      			ptr1 = data2 + (w >> 1);
      			ptr2 = ptr1 + w;
      			y = *(ptr1--);
      			x = *ptr1;
      			y1 = *(ptr2--);
      			x1 = *ptr2;
      			*(ptr1++) = x + x1;
      			*ptr1 = y - y1;
      			*(ptr2++) = 0.7071067812f * (x - y - x1 - y1);
      			*ptr2 = 0.7071067812f * (x + y + y1 - x1);
      
      			if (w < 8) continue;
      
      
      			for (ptr1 = data2 + 1, ptr2 = data2 + w - 3, rotptr = rotators + inc; ptr1 < ptr2; rotptr += inc)
      			{
      				rx = rotptr->re; ry = rotptr->im;
      				x = *ptr1; y = *(ptr1 + 1);
      				x1 = *(ptr2 + w); y1 = *(ptr2 + w + 1);
      				*ptr1 = x + x1; *(ptr1 + 1) = y - y1;
      				x -= x1; y += y1;
      				x1 = *(ptr1 + w); y1 = *(ptr1 + w + 1);
      				*(ptr1 + w) = rx * x + ry * y;
      				*(ptr1 + w + 1) = rx * y - ry * x;
      				x = *ptr2; y = *(ptr2 + 1);
      				*ptr2 = x + x1; *(ptr2 + 1) = y - y1;
      				y += y1; x -= x1;
      				*(ptr2 + w) = -rx * y - ry * x;
      				*(ptr2 + w + 1) = rx * x - ry * y;
      				ptr1 += 2; ptr2 -= 2;
      			}
      		}
      
      	}
      
      
      	for (i = 0, ptr1 = data + 1, inc = FFT_MAX_SIZE / z, w = z >> 1; i < z; i += 2, bitrev += inc)
      	{
      		p = *bitrev;
      		y = *(ptr1--) * .5f;
      		x = *ptr1 * .5f;
      		x1 = *ptr1 = x + y;
      		if (p < i) { *ptr1 = *(ptr2 = data + p); *ptr2 = x1; }
      		p += w;
      		ptr1++;
      		x1 = *ptr1 = x - y;
      		if (p < i + 1) { *ptr1 = *(ptr2 = data + p); *ptr2 = x1; }
      		ptr1 += 2;
      	}
      
      }
      

      How can I use this type of code and call it from HISE?

      posted in General Questions
      T
      Tania Ghosh
    • RE: How to Emulate Hardware or Software Instruments/FX in HISE

      @iamlamprey @Lindon @Fortune ... I have one question.... For more customization do I need to write own C++ DSP code? if so, then how to integrate my custom DSP Modules with HISE? HISE works with Java script... I can do basic stuffs with JUCE or WDL but it is very daunting to work entirely with JUCE/WDL/RackAFX and make a complete plugins with JUCE only(without HISE).. I love HISE so much because of it's API and JAVASCRIPT....What steps do I need to follow to overcome this type of DSP C++ integrated approach?.. I have seen @orange has made some emulation stuffs with HISE using C++.

      posted in General Questions
      T
      Tania Ghosh
    • RE: How to Emulate Hardware or Software Instruments/FX in HISE

      @Fortune Yup.. 🙂 sure.

      posted in General Questions
      T
      Tania Ghosh
    • RE: How to Emulate Hardware or Software Instruments/FX in HISE

      @iamlamprey Yes...... 👍

      posted in General Questions
      T
      Tania Ghosh
    • RE: How to Emulate Hardware or Software Instruments/FX in HISE

      @iamlamprey 🤔 Where to start ? How to calibrate such things with math? Research.. yes ...after my building construction job I can spend time for R&D.. But I need proper guide ,tutorials documentation to follow.. 🙂

      posted in General Questions
      T
      Tania Ghosh
    • RE: How to Emulate Hardware or Software Instruments/FX in HISE

      @Lindon OK...T U 🙂

      posted in General Questions
      T
      Tania Ghosh
    • How to Emulate Hardware or Software Instruments/FX in HISE

      Is it possible to emulate an entire instrument/FX in HISE? For e.g Roland JUNO 60 or TAL-U-No-LX "Chorus" effect is very impressive... How to emulate such thing? Any help?

      posted in General Questions
      T
      Tania Ghosh
    • RE: Panel Scroll Zoom In/Out

      @Natan I got it..... I have to make knob,slider with paint routine too..... knob sliber with Image strip will not work... ok... Got it.. 🙂 Thank you

      posted in General Questions
      T
      Tania Ghosh
    • RE: Panel Scroll Zoom In/Out

      @Natan Is this possible //? ```

      HiseSnippet 1061.3ocyWstaaaCElxwZsVatXEnO.B8WJCtNRt2FPQwbiS7lQWRMp6x1vvPAsDsEQjIMjnahQQdN1e2ixdj1av1gjR1TY9FLP.F8OD34524vy4P59o7PRVFOEYU6CymRPVek8f4LQbmXLkg5cBx5A1mgyDjTWMoimOEmkQhPVVG78RBV0phTq+96NFmfYgjkjPnK3zPxORmPEKo1u8aoIIcwQjOPmXH8yZ2Kjy5vS3y.7bfsOZJN7R7Xx4XoXUrQVewoQTAOcf.KHYHqpGyilOHleESK+EzL5vDhbS.Z.XHM4t7jHIhkTQchoIQ8Kh6LDXk9KyBGnyBOx9LZDcA8kYiuVwvcoFl4CqJaBdAlvye2gmkA7ppg2CsGDlRmJVxQhsuztGCNnFggi.SXokEU4OpZ2gCRvDMmfujzME1rPCuW362v8499G9p5N0cN5n2x3CCp6.mHYB2OgScUDbesagMFSDc3SlxYvFuGq39XsxTVBkQbGMiEJnblKmo3JULkm3EVnUCvtIyHGV24y0cp0GyHIAMSISgjsvSZJMsVkncixEaDDMyjTUNqCNIYHTE4UFCEAo1mlQolxZCSMaUbdKcZsYcZkmap6jGm.F6KCp2ymIfrkWQ1xarNe3BqwMGAcJuIIwy+5tcCdo7mzLRdERnhUYKiRF8R6JsT5uRXdcC24MbupgabISbE.7m5669M5SXI3uPdr3U3o3sIv0f.hXZljyOSiDwdG5djaK2m.1F9lK0bCo9ABcbrXgXwFhYF4umDJ79sk392K7HrbtoTBs0NkPWWRy2WW3uCopfskpB9eZpxnc7btf7Nl2gNe1olyMNt2l0nQqjWdySBIckrkSyS2jhdrYSFRRKZ6KDDFqUdto85maZNVOT2sYHHm0iQEuaJgstoon7VTXtZkbTAhJTSUeP9T0AIzHRJhBCOums5bDo.r4UcncV4V2VYX8S8NAKvxY64vAf3TRpfJidqSHeBtzTOoul8IjrKE7oJ7lORAtGT6z5E2CH6.T97915wKnqW3v+bX64K89u19JYY2BB+UZ6XUElIEItV3q6sEe0xvWn.SeEzdJNErggwVfuxn.f0sPAPoDJr2ZZ1.EOxDEsWKJZIKGVPr5VqBt17PbdoSz+6czvKE3QyRvhxOeP9lobFPuQo6ok2Eyxnh4lEZ2IuoXWg6Cs6SEgwqFuUVAdksU2w3M+EZ0sOczHXl2RvV0t6ub2+bLj95kwmgEoTnfv97YSF.WjDR.jvfhJ47KqJxIM589x8xLy.BKRs4efUNy.4dqblAELQSvgo7OFpGwHeC38UT.LwTOEtF7lbXu6hAS119M8QSfml9wvPYp3I.1WsNs1Ccd5dnyy1Ccd9dnyK1Ccd4dny2tQcj+qf2LSvmnaS.B8OUMi2x5TFFpxTUjn+EjgcC1N
      
      posted in General Questions
      T
      Tania Ghosh