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

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

Чтение и запись всего аудио Файлов

Чтобы считать целую аудио файла в рабочую область и затем записать весь аудиосигнал в ваши динамики, используйте 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/BR2021ad/build/matlab/toolbox/audio/samples/SpeechDFT-16-8-mono-5secs.wav'
          PlayCount: 1
    SamplesPerFrame: 1024
     OutputDataType: 'double'
         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)

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

См. также

| | | | | |

Похожие темы