Sound aus DSP auslesen und Lautstärke feststellen.



  • Hallo. Ich würde gerne von /dev/dsp auslesen und die Lautstärke ermitteln:

    #define SAMPLE_LENGTH 100
    
    int main(int argc, char *argv[])
    {
    	ifstream dspin ("/dev/dsp", ios::binary);
    	if(dspin.fail())
    		cout << "Kann das DSP nicht öffnen!" << endl;
    
    	char buffer[SAMPLE_LENGTH];
    	dspin.seekg(0, ios::end);
    	while(true)
    	{
    		dspin.read(buffer, SAMPLE_LENGTH);
    		int middle = 0;
    		for(int i = 0; i < SAMPLE_LENGTH; i++)
    		{
    			middle += buffer[i];
    		}
    		middle = middle / SAMPLE_LENGTH;
    		cout << "        \r" << middle << "\r";
    		fflush(stdout);
    	}
    
    }
    

    Doch egal wie laut es im DSP ist, die Werte schwanken nur wie wild umher !?

    Aber vlt. hab ich das mit dem DSP noch nicht ganz verstanden xD



  • Sry, ich habs.

    Der Fehler war: Es hätte unsigned char buffer... heißen müssen...

    THX trotzdem.


Anmelden zum Antworten