2016-11-20 2 views
0

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

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

меню будет обедали таким образом:

Файл

  • Open: предлагает пользователю открыть файл, если есть один уже ОПЕ, она предложит сохранить его.
  • Сохранить как: Сохранение файла с именем, заданным пользователем (если пользователь не дает никакого имени, будет использоваться имя по умолчанию) и дает пользователю возможность сохранить его файл в одном из форматы

    • WAVE 8 бит моно 11,025 кГц
    • ВОЛНА 16 бит стерео 44,1 кГц
    • WAVE 24 бит 192 кГц 5,1
    • MIDI .. т.д
  • Информация: отображает информацию об аудиофайле (имя файла, тип файла, длина файла в чч: мм: ss)

  • Выход: выход из приложения; если файл не был сохранен, приложение предлагает сохранить его.

Редактирование

  • Реверс: реверсивный звуковой файл.
  • Вырезать: разрезать аудиофайл в выбранный момент как начальную точку и конечный момент в качестве конечной точки.
  • Растянуть делает звуковой файл играть быстрее или медленнее (например, играть в 2 раза быстрее или медленнее)
  • ... ЭСТ

1 - Я хочу создать библиотеку как «menu_f.h », которые содержат функции меню, создают новое меню, добавляют функцию или подменю и включают ее позже в мою программу, но я понятия не имею, что мне писать внутри файла кода menu_f.h, чтобы я мог включить его позже в основную программу.

2 - Я хочу узнать, как создать файл make, потому что я не хочу, чтобы пользователь связывал библиотеки или что-то сложное, я просто хочу, чтобы он сделал программу и запустил ее, или, если это возможно, запустите ее непосредственно

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

ответ

0

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

1) Его так же просто, как создание файла заголовка (menu_f.h) и связанного c-файла (menu_f.c). Следуйте инструкциям, чтобы узнать, какой код используется в каком файле: https://www.tutorialspoint.com/cprogramming/c_header_files.htm

2) Google, о котором нужно сделать первым, а затем проверить инструмент «automake». Опять же, убедитесь, что вы честны с самим собой о том, что вы пытаетесь выполнить. (Вы практикуете на C, скорее всего, там уже есть лучшее программное обеспечение).

3) Возможно, было бы интересно попробовать выполнить FFT (быстрое преобразование Фурье) .wav-файла. Математика довольно хардкорная, но концепция понятна, и вы можете брать код из библиотеки, которая уже реализует его (https://sourceforge.net/projects/kissfft/).

+1

Не отвечайте на вопросы вне темы. Если вы не знаете, см. [Ask], чтобы понять, что он по теме. И это скорее комментарий, чем ответ. – Olaf

+0

Огромное вам спасибо за ваш ответ, и да, я хочу практиковать с C не только потому, что в настоящее время я изучаю это в своем университете, а потому, что чувствую, что этот язык является хорошим, чтобы начать с того, чтобы узнать много концепций о машина и то, как она работает, и ее как начало для меня в мире алгоритмов. Я действительно не ищу способ модифицировать WAV-файлы, я сначала думал о создании программы для манипулирования изображениями или аудио, и я закатил монету, и аудио это то, что выбрали. Я проверю учебники, и я увижу, что действительно является БПФ, потому что это кажется таким интересным. –

Смежные вопросы