Абсолютные новички ведут к работе с аудио в C/C++?

XNA является Вашим лучшим выбором, я думаю. Будучи поддерживаемым платформой.NET можно создать для Windows или платформы Xbox 360 путем простого изменения настроек в Game Studio. Лучше всего все же все инструменты свободны!

, Если Вы решаете пойти с XNA, можно легко начать использовать их руководство по быстрому началу работы Руководство по быстрому началу работы XNA

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

12
задан Vlad the Impala 29 November 2009 в 05:27
поделиться

4 ответа

Спасибо всем за ответы! Я как бы сколотил их вместе, чтобы успешно создать небольшую утилиту, которая конвертирует файл AIFF / WAV / и т. Д. В файл mp3. Кажется, есть некоторый интерес к этому вопросу, поэтому вот что я сделал, шаг за шагом:

Шаг 1: Загрузите и установите библиотеку libsndfile , как предложено Джеймсом Моррисом. Эта библиотека очень проста в использовании - единственный недостаток - она ​​не работает с файлами mp3.

Шаг 2: Загляните в папку «examples», которая идет с libsndfile, и найдите generate.c. Это хороший рабочий пример преобразования любого файла, отличного от mp3, в различные форматы файлов. Это также дает представление о возможностях libsndfile.

Шаг 3: Заимствовав код из generate.c, я создал файл ac, который просто преобразует аудиофайл в файл .wav. Вот мой код: http://pastie.org/719546

Шаг 4: Загрузите и установите кодировщик LAME . Это установит и библиотеку libmp3lame, и некорректную утилиту командной строки.

Шаг 5: Теперь вы можете просмотреть API LAME или просто выполнить fork и выполнить процесс lame для преобразования вашего файла wav в файл mp3.

Шаг 6: Принесите шампанское и икру!

Если есть лучший способ (Я уверен, что есть), чтобы сделать это, дайте мне знать. Я лично никогда не видел такой пошаговой дорожной карты, поэтому решил выложить ее там.

3
ответ дан 2 December 2019 в 23:20
поделиться

Если вам интересно узнать о DSP и компьютерах, взгляните на Synthesis Toolkit. Это мило. Он предназначен для обучения. Примеры и руководства, размещенные на их веб-сайте, просты и подробны. Имейте в виду, что парни, написавшие это, написали его для создания акустических моделей реальных инструментов. В результате они включили некоторые инструменты, которые просто дурацкие, но забавные. Это даст вам базовое представление об обработке звука PCM. И вы, вероятно, сможете собрать вместе несколько забавных маленьких шумовщиков, пока вы это делаете.

https://ccrma.stanford.edu/software/stk/

1
ответ дан 2 December 2019 в 23:20
поделиться

Для преобразования между различными форматами (кроме MP3) проверьте libsndfile http://mega-nerd.com/libsndfile/

Libsndfile - это библиотека, предназначенная для позволяют читать и писать многим различные форматы дискретизированных звуковых файлов (например, MS Windows WAV и Формат Apple / SGI AIFF) через один стандартный интерфейс библиотеки.

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

Он также прост в использовании, поскольку API соответствует стилю имен функций стандартной библиотеки C:

http://mega-nerd.com/libsndfile/api.html

И примеры включены в исходный дистрибутив.

Для фактического вывода звука потребуется другая библиотека, SDL, как уже упоминалось, может быть хорошим местом для начала. Хотя SDL также может читать / записывать аудиофайлы, libsndfile намного превосходит его.

2
ответ дан 2 December 2019 в 23:20
поделиться

Check libmad http://mad.sourceforge.net " "M"peg "A"udio "D"ecoder library", should provide a good example. Also for an easy cross-platform audio handling, check SDL http://www.libsdl.org/. Hope that helps.

0
ответ дан 2 December 2019 в 23:20
поделиться