You are not logged in.
Hello fellow archers,
Can anybody please recommend alternatives to the programs mentioned on this page.
http://www.head-fi.org/t/413900/how-to- … a-tutorial
Thanks in advance.
Offline
https://wiki.archlinux.org/index.php/Pu … #Equalizer
https://wiki.archlinux.org/index.php/Ad … _equalizer
ewaller@turing ~ 1014 %packer -Ss jnoise
aur/jnoise 0.6.0-1 (5)
A command line JACK app generating white and pink gaussian noise
aur/jnoisemeter 0.1.0-1 (0)
measures noise levels to various standards
ewaller@turing ~ 1015 %Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
https://wiki.archlinux.org/index.php/Pu … #Equalizer
https://wiki.archlinux.org/index.php/Ad … _equalizerewaller@turing ~ 1014 %packer -Ss jnoise aur/jnoise 0.6.0-1 (5) A command line JACK app generating white and pink gaussian noise aur/jnoisemeter 0.1.0-1 (0) measures noise levels to various standards ewaller@turing ~ 1015 %
Thanks but I did try those before but they were unsatisfactory.
I'm using LV2 and LADSPA plugins in ardour which have parametric equalizers. I could run SineGen perfectly through wine so that's sorted out. I'm not going to affix [SOLVED] to my post for now because I want some more recommendations. A standalone parametric equalizer perhaps?
Offline
Yeah, I am a bit disappointed in the arbitrary function generator software available on Linux.
I usually write stuff in C to do it; Octave might not be a bad solution.
Here is a C file I have laying around. I cannot say I wrote it. It is a Franken-Program put together with a bunch of borrowed code.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>/* M_PI is declared in math.h */
#define PI M_PI
typedef unsigned int UI;
typedef unsigned /*long*/ int UL;
typedef unsigned short int US;
typedef unsigned char UC;
typedef signed int SI;
typedef signed long int SL;
typedef signed short int SS;
typedef signed char SC;
#define attr(a) __attribute__((a))
#define packed attr(packed)/* WAV header, 44-byte total */
typedef struct{ UL riff packed;
UL len packed;
UL wave packed;
UL fmt packed;
UL flen packed;
US one packed;
US chan packed;
UL hz packed;
UL bpsec packed;
US bpsmp packed;
US bitpsmp packed;
UL dat packed;
UL dlen packed;
}WAVHDR;
int savefile(const char*const s,const void*const m,const int ml){
FILE*f=fopen(s,"wb");
int ok=0;
if(f){
ok=fwrite(m,1,ml,f)==ml;
fclose(f);
}
return ok;
}
/* "converts" 4-char string to long int */
#define dw(a) (*(UL*)(a))
/* Makes 44-byte header for 8-bit WAV in memory
* usage: wavhdr(pointer,sampleRate,dataLength) */
void wavhdr(void*m,UL hz,UL dlen){
WAVHDR*p=m;
p->riff=dw("RIFF");
p->len=dlen+44;
p->wave=dw("WAVE");
p->fmt=dw("fmt ");
p->flen=0x10;
p->one=1;
p->chan=1;
p->hz=hz;
p->bpsec=hz;
p->bpsmp=1;
p->bitpsmp=8;
p->dat=dw("data");
p->dlen=dlen;
}
float flywheel=0;
float modulation =0;
float delta=0.1;
/* returns 8-bit sample for a sine wave */
UC wave(UL rate,float freq,UC amp,UL n){
flywheel += (PI*2/rate)*freq;
if (flywheel > PI*2)
flywheel -= PI*2;
modulation += delta;
//if (abs(modulation)>100) delta = -delta;
return (UC) (sin(flywheel)*(1-sin(modulation)/2)*amp+128);
}
/* make arbitrary audio data here */
void makeaud(UC*p,const UL rate,UL z){
float freq=2000;
UC amp=80;
int i=0;
while(i++<z){
*p++=wave(rate,freq,amp,i);
}
}
/* makes wav file */
void makewav(const UL rate,const UL dlen){
const UL mlen=dlen+44;
UC*const m=malloc(mlen);
if(m){
wavhdr(m,rate,dlen);
makeaud(m+44,rate,dlen);
savefile("out.wav",m,mlen);
}
}
int main(){
if(sizeof(WAVHDR)!=44)puts("bad struct");
makewav(22050,1000000);
return 0;
}The function happens in UC_wave. In this case, I was creating an carrier that was being modulated by a swept sinusoid. I was using it to debug a spectral waterfall display I had been working on last year.
No guarantees. It creates a wave file that can be piped through aplay. My display program was a sink for pulseaudio and output (dynamically) through gnuplot.
Last edited by ewaller (2015-05-24 22:06:00)
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline