相关疑难解决方法(0)

什么是"2的补充"?

我在计算机系统课程中,并且一直在与Two's Complement一起挣扎.我想了解它,但我读过的所有内容并没有为我提供图片.我已经阅读了维基百科文章和其他各种文章,包括我的教科书.

因此,我想开始这个社区wiki帖子来定义Two's Complement是什么,如何使用它以及它如何在诸如强制转换(从有符号到无符号,反之亦然)等操作中影响数字,逐位操作和位移操作.

我所希望的是一个清晰简洁的定义,程序员很容易理解.

binary computer-science bit-manipulation twos-complement data-representation

410
推荐指数
7
解决办法
40万
查看次数

使用Python [summary]读取wav文件最简单的方法是什么?

我想使用Python来访问一个wav文件并以一种允许我分析它的形式编写它的内容(比方说数组).

  1. 我听说"audiolab"是一个合适的工具(它将numpy数组转换为wav,反之亦然).
  2. 我已经安装了"audiolab",但我遇到了numpy版本的问题(我无法"从numpy.testing import Tester").我有1.1.1.numpy的版本.
  3. 我在numpy(1.4.0)上安装了一个较新的版本.但后来我遇到了一组新的错误:

    回溯(最近通话最后一个):文件"test.py",7号线,在进口scikits.audiolab文件"/usr/lib/python2.5/site-packages/scikits/audiolab/ 初始化 py"为25行,从pysndfile进口formatinfo,sndfile文件"/usr/lib/python2.5/site-packages/scikits/audiolab/pysndfile/ 初始化的.py",1号线,从_sndfile进口sndfile,格式,available_file_formats,available_encodings文件"numpy的.pxd",第30行,在scikits.audiolab.pysndfile._sndfile中(scikits/audiolab/pysndfile/_sndfile.c:9632)ValueError:numpy.dtype似乎不是正确的类型对象

  4. 我放弃使用audiolab并认为我可以使用"wave"包来读取wav文件.我问了一个关于这个的问题,但人们建议改用scipy.好吧,我决定专注于scipy(我有0.6.0版本).

  5. 但是,当我尝试执行以下操作时:

    来自scipy.io import wavfile
    x = wavfile.read('/ usr/share/sounds/purple/receive.wav')

我得到以下内容:

Traceback (most recent call last):
  File "test3.py", line 4, in <module>
    from scipy.io import wavfile
  File "/usr/lib/python2.5/site-packages/scipy/io/__init__.py", line 23, in <module>
    from numpy.testing import NumpyTest
ImportError: cannot import name NumpyTest
Run Code Online (Sandbox Code Playgroud)
  1. 所以,我放弃使用scipy.我可以使用波包吗?我不需要太多.我只需要以人类可读的格式包含wav文件的内容,而不是我将弄清楚如何处理它.

python audio wav scipy wave

7
推荐指数
5
解决办法
3万
查看次数

将大型WAV文件(或任何大型文件)读取/处理为python的最快方法

因此,我在一个学校项目中工作,必须处理较大的wav文件(> 250Mgb),我想知道为什么当我向audacity软件读取此类文件时,要花大约40秒钟才能读取和绘制,但是当使用script.io.wavfile.read将其读取到python时,它将永远持续下去。所以我的问题是,胆量软件如何使它这么快,这是我可以在python中做到的吗?

编辑:我在我的代码中添加了一个新部分,以计算和绘制WAV文件的包络,但是问题是尝试使用大型WAV文件时,这将花费数年时间。文件更快谢谢

这是我正在使用的代码:

import matplotlib.pyplot as plt
import numpy as np
from scipy.io.wavfile import read
from tkinter import filedialog

# Browse, read the signal and extract signal informations (fs, duration)
filename = filedialog.askopenfilename(filetypes = (("""
            Template files""", "*.wav"), ("All files", "*")))

fs, data = read(filename, mmap=True)

T = len(data) / fs        #duration
nsamples = T * fs       #number of samples
time = np.linspace(0, T, nsamples)


