小编For*_*niu的帖子

从android上的麦克风计算响度级别

我试图从android上的麦克风计算响度级别.我使用AudioRecord从麦克风获取原始数据,并进行了一些归一化并在此之后计算出分贝.但结果不对.我得到的分贝值不稳定,无法反映声音.比如即使我拍手时,分贝值也没有反映出声音.我该如何更改代码?如果我想实时计算麦克风的响度,我该怎么办?非常感谢.

               recorder = new AudioRecord(AudioSource.MIC, iSampleRate, AudioFormat.CHANNEL_IN_MONO,             AudioFormat.ENCODING_PCM_16BIT, iAudioBufferSize);

               iBufferReadResult = recorder.read(buffer, 0, iAudioBufferSize);

              for (int i = 0; i < buffer.length-1; i++)
            {
                ByteBuffer bb = ByteBuffer.wrap(buffer, i, 2);
                int isample = bb.getShort();

                double dsample =(double) isample / 32768.0;
                sum += (dsample*dsample);

                double rms = Math.sqrt(sum/(buffer.length*0.5));        
                double decibel = 20*Math.log10(rms);

                sum = 0;
                }

            }   
Run Code Online (Sandbox Code Playgroud)

audio android microphone decibel

9
推荐指数
1
解决办法
4897
查看次数

如何访问第二个麦克风android,如Galaxy 3

现在很多智能手机都有不止一个麦克风.一个用于语音输入,另一个用于降低环境噪声.

我想知道如何独立访问两个麦克风的信号?或者关闭其中一个麦克风?

欢迎任何想法或意见.非常感谢.

android microphone

7
推荐指数
1
解决办法
2万
查看次数

Android Wear:ChannelIOException:在流完成之前通道意外关闭

我正在使用 Channel 将音频数据从穿戴设备发送到手持设备。但是,当我将数据写入通道流时,程序有时会卡在将数据写入流的代码处并抛出异常:

com.google.android.gms.wearable.ChannelIOException: Channel 在流完成之前意外关闭。

我没有找到很多与我类似的问题。有没有人对如何解决它有一些想法?非常感谢您的时间!

我用来将数据写入通道的代码是:

// OS is the output stream to write the data into the local file system on the android wear device.
    if(null != os){
                    while(isWriting){
                        read = audioRecord.read(data, 0, recBufSize);
                        if(AudioRecord.ERROR_INVALID_OPERATION != read){
                            try {
                                if(sChannelOutputStream!=null) {
                                    Log.d(Constants.TAG,"Schanneloutput write starts+ readsize:"+read);
                                    sChannelOutputStream.write(data);
                                    Log.d(Constants.TAG, "Schanneloutput write ends");
                                }
                                os.write(data);
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }
                    }

                    try {
                        os.close();
                        if(sChannelOutputStream!=null){
                            Log.d(Constants.TAG,"Schannel out close");
                            sChannelOutputStream.close();
                            sChannelOutputStream = null;
                        }

                    } catch (IOException e) …
Run Code Online (Sandbox Code Playgroud)

android android-wear-data-api wear-os

5
推荐指数
0
解决办法
263
查看次数

使用weka对传感器数据进行分类

我正在研究一个分类问题,它有不同的传感器.每个传感器收集一组数值.

我认为这是一个分类问题,并希望使用weka作为此问题的ML工具.但我不确定如何使用weka来处理输入值?哪个分类器最适合这个问题(一个特征的实例是一组数值)?

例如,我有三个传感器A,B,C.我可以将所有传感器中的5个采集数据定义为一个实例吗?例如,A的一个实例是{1,2,3,4,5,6,7},B的一个实例是{3,434,534,213,55,4,7).13 C {424,24,24,13,24,5,6}.

非常感谢您抽出时间审阅我的问题.

classification machine-learning weka feature-selection

1
推荐指数
1
解决办法
974
查看次数