ГЛАВНАЯ Визы Виза в Грецию Виза в Грецию для россиян в 2016 году: нужна ли, как сделать

Работа с SD картой. Воспроизведение wav файла

В этой статье мы рассмотрим практический пример использования SD карты с микроконтроллером AVR. По просьбе трудящихся я написал проект, который читает с SD карты wav файл и воспроизводит его.

Для проекта я использовал микроконтроллер atmega16, тактируемый от внешнего кварца с частотой 6 МГц. В качестве ЦАПа задействована функция формирования ШИМ сигнала таймера Т0. Wav файл для воспроизведения был выбран с такими параметрами: 8 бит, 22 кГц, моно.

Низкоуровневые функции для работы с SD картой

Чтобы использовать библиотеку Petit FatFs с SD картой, нужно реализовать три низкоуровневые функции для работы с ней - это функция инициализации, чтения и записи. Если вы читали предыдущий материал, в котором была описана библиотека Petit FatFs , то должны помнить, что "пустышки" этих функций находятся в файле diskio.c

На сайте Elm Chan`a есть примеры использования библиотеки с SD картами, поэтому можно взять уже готовые функции из этих проектов, что я и сделал. Я позаимствовал из одного примера файл mmc.c и заменил им файл diskio.c , однако файл mmc.c тоже потребовал небольшого "допиливания".

В начале файла определены макросы, реализующие работу с SPI интерфейсом. Можно определить эти макросы для работы с аппаратным SPI модулем, а можно реализовать программный SPI. Это уже вопрос ресурсов и желания пользователя.

Макросы такие:

#define SELECT() - формирует низкий уровень на CS выводе карты
#define DESELECT() - формирует высокий уровень на СS выводе карты
#define MMC_SEL - возвращает единицу, если на выводе CS низкий уровень
#define init_spi() - инициализирует SPI модуль
#define dly_100us() - формирует задержку на 100 микросекунд
#define xmit_spi(d) - передает байт данных по SPI
#define rcv_spi() - принимает байт данных по SPI
#define FORWARD(d) - перенаправляет поток данных, этот макрос можно оставить пустым

Все эти макросы легко реализовать, если прочитать материал про SPI модуль AVR микроконтроллера. Я как раз взял оттуда spi драйвер и "прицепил" его к файлу mmc.c.

Короче, получается такая последовательность. Мы берем библиотеку Petit FatFs добавляем к ней файл mmc.c из примеров Elm Chan`a, описываем макросы реализующие spi и после этого можем работать с SD картой. Немного заморочено, но если один раз разобрался, то все становится понятно.

Итак, я все это проделал и теперь могу использовать SD карту. И чтобы показать, что это действительно работает, я написал проект, в котором микроконтроллер читает с SD карты wav файл и воспроизводит.

Воспроизведение звука микроконтроллером

Поскольку проект исключительно демонстрационный, я не гнался за качеством звука, а постарался сделать код как можно более простым.

В качестве файла для воспроизведения я взял произвольный mp3 трек (мне попалась песня группы Prodigy) и перекодировал его в wav файл с такими параметрами: 8 бит, 22 кГц, моно. Для конвертирования файла я использовал видео редактор Sony Vegas, но можно найти программу и попроще. Например, такая функция есть во многих аудио редакторах вроде Sound Forge, WaveLab, Cool Edit и т.д.

"8 бит" - это разрядность одной выборки аналогового сигнала. Звук хорошего качества обычно имеет разрядность 16 (CD качество) или 24 бита (студийная запись), но для микроконтроллерной "говорилки" 8-и разрядов хватит за глаза.

"22 кГц" - это частота дискретизации. То есть частота, с которой из аналогового сигнала "брались" выборки. С этой же частотой мы должны преобразовывать цифровые выборки сигнала в аналоговые напряжения. Цифровой звук хорошего качества обычно имеет частоту дискретизации 44.1 кГц (CD качество), 96 кГц (студийная запись) и т.д.

"моно" - означает одну звуковую дорожку, которая будет воспроизводиться как в правом, так и в левом аудио каналах.

