我想创建一个音乐应用程序,它有一个类似于SoundCloud的视图,这一个是明确的:
我想为每个bar创建一个这样的类:
class Bar {
const Bar(this.alreadyPlayed, this.index, this.height);
final bool alreadyPlayed;
final int index;
final double height;
}
其中alreadyPlayed是一个布尔值,它告诉条形图应该是彩色的还是灰色的,index是条形图的编号,高度是条形图的高度。前两个变量应该不难获得,我的问题是获得横杆的高度,即当时音乐的强度
使用此代码无法获得持续时间较短的音频流的波形图像。我得到的是完全空白的图像。是否有任何方法来获得正确的波形图像,为较小的持续时间音频流。我在这里使用的是NAudio的AudioFileReader函数。
Bitmap bim = new Bitmap(1800,200);
System.Drawing.Graphics g = Graphics.FromImage(bim);
using (var reader = new AudioFileReader("D:\\Test-Songs\\DawnJay.mp3"))
我在Labview中有一个波形图。我知道我可以使用Plot History Length属性更改它的范围。问题是我没有定期将点添加到绘图中,所以我无法计算出我想要显示的点的数量。
有没有办法告诉Labview我只想显示最后的点,比方说,20分钟?
我想显示一个绝对时间,所以把range设置为20分钟不会有什么帮助。
参考这个链接:,我正在尝试制作相同的波形图,但是,我得到的图是这样的:
。
我正在运行这些python代码:
def plot_waves(sound_names, raw_sounds):
i = 1
fig = plt.figure()
for n, f in zip(sound_names, raw_sounds):
plt.subplot(10, 1, i)
librosa.display.waveplot(np.array(f), sr=22050)
plt.title(n.title())
i
我想从一个模拟波形通道获取原始数据,然后简单地将其加载到一个双倍数组中。以下是我所拥有的:
Dim data() As AnalogWaveform(Of Double)
Dim dataToFilter() As Double
For Each WaveformGraph In WFGS
dataToFilter(i) = data(i).GetRawData() 'Value of Type '1-dimensional array of Double' cannot be converted to 'Double'