# Compute the envelope of the signal
from scipy.signal import hilbert, chirp, resample
analytic_signal …
Run Code Online (Sandbox Code Playgroud)

python performance audacity

7
推荐指数
0
解决办法
410
查看次数

如何从wav文件中获取wav样本?

我想知道如何从.wav文件中获取样本,以便执行两个.wav文件的窗口连接.

任何人都可以告诉我该怎么做?

python wav

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

从*.wav文件中提取振幅列表以在Python中使用

我有一点编程和转换麻烦.我正在设计一个AI来识别乐器演奏的音符,并需要从波形文件中提取原始声音数据.我的目标是在文件中的大块时间执行FFT操作以供AI使用.为此,我需要一个音频文件的振幅列表,但我似乎无法找到一个可行的转换技术.这些文件以MP3的形式开始,然后我将它们转换为wav文件,但是当我尝试读取它时,我总是会得到一个压缩文件,它会发出乱码.有谁知道我如何将wav文件转换为与Python波模块兼容的东西,甚至可以直接将数据转换为振幅列表?

python fft frequency wav amplitude

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

使用 linux 或 python 查找 mp3 的声音样本的时间戳

我慢慢地致力于这哪里会是非常有用的,如果该计算机可以找到一个项目,其中在发生某种样本的MP3文件。我会将这个问题限制在一个相当精确的音频片段上,而不仅仅是例如同一乐队不同录音中的一首歌中的合唱,它会成为某种机器学习问题。我在想,如果它没有添加噪音并且来自同一个文件,那么应该可以在没有机器学习的情况下以某种方式定位它发生的时间,就像 grep 可以在文本文件中找到出现单词的行一样。

如果您身边没有 mp3,可以使用一些公共领域的网络上可用的音乐来设置问题,所以没有人抱怨:

curl https://web.archive.org/web/20041019004300/http://www.navyband.navy.mil/anthems/ANTHEMS/United%20Kingdom.mp3 --output godsavethequeen.mp3
Run Code Online (Sandbox Code Playgroud)

这是一分钟:

exiftool godsavethequeen.mp3 | grep Duration
Duration                        : 0:01:03 (approx)
Run Code Online (Sandbox Code Playgroud)

现在在 30 到 33 秒之间剪掉一点(那是 la la la la ..):

ffmpeg -ss 30 -to 33 -i godsavethequeen.mp3 gstq_sample.mp3
Run Code Online (Sandbox Code Playgroud)

文件夹中的两个文件:

$ ls -la
-rw-r--r-- 1 cardamom cardamom   48736 Jun 23 00:08 gstq_sample.mp3
-rw-r--r-- 1 cardamom cardamom 1007055 Jun 22 23:57 godsavethequeen.mp3
Run Code Online (Sandbox Code Playgroud)

出于某种原因,exiftool 似乎高估了样本的持续时间:

$ exiftool gstq_sample.mp3 | grep Duration
Duration                        : 6.09 s (approx)
Run Code Online (Sandbox Code Playgroud)

..但我想它只是像它告诉你的那样近似。

这是我所追求的:

$ findsoundsample gstq_sample.mp3 godsavethequeen.mp3 …
Run Code Online (Sandbox Code Playgroud)

python linux audio mp3 signal-processing

4
推荐指数
2
解决办法
878
查看次数

使用 Python 只读取大型 wav 文件的一部分

我有很大的 wav 文件(每个大约 4GB)。由于我的部署服务器有一个限制,每个进程不能使用超过 500 MB 的 RAM,因此我希望能够仅加载和处理音频文件的块,然后稍后读取并附加它们,例如一个文本文件。

我查看了pydub,但它似乎会在我可以切掉较小的块进行处理之前加载整个文件(如果我错了,请纠正我)。scipy.io.wavfile.read的情况也是如此。我希望能够读取大文件的块,处理它们,然后将它们放回去(理想情况下附加到硬盘驱动器上先前处理的块)。

我能找到的大多数可用的答案已经假设我可以将大文件加载到主内存中。

如何将一个 .wav 文件拆分为多个 .wav 文件?

在Python中读取*.wav文件

audio python-3.x

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