В этом примере показано, как считывать аудио из файла и записывать аудио в динамики.
Чтобы прочесть весь аудиофайл в рабочую область и затем записать весь аудиосигнал в динамики, используйте 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)
Сведения о том, как реализовать другие конфигурации аудио ввода-вывода, такие как считывание с микрофона или запись на динамик, см. в разделе Аудио в реальном времени в MATLAB.
asiosettings | audioDeviceReader | audioDeviceWriter | audioPlayerRecorder | dsp.AudioFileReader | dsp.AudioFileWriter | getAudioDevices