试图通过javascript从音频文件中获取分贝级别

     2023-02-25     232

关键词:

【中文标题】试图通过javascript从音频文件中获取分贝级别【英文标题】:Trying to get decibel levels from an audio file through javascript 【发布时间】:2014-11-21 21:38:46 【问题描述】:

我一直在看这里的信息:

Is there a way get something like decibel levels from an audio file and transform that information into a json array?

但是当我尝试在这里运行 JSBin 时:

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8 />
    <title>Get Audio Data</title>
    <link rel="stylesheet" type="text/css" href="index.css">
    <script type="text/javascript" src="music.js"></script>
  </head>
  <body>
    <div id=meter></div>
  </body>
</html>

#meter 
    width: 500px;
    height: 15px;
    margin: 2px 0;
    background: green;
    -webkit-transition;
    width .05s;


function() 
    var ctx = new webkitAudioContext(),
    url = 'test.mp3',
    audio = new Audio(url),
    processor = ctx.createJavaScriptNode(2048, 1, 1),
    meter = document.getElementById('meter'),
    source;

    audio.addEventListener('canplaythrough', function() 
        source = ctx.createMediaElementSource(audio);
        source.connect(processor);
        source.connect(ctx.destination);
        processor.connect(ctx.destination);
        audio.play();
    , false);

    processor.onaudioprocess = function(evt) 
        var input = evt.inputBuffer.getChannelData(0),
        len = input.length,
        total = i = 0,
        rms;
        while(i<len)
            total += Math.abs(input[i++]);
        rms = Math.sqrt(total/len);
        meter.style.width = (rms*100) + '%';
    ;
;

我不太确定它在做什么。谁能给我更多信息?

【问题讨论】:

我不是在网上四处寻找您的代码。请看How to Ask 点击一个链接并不能真正构成在互联网上追逐......但我会编辑这个问题。 您是否只是要求某人解释代码在做什么,或者您是否期望它应该做一些它没有做的事情?你的问题不是很清楚。 【参考方案1】:

替换失效的 API 调用后,您的代码会生成 RMS 输出

old    webkitAudioContext
new    


try 

    window.AudioContext = window.AudioContext ||
        window.webkitAudioContext ||
        window.mozAudioContext ||
        window.oAudioContext ||
        window.msAudioContext;

    ctx = new AudioContext();

    console.log("cool audio context established ... ctx ");

 catch (e) 

    alert("Web Audio API is not supported by this browser\n ... http://caniuse.com/#feat=audio-api");

old    createJavaScriptNode
new    createScriptProcessor

【讨论】:

使用 naudio 获取 1 秒音频文件的分贝数