Итак, для воспроизведения wav файла с параметрами 8 бит, 22 кГц, моно, нам понадобится одноканальный 8-и разрядный ЦАП, способный формировать на выходе аналоговые напряжения с частотой 22 кГц. Поскольку у большинства AVR`ок нет встроенного цифро-аналогового преобразователя, мы можем использовать следующие варианты:

Аппаратный ШИМ,
- программный ШИМ,
- внешний интегральный ЦАП,
- внешняя схема ЦАП`a .

Реализация программного ШИМ`a требует от микроконтроллера большого быстродействия, поэтому я не захотел с ним связываться. Внешний ЦАП обычно использует SPI, который нужен для SD карты. Внешняя схема ЦАП`а, например схема R-2R, неплохой вариант, но под нее нужно отдать целый порт микроконтроллера.

Исходя из этого, я остановил свой выбор на аппаратном 8-и разрядном ШИМ`е. Во первых, эта функция есть во всех микроконтроллерах AVR, а во-вторых, для реализации ЦАП`а требуется всего один вывод микроконтроллера.

В одном из старых материалов я уже описывал принцип формирования аналогового сигнала с помощью ШИМ , однако в случае wav файла здесь не все так просто.

С какой частотой можно формировать аналоговые напряжения с помощью ШИМ? Это зависит от трех параметров: тактовой частоты микроконтроллера, делителя таймера и его разрядности. Например, для 8-и разрядного ШИМ сигнала при тактовой частоте микроконтроллера 16 МГц можно получить следующие частоты.

Тактовая частота микроконтроллера Fcpu = 16000000 Гц
Тактовая частота таймера Т0 Ftim = Fcpu/k , где k - 1, 8, 64, 256, 1024.
Частота ШИМ сигнала Fpwm = (Fcpu/k)/2^8 = Fcpu/(k*256)

при k = 1 Fpwm = 62500
при k = 8 Fpwm = 7812
при k = 64 Fpwm = 976
при k = 256 Fpwmn = 244
при k = 1024 Fpwm = 61

Ближайшая частота к требуемым 22 килогерцам - это 7812, но такая частота не подойдет. Файл, воспроизводимый с такой частотой, будет уж слишком замедленным. Надо подобрать такую тактовую частоту микроконтроллера, при которой можно получить требуемую частоту формирования аналоговых напряжений. Неплохой результат получается при 6 МГц и k = 1

Fcpu = 6000000 Гц
Fan = 6000000/(2^8 * 1) = 23437 Гц

Звуковой файл будет немного ускоренно воспроизводиться, но на слух это почти незаметно.

Итак, аналоговые напряжения будут формироваться с помощью ШИМ функции аппаратного таймера Т0, но как разнести процесс чтения данных с процессом воспроизведения? Считывать с SD карты по одной выборке сигнала с частотой 22 кГц не получится, микроконтроллер не будет успевать это сделать.

Тут понадобится буфер, условно состоящий из двух одинаковых половинок. Пока одна часть буфера заполняется данными с SD карты, из другой части буфера данные передаются в ЦАП (в нашем случае таймеру). Нужно только выбрать такой размер буфера, при котором эти два процесса не будет "наезжать"друг на друга.

Я подбирал размер буфера следующим образом. Задал максимальную частоту SPI модуля микроконтроллера atmega16 и посмотрел сколько времени затрачивается на чтение данных с SD карты. То есть сколько времени выполняется функция pf_read(..).

При тактовый частоте Fcpu = 6 МГц эта функция выполнялась ~2.5 мс, но иногда попадались циклы по 5 мс (наверное из-за чтения на границе секторов.. напишите в комментариях, если знаете). Причем это время не зависело от количества данных - и 32, и 64, и 128 байт читались за одно и то же время.

