1

これは一般的な質問です: どうすればサウンドの最初にあるピーク サウンドを取り除くことができますか? ここに完全なコードがあるので、試してみてください。比較のために、QSound で同じサウンドを再生すると、そのピーク ノイズはありません。しかし、QSound は Ubuntu では動作しないため、使用できません。

VLCのようなプレーヤーで音を再生している場合、最初はノイズがありません。これが音です:http://www.file-upload.net/download-7876205/delete_2.wav.html

import struct, sys, time
from PyQt4.QtCore import QIODevice, Qt, QFile
from PyQt4.QtGui import QApplication, QWidget
from PyQt4.QtMultimedia import QAudio, QAudioDeviceInfo, QAudioFormat, QAudioOutput

class Window(QWidget):

    def __init__(self, parent = None):    
        QWidget.__init__(self, parent)

        format = QAudioFormat()
        format.setChannels(1)
        format.setFrequency(48000)
        format.setSampleSize(16)
        #format.setCodec("audio/pcm")
        format.setCodec("audio/wav")
        format.setByteOrder(QAudioFormat.LittleEndian)
        format.setSampleType(QAudioFormat.SignedInt)
        self.output = QAudioOutput(format, self)

        self.file=QFile()
        self.file.setFileName("C:\\delete_2.wav")
        self.file.open(QIODevice.ReadOnly)

        self.output.start(self.file)

        #self.file.close()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Window()
    #window.show()
    sys.exit(app.exec_())
4

2 に答える 2

2
self.file.seek(44)

ファイルヘッダーをスキップすることですが、44 は固定サイズではありません。後は音声データ

于 2013-08-13T22:28:45.077 に答える
0

あ、最初のノイズ音はあると消える

self.file.seek(44)

self.file.open(...)

この「探す」ことは何のためですか?スニペットでそれを見つけて、それが機能することをうれしく思いますが、背景を理解したいです!

于 2013-07-24T09:10:47.357 に答える