】使用naudio获取1秒音频文件的分贝数【英文标题】:Getdecibelsof1secondofaudiofileusingnaudio【发布时间】:2015-05-3017:00:41【问题描述】:我想使用naudio计算任何.wav文件的1秒分贝。这是我的代码:WaveFileReaderreader=newWaveFileReader(@"C:\\Users\... 查看详情

通过获取 .attr 使用 JavaScript/jquery 播放/暂停音频文件

】通过获取.attr使用JavaScript/jquery播放/暂停音频文件【英文标题】:Play/PauseaudiofilewithJavaScript/jquerybyfetching.attr【发布时间】:2015-09-2009:18:13【问题描述】:按下播放时,文件mp3应播放,再次单击时mp3应暂停。目标是从\'key\'中获... 查看详情

使用 HTML5/javascript 校正音频音量输出分贝,关闭预处理

】使用HTML5/javascript校正音频音量输出分贝,关闭预处理【英文标题】:CorrectaudiovolumeoutputdecibelsusingHTML5/javascript,turnoffpre-processing【发布时间】:2014-12-2202:07:02【问题描述】:我们观察到,在许多系统上使用基于JavaScript的浏览器... 查看详情

Ionic 3 从录制的文件中获取 base64 音频字符串

...ase64字符串才能使用html音频标签播放它。问题是:如果我试图将暂停和恢复的录音 查看详情

如何标准化分贝值并使其介于 0 和 1 之间

...【发布时间】:2015-07-2321:32:30【问题描述】:我正在尝试通过循环播放音频样本并获取每个通道的平均功率来获取音频的功率。我想获得一个介于0和1之间的值,以反映正在播放的音频的强度。现在我得到dB(分贝值),它是一... 查看详情

从原始 wav 音频中获取信号的正负分量

...答案,数字信号将具有一个+ve分量和一个负分量。所以我试图将它与一个非常基本的wav音频文件联系起来。我正在使 查看详情

如何通过javascript从html页面中的特定github txt文件中获取数据

】如何通过javascript从html页面中的特定githubtxt文件中获取数据【英文标题】:Howtofetchdatafromaparticulargithubtxtfileinhtmlpageviajavascript【发布时间】:2020-11-1717:40:18【问题描述】:我要获取这个urlhttps://github.com/ProjectSakura/OTA/blob/10/changelo... 查看详情

如何从javascript中的列表中获取音频元素的src

】如何从javascript中的列表中获取音频元素的src【英文标题】:howgetsrcofaudioelemntfromlistinjavascript【发布时间】:2019-02-0715:11:54【问题描述】:当我点击播放它的按钮时,如何获取audio标签的源代码?我有很多li标签,每个li包含三... 查看详情

如何使用音频单元 osx 从设备音频输入中获取音频

...布时间】:2018-05-0807:34:48【问题描述】:我花了很长时间试图弄清楚如何使用音频单元从用户麦克风获取声音,以便我可以在音频单元录制回调中使用它,但我仍然处于堆栈状态。-(OSStatus)setupMicInputAudioObjectPropertyAdd 查看详情

使用javascript从视频流中提取音频

】使用javascript从视频流中提取音频【英文标题】:Extractaudiofromvideostreamusingjavascript【发布时间】:2012-06-2607:26:42【问题描述】:我想使用javascript从视频文件中提取音频,是否可以制作mp3文件或任何格式,以便我可以在html5的音... 查看详情

如何从多个音频文件中获取总音频持续时间

】如何从多个音频文件中获取总音频持续时间【英文标题】:Howtogettotalaudiodurationfrommultipleaudiofiles【发布时间】:2021-07-2714:32:53【问题描述】:我正在尝试从一组音频路径中获取音频的总持续时间。数组如下所示:varsound_paths=["1... 查看详情

如何使用 Javascript 从按钮值中选择音频文件

】如何使用Javascript从按钮值中选择音频文件【英文标题】:HowdoIuseJavascripttoSelectAudioFilefromButtonValue【发布时间】:2015-10-2720:46:20【问题描述】:所以我有一组具有不同值的按钮,我希望它们在单击时播放带有数字值的歌曲。所... 查看详情

从音频文件中获取图像的最佳方法是啥?

】从音频文件中获取图像的最佳方法是啥?【英文标题】:Whatisthebestmethodtogetimagefromaudiofile?从音频文件中获取图像的最佳方法是什么?【发布时间】:2017-07-0312:03:38【问题描述】:我需要的是检索嵌入在音频文件中的图像,我... 查看详情

如何通过javascript删除html5音频播放器中的源音频文件

】如何通过javascript删除html5音频播放器中的源音频文件【英文标题】:howtoremovesourceaudiofileinhtml5audioplayerviajavascript【发布时间】:2020-01-2820:55:21【问题描述】:我有一个动态音频播放器(默认为html5),我可以在其中设置src并自... 查看详情

如何从 wav 文件中获取原始音频?

】如何从wav文件中获取原始音频?【英文标题】:HowcanIgetrawaudiofromawavfile?【发布时间】:2014-06-0309:38:03【问题描述】:我需要从wav文件中获取原始音频样本,最好的方法是什么?【问题讨论】:您会接受一种不一定是“最好”... 查看详情

gstreamer 从缓冲区读取分贝

...间】:2015-09-2600:12:28【问题描述】:我正在尝试获取传入音频样本的dB级别。在每个视频帧上,我都会更新dB级别并绘制一个代表0-100%值的条形(0%是任意值,例如-20.0dB,100%是0dB。)gdoublesum,rms;sum=0.0;guint16*data_16=(guint16*)ama 查看详情

WPF C#,从音频文件中获取信息

】WPFC#,从音频文件中获取信息【英文标题】:WPFC#,Getinformationsfromaudiofile【发布时间】:2011-04-2520:02:34【问题描述】:喂!我想从C#(wpf)中的音频文件(标题、艺术家等)中获取一些信息。MediaElement没有提供这个选项,所以我使... 查看详情

如何从麦克风实时获取原始音频帧或从 iOS 中保存的音频文件获取原始音频帧?

】如何从麦克风实时获取原始音频帧或从iOS中保存的音频文件获取原始音频帧?【英文标题】:HowcanIobtaintherawaudioframesfromthemicrophoneinreal-timeorfromasavedaudiofileiniOS?【发布时间】:2018-05-1602:18:57【问题描述】:我正在尝试从音频信... 查看详情