Аудиовход и аудиовыход

В этом примере показано, как считать аудио из файла и записать аудио вашим динамикам.

Считайте и запишите целые звуковые файлы

Чтобы считать целый звуковой файл в рабочую область и затем записать целый звуковой сигнал вашим динамикам, используйте audioread и soundsc функции. Вызовите audioread с именем файла, чтобы считать целый звуковой файл и частоту дискретизации аудио. Вызовите soundsc с аудиоданными и частотой дискретизации, чтобы проигрывать аудио вашим динамикам по умолчанию.

[audioData,fs] = audioread("SpeechDFT-16-8-mono-5secs.wav");
soundsc(audioData,fs)

Считайте и запишите покадровые звуковые файлы

Чтобы считать аудио, покадровое в рабочую область и затем записать аудио, покадровое в ваши динамики, используйте dsp.AudioFileReader и audioDeviceWriter функции.

Создайте dsp.AudioFileReader возразите, чтобы считать аудио из покадрового файла. Читатель звукового файла сохраняет частоту дискретизации звукового файла к SampleRate свойство.

fileReader = dsp.AudioFileReader("Filename","SpeechDFT-16-8-mono-5secs.wav")
fileReader = 
  dsp.AudioFileReader with properties:

                      Filename: '/mathworks/devel/bat/BR2021bd/build/matlab/toolbox/audio/samples/SpeechDFT-16-8-mono-5secs.wav'
                     PlayCount: 1
               SamplesPerFrame: 1024
                OutputDataType: 'double'
    FilenameIsTunableInCodegen: 0
                    SampleRate: 8000
                     ReadRange: [1 Inf]

Создайте audioDeviceWriter возразите, чтобы записать аудио вашим динамикам. Установите частоту дискретизации audioDeviceWriter возразите против частоты дискретизации звукового файла.

deviceWriter = audioDeviceWriter("SampleRate",fileReader.SampleRate)
deviceWriter = 
  audioDeviceWriter with properties:

        Device: 'Default'
    SampleRate: 8000

  Show all properties

В цикле читайте из файла и запишите в устройство. В то время как цикл запускается, аудио проигрывается к вашему аудио устройству по умолчанию.

while ~isDone(fileReader)
    
    % Read one frame of audio data from the file.
    audioData = fileReader();
    
    % Write one frame of audio data to your speakers.
    deviceWriter(audioData);
    
end

Как лучшая практика, выпустите файловое устройство и аудио устройство когда вы закончите.

release(fileReader)
release(deviceWriter)

Чтобы изучить, как реализовать другие аудио настройки ввода-вывода, такие как чтение от микрофона или запись в динамик, смотрите Аудио В реальном времени в MATLAB.

Смотрите также

| | | | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте