0
我想使用LTSpice的文件輸入功能來模擬使用真實世界位音頻的電路。我需要在時間和幅度版本的數據,但不知道哪個軟件包可以爲我做這個。 Audacity可以將MP3轉換爲WAV,但從我看到的無法將其轉換爲無標頭文本文件。如何將WAV更改爲時間與幅度的txt文件?
所以一個.WAV文件時間/幅度的兩列的文本文件。
做它的自由的方式任何想法?
我想使用LTSpice的文件輸入功能來模擬使用真實世界位音頻的電路。我需要在時間和幅度版本的數據,但不知道哪個軟件包可以爲我做這個。 Audacity可以將MP3轉換爲WAV,但從我看到的無法將其轉換爲無標頭文本文件。如何將WAV更改爲時間與幅度的txt文件?
所以一個.WAV文件時間/幅度的兩列的文本文件。
做它的自由的方式任何想法?
下面是一個使用JavaScript的一個quick'n'nasty實現。
我將其留作練習,將結果字符串轉換爲可輕鬆下載的Blob,我將留下頻道選擇,立體聲結果以及選擇一小部分音軌進行處理。
<!doctype html>
<html>
<head>
<script>
"use strict";
function byId(id){return document.getElementById(id)}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
window.addEventListener('load', onDocLoaded, false);
var audioCtx;
function onDocLoaded(evt)
{
audioCtx = new AudioContext();
byId('fileInput').addEventListener('change', onFileInputChangedGeneric, false);
}
function onFileInputChangedGeneric(evt)
{
// load file if chosen
if (this.files.length != 0)
{
var fileObj = this.files[0];
loadAndTabulateAudioFile(fileObj, byId('output'));
}
// clear output otherwise
else
byId('output').textContent = '';
}
// processes channel 0 only
//
// creates a string that represents a 2 column table, where each row contains the time and amplitude of a sample
// columns are tab seperated
function loadAndTabulateAudioFile(fileObj, tgtElement)
{
var a = new FileReader();
a.onload = loadedCallback;
a.readAsArrayBuffer(fileObj);
function loadedCallback(evt)
{
audioCtx.decodeAudioData(evt.target.result, onDataDecoded);
}
function onDataDecoded(buffer)
{
//console.log(buffer);
var leftChannel = buffer.getChannelData(0);
//var rightChannel = buffer.getChannelData(1);
console.log("# samples: " + buffer.length);
console.log(buffer);
var result = '';
var i, n = buffer.length, invSampleRate = 1.0/buffer.sampleRate;
for (i=0; i<n; i++)
{
var curResult = (invSampleRate*i).toFixed(8) + "\t" + leftChannel[i] + "\n";
result += curResult;
}
tgtElement.textContent = result;
}
}
</script>
<style>
</style>
</head>
<body>
<label>Select audio file: <input type='file' id='fileInput'/></label>
<hr>
<pre id='output'></pre>
</body>
</html>
您正在使用能夠執行此任務的軟件閱讀此響應。編輯您的問題以提供輸入和期望輸出的樣本,您將收到答案。 – enhzflep