Затем я посчитал сколько данных будет передано в ЦАП за время 5 мс. Частота нашего псевдо ЦАП`a = 23437 Гц, соответственно период = 42.6 мкс. Делим 5 мс на 42.6 и получаем искомую цифру.

n = 0.005/(1/23437) = 117

То есть за 5 мс микроконтроллер выдаст 117 выборок сигнала, при этом за это же время успеет прочитать с карты 128 выборок. Получается, что если взять буфер размером 256 байт микроконтроллер будет успевать выполнять обе задачи и даже остается небольшой запас времени. Он, кстати, необходим, потому что в процесс чтения данных с SD карты, будут вклиниваться прерывания таймера Т0.

Так я и сделал. Выбрал размер буфера равным 256 байт.

Схема для проекта

Схема питается от двух стабилизаторов - 3.3 В и 5 В. Как вариант можно запитать все схему от 3-х вольтового источника (тогда даже не понадобятся преобразователи уровней) или понизить 5-и вольтовое напряжение с помощью трех последовательно включенных диодов и запитать таким образом SD карту.

Микроконтроллер тактируется от внешнего кварцевого резонатора с частотой 6 МГц. SD карта подключена к микроконтроллеру по одной из приведенных ранее схем.

Для преобразования ШИМ сигнала в постоянное напряжение используется низкочастотный RC фильтр из двух каскадов. Частота среза фильтра около 10 кГц, что соответствует полосе воспроизводимого цифрового сигнала.

Для индикации состояния устройства используется светодиод LED1. Если карта не считывается в момент включения устройства, светодиод начинает моргать.

Код проекта

Все основное действо заключено в файле main.c. При старте программы происходит инициализация переменных и настройка выводов - настраивается ШИМ выход и выход для светодиода.

Затем монтируется SD карта, открывается файл под названием 1.wav и из него (в буфер) читаются 256 байт. Далее проверяется результат выполнения операций с картой. Если операции завершились неудачно, программа зацикливается и начинает моргать светодиод. Если чтение прошло успешно, программа инициализирует таймер Т0 и зажигает светодиод.

Далее разрешаются прерывания и программа попадает в бесконечный цикл, внутри которого расположен конечный автомат с тремя состояниями. В первом состоянии идет заполнение нижней половины буфера, во втором - верхней половины, а в третьем программа ничего не делает. В третье состояние автомат переходит, когда wav файл заканчивается. При этом гасится светодиод и выключается таймер Т0.

Параллельно основному циклу программы выполняется прерывание таймера Т0. Оно сделано предельно коротким. В микроконтроллер загружает в регистр сравнения OCR0 содержимое ячейки буфера, на которую указывает индексная переменная, а затем инкрементирует ее. Поскольку размер буфера равен 256 байт, индексную переменную не приходится проверять на граничное значение.

Автомат, заполняющий буфер данными, проверяет индексную переменную. И по ее значению "понимает" в какую часть буфера можно писать данные.

Неиспользуемые функции библиотеки Petit FatFs я отключил в файле pff.h.

Из недостатков проекта можно отметить два момента:

При воспроизведении не пропускается заголовок wav файла
- когда wav файл заканчивается таймер выключается, не "доигрывая" оставшееся содержимое буфера.



// Author(s)...: Pashgan
// Target(s)...: Mega16
// Compiler....: GCC
// Description.: Воспроизведение wav файла с SD карты
//****************************************

#include "compilers_4.h"
#include "diskio.h"
#include "pff.h"

/* выводы микроконтроллера */
#define LED_PORT PORTD
#define LED_DIR DDRD
#define LED_PIN 4

#define PWM_PORT PORTB
#define PWM_DIR DDRB
#define PWM_PIN 3

/* буфер */
#define BUF_SIZE 256UL
#define HALF_BUF ((BUF_SIZE)/2)

uint8_t buf;

/*переменные для доступа к SD*/
FATFS fs;
WORD s1;
FRESULT res;

/*остальные переменные*/
typedef enum{ST_LOW_BUF, ST_HI_BUF, ST_STOP}state_t;
static state_t st;

static volatile uint8_t i;
static char f = "1.wav";

int main(void)
{
st = 0;
i = 0;

/*настройка шим выхода*/
PWM_DIR |= (1<PWM_PORT &= ~(1<

/*статусный светодиод*/
LED_DIR |= (1< LED_PORT &= ~(1<

/*монтируем диск, открываем файл, заполняем буфер*/
res = pf_mount(&fs);
if (res == FR_OK){
res = pf_open(f);
if (res == FR_OK){
res = pf_read(buf, BUF_SIZE, &s1);
}
}

/*если файл прочитался, то запускаем таймер*/
if (res == FR_OK){
TCCR0 = 0;
TCNT0 = 0;
TIMSK |= (1< TIFR = (1< TCCR0 = (1<

LED_PORT |= (1< }
else{

/*в противном случае зацикливаемся
и мигаем светодиодом */
while(1){
LED_PORT ^= (1< _delay_ms(300);
}
}

Sei();
while(1){

Switch (st){
case ST_LOW_BUF:

/*если индекс указывает на верхнюю половину
буфера, то заполняем нижнюю половину*/
if (i >= HALF_BUF) {
pf_read(buf, HALF_BUF, &s1);
if (s1 < HALF_BUF){
TCCR0 = 0;
PWM_PORT &= ~(1<LED_PORT &= ~(1< st = ST_STOP;
}
else{
st = ST_HI_BUF;
}
}
break;

Case ST_HI_BUF:
/*если индекс указывает на нижнюю половину
буфера, то заполняем верхнюю половину*/
if (i < HALF_BUF) {
pf_read(&buf, HALF_BUF, &s1);
if (s1 < HALF_BUF){
TCCR0 = 0;
PWM_PORT &= ~(1<LED_PORT &= ~(1< st = ST_STOP;
}
else{
st = ST_LOW_BUF;
}
}
break;

Case ST_STOP:
/*файл закончился, ничего не делаем*/
break;

Default:
break;
}

}
return 0;
}

/*ШИМ, который формирует нам аналоговый сигнал*/
ISR(TIMER0_OVF_vect)
{
uint8_t tmp = i;

OCR0 = buf;
tmp++;

I = tmp;
}

Заключение

Подведем итог. Wav файл - это последовательность выборок сигнала. Он имеет такие характеристики, как разрядность и частота дискретизации. Чтобы воспроизвести wav файл мы должны преобразовывать выборки сигнала в аналоговые напряжения, причем делать это с частотой дискретизации, иначе файл будет воспроизводиться замедленно или наоборот ускоренно.

Для формирования аналогового напряжения можно использовать широтно-импульсную модуляцию или микросхемы цифро-аналоговых преобразователей. При этому нужно учитывать производительность микроконтроллера и этих микросхем. Разрядность цифро-аналогового преобразователя должна быть равной или выше разрядности воспроизводимых данных, иначе их придется округлять.

Чтобы разнести процесс чтения данных с SD карты с процессом воспроизведения, можно использовать буфер. Из одной половины буфера данные будут читаться, в другую - записываться. Чтобы выбрать достаточный размер буфера, необходимо знать сколько времени требуется для чтения порции данных и сколько времени затрачивается на воспроизведение этой порции.

Продолжение урока затянулось, оно и понятно, пришлось освоить работу с картами памяти и файловой системой FAT. Но все таки, оно свершилось, урок готов — фактически новогоднее чудо.

Дабы не перегружать статью информацией, я не буду описывать структуру формата wav файла, информации в поисковиках более чем предостаточно. Достаточно сказать, что если открыть файл, каким либо Hex редактором, то в первых 44 байтах содержится вся информация о типе файла, частоте дискретизации, количестве каналов и пр. Если нужно анализировать файл, читайте этот заголовок и будет вам счастье.

Полезные данные начинаются с 44 байта, по сути они содержат уровни напряжений, из которых формируется звук. Мы уже говорили про ступени напряжения, в прошлой части урока. Таким образом, все просто, нужно эти ступеньки вывести на динамик с частотой дискретизации файла.

Как физически заставить динамик дрыгаться? Нужно выводить эти уровни напряжения, при помощи ШИМ, либо использовать R2R. В любом случае, использовать очень просто, прочитал число, засунул его либо в OCR, либо в PORTx. Далее через определенное время, подставил следующее значение и так до конца файла.

Пример, некий wav файл, данные идут с 44=0х2С байта, там записано число 0х80, воспроизводим звук например ШИМом первого таймера, пишем OCR1A=0х80; Допустим, частота дискретизации вавки 8кГц, соответственно прерывание должно быть настроено на эту же частоту. В прерывании, подставляем следующее значение 0x85 через 1/8000=125мкс.

Как настроить прерывание на 8кГц? Вспоминаем, если таймер работает на частоте 250кГц, то регистр сравнения прерывания нужно подставить (250/8)-1=31-1 или 0x1E. С ШИМом тоже все просто, чем выше частота на которой он работает тем лучше.

Чтобы прошивка работала, условимся, что флешка отформатирована в FAT32, используется либа PetitFat из урока 23.2. Файл в формате wav либо 8кГц, либо 22,050кГц, моно. Название файла 1.wav. Анализируем прошивку.

#include #include "diskio.h" #include "pff.h" unsigned char buffer[ 512 ] ; /* буфер в который копируется инфа с флешки */ volatile unsigned int count; //счетчик скопированных данных interrupt [ TIM2_COMP] void timer2_comp_isr(void ) //прерывание в котором подставляются значения { OCR1A = buffer[ count] ; //выводим звук на динамик if (++ count >= 512 ) //увеличиваем счетчик count = 0 ; //если 512 обнуляем } void main(void ) { unsigned int br; /* счетчик чтения/записи файла */ unsigned char buf = 0 ; //переменная определяющая какая часть буфера читается FATFS fs; /* Рабочая область (file system object) для логических дисков */ PORTB= 0x00 ; DDRB= 0x02 ; //дрыгаем шимом ocr1a // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 8000,000 kHz // Mode: Fast PWM top=0x00FF // OC1A output: Non-Inv. TCCR1A= 0x81 ; TCCR1B= 0x09 ; TCNT1= 0x00 ; OCR1A= 0x00 ; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: 250,000 kHz // Mode: CTC top=OCR2 TCCR2= 0x0B ; TCNT2= 0x00 ; //OCR2=0x1E; //настройка регистра сравнения для 8кГц OCR2= 0xA ; //для 22кГц #asm("sei") // Timer(s)/Counter(s) Interrupt(s) initialization if (disk_initialize() == 0 ) //инициализируем флешку { pf_mount(& fs) ; //монтируем файловую систему pf_open("1.wav" ) ; //открываем вавку pf_lseek(44 ) ; //перемещаем указатель на 44 pf_read(buffer, 512 ,& br) ; //в первый раз заглатываем сразу 512байт TIMSK= 0x80 ; //врубаем музон while (1 ) { if (! buf && count> 255 ) //если воспроизвелось больше 255 байт, { pf_read(& buffer[ 0 ] , 256 ,& br) ; //то читаем в первую половину буфера инфу с флешки buf= 1 ; if (br < 256 ) //если буфер не содержит 256 значений значит конец файла break ; } if (buf && count< 256 ) { pf_read(& buffer[ 256 ] , 256 ,& br) ; // читаем во вторую часть буфера с флешки buf = 0 ; if (br < 256 ) break ; } } TIMSK = 0x00 ; //глушим все pf_mount(0x00 ) ; //демонтируем фат } while (1 ) { } }

#include #include "diskio.h" #include "pff.h" unsigned char buffer; /* буфер в который копируется инфа с флешки */ volatile unsigned int count; //счетчик скопированных данных interrupt void timer2_comp_isr(void) //прерывание в котором подставляются значения { OCR1A = buffer; //выводим звук на динамик if (++count >= 512) //увеличиваем счетчик count = 0; //если 512 обнуляем } void main(void) { unsigned int br; /* счетчик чтения/записи файла */ unsigned char buf = 0; //переменная определяющая какая часть буфера читается FATFS fs; /* Рабочая область (file system object) для логических дисков */ PORTB=0x00; DDRB=0x02; //дрыгаем шимом ocr1a // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 8000,000 kHz // Mode: Fast PWM top=0x00FF // OC1A output: Non-Inv. TCCR1A=0x81; TCCR1B=0x09; TCNT1=0x00; OCR1A=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: 250,000 kHz // Mode: CTC top=OCR2 TCCR2=0x0B; TCNT2=0x00; //OCR2=0x1E; //настройка регистра сравнения для 8кГц OCR2=0xA; //для 22кГц #asm("sei") // Timer(s)/Counter(s) Interrupt(s) initialization if(disk_initialize()==0) //инициализируем флешку { pf_mount(&fs); //монтируем файловую систему pf_open("1.wav"); //открываем вавку pf_lseek(44); //перемещаем указатель на 44 pf_read(buffer, 512,&br); //в первый раз заглатываем сразу 512байт TIMSK=0x80; //врубаем музон while(1) { if(!buf && count>255) //если воспроизвелось больше 255 байт, { pf_read(&buffer, 256,&br);//то читаем в первую половину буфера инфу с флешки buf=1; if (br < 256) //если буфер не содержит 256 значений значит конец файла break; } if(buf && count<256) { pf_read(&buffer, 256,&br); // читаем во вторую часть буфера с флешки buf = 0; if (br < 256) break; } } TIMSK = 0x00; //глушим все pf_mount(0x00); //демонтируем фат } while (1) { } }

Для проверки, на ножку OCR1A подключаем динамик через конденсатор 100мкФ, «+» на ножку микроконтроллера, «-» на динамик. «-» динамика на землю, «+» на конденсатор.

Не ждите громкого сигнала на выходе, чтобы звучало громко, необходим усилитель. На видео это хорошо видно. Для теста залил петуха 8кГц и трек 22кГц.

Желающие могут смело увеличить частоту таймера2, чтобы проигрывать файлы 44кГц, опыты показывают, что можно добиться вполне неплохого качества звучания. На видео звук слабый и качество плохое, но на самом деле это из-за того, что снимал на фотоаппарат.

Также выкладываю материалы любезно предоставленные Аппаратчиком — исходник для GCC, с которого была написана прошивка под CAVR.

И видео с воспроизведением 44кГц.

Пользуясь случаем поздравляю Всех с Наступающим, желаю чтобы все прошивки и девайсы у вас работали 🙂

Проект wav плеера на Atmega8

При наличии на компьютере установленной антивирусной программы можносканировать все файлы на компьютере, а также каждый файл в отдельности . Можно выполнить сканирование любого файла, щелкнув правой кнопкой мыши на файл и выбрав соответствующую опцию для выполнения проверки файла на наличие вирусов.

Например, на данном рисунке выделен файл my-file.wav , далее необходимо щелкнуть правой кнопкой мыши по этому файлу, и в меню файла выбрать опцию «сканировать с помощью AVG» . При выборе данного параметра откроется AVG Antivirus, который выполнит проверку данного файла на наличие вирусов.


Иногда ошибка может возникнуть в результате неверной установки программного обеспечения , что может быть связано с проблемой, возникшей в процессе установки. Это может помешать вашей операционной системе связать ваш файл WAV с правильным прикладным программным средством , оказывая влияние на так называемые «ассоциации расширений файлов» .

Иногда простая переустановка Microsoft Windows Media Player может решить вашу проблему, правильно связав WAV с Microsoft Windows Media Player. В других случаях проблемы с файловыми ассоциациями могут возникнуть в результате плохого программирования программного обеспечения разработчиком, и вам может потребоваться связаться с разработчиком для получения дополнительной помощи.


Совет: Попробуйте обновить Microsoft Windows Media Player до последней версии, чтобы убедиться, что установлены последние исправления и обновления.


Это может показаться слишком очевидным, но зачастую непосредственно сам файл WAV может являться причиной проблемы . Если вы получили файл через вложение электронной почты или загрузили его с веб-сайта, и процесс загрузки был прерван (например, отключение питания или по другой причине), файл может повредиться . Если возможно, попробуйте получить новую копию файла WAV и попытайтесь открыть его снова.


Осторожно: Поврежденный файл может повлечь за собой возникновение сопутствующего ущерба предыдущей или уже существующей вредоносной программы на вашем ПК, поэтому очень важно, чтобы на вашем компьютере постоянно работал обновленный антивирус.


Если ваш файл WAV связан с аппаратным обеспечением на вашем компьютере , чтобы открыть файл вам может потребоваться обновить драйверы устройств , связанных с этим оборудованием.

Эта проблема обычно связана с типами мультимедийных файлов , которые зависят от успешного открытия аппаратного обеспечения внутри компьютера, например, звуковой карты или видеокарты . Например, если вы пытаетесь открыть аудиофайл, но не можете его открыть, вам может потребоваться обновить драйверы звуковой карты .


Совет: Если при попытке открыть файл WAV вы получаете сообщение об ошибке, связанной с.SYS file , проблема, вероятно, может быть связана с поврежденными или устаревшими драйверами устройств , которые необходимо обновить. Данный процесс можно облегчить посредством использования программного обеспечения для обновления драйверов, такого как DriverDoc .


Если шаги не решили проблему , и у вас все еще возникают проблемы с открытием файлов WAV, это может быть связано с отсутствием доступных системных ресурсов . Для некоторых версий файлов WAV могут потребоваться значительный объем ресурсов (например, память/ОЗУ, вычислительная мощность) для надлежащего открытия на вашем компьютере. Такая проблема встречается достаточно часто, если вы используете достаточно старое компьютерное аппаратное обеспечение и одновременно гораздо более новую операционную систему.

Такая проблема может возникнуть, когда компьютеру трудно справиться с заданием, так как операционная система (и другие службы, работающие в фоновом режиме) могут потреблять слишком много ресурсов для открытия файла WAV . Попробуйте закрыть все приложения на вашем ПК, прежде чем открывать WAVE Audio File. Освободив все доступные ресурсы на вашем компьютере вы обеспечите налучшие условия для попытки открыть файл WAV.


Если вы выполнили все описанные выше шаги , а ваш файл WAV по-прежнему не открывается, может потребоваться выполнить обновление оборудования . В большинстве случаев, даже при использовании старых версий оборудования, вычислительная мощность может по-прежнему быть более чем достаточной для большинства пользовательских приложений (если вы не выполняете много ресурсоемкой работы процессора, такой как 3D-рендеринг, финансовое/научное моделирование или интенсивная мультимедийная работа). Таким образом, вполне вероятно, что вашему компьютеру не хватает необходимого объема памяти (чаще называемой «ОЗУ», или оперативной памятью) для выполнения задачи открытия файла.

Самой частой причиной проблем с раскрытием файла WAV является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате WAV - такие программы доступны ниже.

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов WAV.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом WAV. Если это не произошло, то файл WAV успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл WAV, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл WAV

Windows
Mac OS
Linux
Android

Почему я не могу открыть файл WAV?

Проблемы с файлами WAV могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы WAV не решит проблему. Причиной невозможности открытия, а также работы с файлом WAV может быть также:

Несоответственные связи файла WAV в записях реестра
- повреждение файла WAV, который мы открываем
- инфицирование файла WAV (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения WAV из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение WAV

Устранение этих проблем должно привести к свободному открытию и работе с файлами WAV. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов WAV. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе WAV должны появится сортированные по названию файла.

Мы надеемся, что помогли Вам решить проблему с файлом WAV. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

Что еще может вызвать проблемы?

Поводов того, что Вы не можете открыть файл WAV может быть больше (не только отсутствие соответствующего приложения).
Во-первых - файл WAV может быть неправильно связан (несовместим) с установленным приложением для его обслуживания. В таком случае Вам необходимо самостоятельно изменить эту связь. С этой целью нажмите правую кнопку мышки на файле WAV, который Вы хотите редактировать, нажмите опцию "Открыть с помощью" а затем выберите из списка программу, которую Вы установили. После такого действия, проблемы с открытием файла WAV должны полностью исчезнуть.
Во вторых - файл, который Вы хотите открыть может быть просто поврежден. В таком случае лучше всего будет найти новую его версию, или скачать его повторно с того же источника (возможно по какому-то поводу в предыдущей сессии скачивание файла WAV не закончилось и он не может быть правильно открыт).

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла WAV мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле WAV.