Показано с 1 по 9 из 9

Тема:

  1. Старый знакомый
    Автор темы
    Аватар для Анатоль
    Регистрация
    02.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    777

    По умолчанию Преобразовать xls файл в wav

    Задаю в EXEL таблицу с целью создания звукового файла.
    Расскажите, как ?
    Не ошибается тот, кто ничего не делает и ошибается тот, кто ничего не делает

  2. Завсегдатай Аватар для Ортхэннер
    Регистрация
    15.09.2004
    Адрес
    Пермь
    Возраст
    27
    Сообщений
    3.173

    По умолчанию Re: Преобразовать xls файл в wav

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

  3. Старый знакомый
    Автор темы
    Аватар для Анатоль
    Регистрация
    02.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    777

    По умолчанию Re: Преобразовать xls файл в wav

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

  4. Частый гость Аватар для Eats
    Регистрация
    05.01.2008
    Адрес
    St.Petersburg
    Возраст
    50
    Сообщений
    241

    По умолчанию Re: Преобразовать xls файл в wav

    Я думаю, с помощью макросов (Сервис-Макрос-Редактор_ВижуалБейсик или Alt+F11). В вижуал-бейсике есть команды двоичного вывода в файл. На обычном бейсике, прилагаемом к ДОСу, я в своё время много аудио-файлов создал именно с такой целью: специальные сигналы. Возможно, что не меньшими способностями обладает и вижуал. Правда, у меня почему-то в екселе эти пункты меню сейчас не работают (возможно, из-за того, что я во время установки отказался от В-Бейсика), поэтому я не могу оперативно проверить что-нибудь и/или подсказать.
    Всего доброго.
    Евгений.

  5. Старый знакомый
    Автор темы
    Аватар для Анатоль
    Регистрация
    02.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    777

    По умолчанию Re: Преобразовать xls файл в wav

    Евгений, спасибо, будем пробовать.
    Не ошибается тот, кто ничего не делает и ошибается тот, кто ничего не делает

  6. Частый гость Аватар для amplifier
    Регистрация
    10.09.2006
    Адрес
    london.uk/саратов.ру
    Сообщений
    369

    По умолчанию Re: Преобразовать xls файл в wav

    Да, все реализуется командами VBA. Можно поступить и несколько по-другому.
    Генерировать в Excel нужные последовательности чисел, потом копировать их в блокнот, получать два столбца, разделенных пробелом, сохранять в виде тхт, а затем над этим тхт производить заклинание например скриптом, написанным на JScript или VBScript. Заклинание по сути простое - нужно просто составить заголовок, в котором прописана частота дискретизации, битность, а также длина последовательности, а потом дописать "взад" имеющиеся в тхт числа.
    Я в свое время делал программки на C и matlab. Если сильно надо, я попрошу их найти.

  7. Старый знакомый
    Автор темы
    Аватар для Анатоль
    Регистрация
    02.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    777

    По умолчанию Re: Преобразовать xls файл в wav

    То есть , например, создать звуковым редактором wav файл нужного формата и найти способ как заменить в нём данные на созданные Excelем.
    А как быть с контрольной суммой? или это не из этой оперы
    Программированием не занимался, а неужели нет готовых решений.
    Не ошибается тот, кто ничего не делает и ошибается тот, кто ничего не делает

  8. Частый гость Аватар для amplifier
    Регистрация
    10.09.2006
    Адрес
    london.uk/саратов.ру
    Сообщений
    369

    По умолчанию Re: Преобразовать xls файл в wav

    Там контрольной суммы нету, есть только длина последовательности.
    На самом деле, там ничего сложного нету, надо просто знать формат (что куда и какой длины писать) заголовка.

  9. Частый гость Аватар для Eats
    Регистрация
    05.01.2008
    Адрес
    St.Petersburg
    Возраст
    50
    Сообщений
    241

    По умолчанию Re: Преобразовать xls файл в wav

    Цитата Сообщение от Анатоль Посмотреть сообщение
    Программированием не занимался, а неужели нет готовых решений.
    Нет. Иначе бы зачем мы тут всё это делали бы? Никому ж лишнюю работу делать неохота. Но приходится. Единственное, что ексел умеет делать сам, так это сохранять текущий лист в текстовом формате, причём можно даже заказать разделитель ячеек, чтобы потом этот текст могла обработать другая программа. На этом его возможности заканчиваются. Я в своё время, когда работал секретарём, написал себе макрос для перевода строки типа "1 234 567 руб. 89 коп." в сумму прописью, да ещё и с вычислением НДС 18%, но даже это в Ворде работает, а в екселе не хочет. Всё надо делать самому, ничего готового нет.
    Кстати, вот на всякий случай формат заголовка:

    DWORD "RIFF" // имя чанка
    DWORD Размер остатка файла, равен размеру файла -8
    DWORD "WAVE" // имя чанка
    DWORD "fmt " // имя блока
    DWORD Размер блока; // В нашем случае длина этого блока =16 (байтов)
    WORD wFormatTag; // тип формата (pcm) =1
    WORD nChannels; // количество каналов (моно или стeрео) =1 или =2
    DWORD nSamplesPerSec; // частота дискретизации, может быть 44100 или что ещё.
    DWORD nAvgBytesPerSec;// скорость потока данных =nChannels * nSamplesPerSec * wBitsPerSanipIe / 8
    WORD nBlockAlign; // байтов на отсчёт =(nChannels * wBitsPerSample) / 8 (для CD =4)
    WORD vBitsPerSample; // бит на отсчёт, обычно =8, =16 или =24
    DWORD "data"; // имя чанка данных
    DWORD Размер остатка файла, в нашем случае равен размеру файла -44

    Единственная сложность при заполнении заголовка состоит в том, что необходимо заранее знать длину звуковых данных для заполнения двух полей, в первое из которых вписывается эта длина, увеличенная на 36.
    Для многоканального сигнала каналы записываются в порядке возрастания номера.
    Диапазон изменения значений сигнала определяется разрядностью квантования.
    Для 8-битных данных он составляет от 0 до 255 (Охff), причем нулю соответствует значение 128 (0х80).
    Для 16-битных данных диапазон изменения сигнала составляет от -32768 (-0х8000) до 32767, (Ox7fff), нулю соответствует значение 0.
    Перечисленными чанками RIFF, WAVE и data возможности wav-формата отнюдь не ограничиваются. Но для формирования аудио-файла это необходимый минимум.
    Последний раз редактировалось Eats; 21.02.2009 в 16:04. Причина: Добавлено описание заголовка wav-файла
    Всего доброго.
    Евгений.

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •