В этом примере показано, как считать аудио из файла и записать аудио вашим динамикам.
Чтобы считать целый звуковой файл в рабочую область и затем записать целый звуковой сигнал вашим динамикам, используйте 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/BR2020bd/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