Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 23

Тема: Проигрыватель WAV-музыки

  1. #1
    Member
    Регистрация
    13.11.2005
    Адрес
    Рудный
    Сообщений
    126
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Проигрыватель WAV-музыки

    Интересуют проигрыватели Wav музыки. Но не просто проигрыватели для Covox, а проигрыватели с разархивацией.
    У меня такая идея берётся wav файл и архивируется по типу мп 3 с потерей качества. т.е. кодирование не 8 а 7 битное. Бит 0 идёт как служебный. Указывает что следующие за ним байты сжаты(повторяются), или надо сделать прыжок. При разархивации процесс такой-же. Я когда-то писал эту программу на ассемблере. Быстродействия хватает с лихвой для моно и 12кгц. Кто поможет написать программу? Желательно работа с HDD.
    Или может кто подскажет какие идеи.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    880
    Благодарностей: 471
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от p@lex Посмотреть сообщение
    Интересуют проигрыватели Wav музыки. Но не просто проигрыватели для Covox, а проигрыватели с разархивацией.
    У меня такая идея берётся wav файл и архивируется по типу мп 3 с потерей качества. т.е. кодирование не 8 а 7 битное. Бит 0 идёт как служебный.
    Сжатие "по типу мп3" - оно гораздо сложнее, чем тот простой алгоритм, который ты описал. Вообще методов сжатия звука существует великое множество. Думаю, что для такой скорости, как на Спектруме, подходят очень немногие из них. Можно попытаться реализовать ADPCM (АДИКМ). В русской Википедии этот алгоритм не описан, поэтому даю ссылку на английскую:
    http://en.wikipedia.org/wiki/ADPCM

    Впрочем, все эти простые методы дают очень малый выигрыш в размере при значительной потере качества.

    ---------- Post added at 18:16 ---------- Previous post was at 18:15 ----------

    P.S. по-моему данную тему лучше перенести в раздел "программирование"

  4. #3
    Guru
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,086
    Благодарностей: 924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    искать CacheVOX от AlCo, там применен adpcm. а сжимать звук через повторения... не знаю, не знаю... не полуцца нормально.

  5. #4
    Member
    Регистрация
    13.11.2005
    Адрес
    Рудный
    Сообщений
    126
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я пробовал сжимать по методу простого повторения. Коэффициент сжатия составил 25-30%. Мо предложенному мною методу коэффициент будет ещё больше, так как позволяет произвести сжатие уже при 3 повторяющихся подряд символах на 33%, а также за счёт использования служебных команд. Также если произвести предобработку файла коэффициент ещё увеличится. Так как я 0 бит не использую то последовательность байт например 201,200,201,200,155 можно привести к виду 201,201,201,201,155 и после сжатия получим 201,4,155 т.е сжатие 40% где бит 0 служебный и нигде в архиве данных его не будет.4 это бит0 показывающий что было повторение, и 3 повторяющихся байта. Служебные команды образуются путём подачи 0 и следующим за ним байтом команды.

  6. #5
    Guru
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,086
    Благодарностей: 924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  7. #6
    Master Аватар для siril
    Регистрация
    01.02.2005
    Адрес
    perm/ru
    Сообщений
    520
    Благодарностей: 189
    Записей в дневнике
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    или даже дельта-дельта код! =)
    oisee.

  8. #7
    Guru
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,086
    Благодарностей: 924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    и хаффман поверх!

    ---------- Post added at 10:33 ---------- Previous post was at 10:30 ----------

    а вот в смысле двух дельт есть сомнения

  9. #8
    Member
    Регистрация
    13.11.2005
    Адрес
    Рудный
    Сообщений
    126
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    поподробнее про дельта код можно? А по поводу моего метода- сжатие действительно есть. Проверено на практике. Особенно если звук оцифровывается.
    Последний раз редактировалось p@lex; 01.10.2010 в 15:00.

  10. #9
    Guru
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,086
    Благодарностей: 924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну а википедия не работает что ли? а гугль?
    дельта-код говорит сам за себя: хранится не значение, а изменение значения (разность с предыдущим).

  11. #10
    Guru Аватар для moroz1999
    Регистрация
    17.01.2005
    Адрес
    Tallinn
    Сообщений
    2,336
    Благодарностей: 430
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    ну а википедия не работает что ли? а гугль?
    дельта-код говорит сам за себя: хранится не значение, а изменение значения (разность с предыдущим).
    А вот и простейшая реализация энкодинга-декодинга:

    По адресу #C000 лежит звук, в DE - длина.
    Код:
    ;/-------------------------------------------------------------------------------------------/
    DELTA_ENCODE
    			LD    	HL,#C000
    			LD 	C,#00
    DELTA_ENCODE2
    			LD 	A,(HL)
    			SUB 	C
    			LD 	C,(HL)
    			LD 	(HL),A
    
    			INC   	HL
    			DEC   	E			
    			JP    	NZ,DELTA_ENCODE2	
    			DEC   	D
    			JP    	P,DELTA_ENCODE2
    			RET
    ;/-------------------------------------------------------------------------------------------/
    DELTA_DECODE
    			XOR	A
    			LD    	HL,#C000
    			LD 	C,#00
    DELTA_DECODE2
    			LD 	A,(HL)
    			ADD 	C
    			LD 	C,A
    			LD 	(HL),A
    			INC   	HL
    			DEC   	E			
    			JP    	NZ,DELTA_DECODE2	
    			DEC   	D
    			JP    	P,DELTA_DECODE2
    			RET
    zxart.ee - самая крупная коллекция графики и музыки ZX Spectrum.

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 296
    Последнее: 14.10.2012, 22:53
  2. Муз.Проигрыватель для Symbian 9.x
    от Darkman007 в разделе Музыка
    Ответов: 13
    Последнее: 19.09.2008, 19:10
  3. Обсуждение музыки от
    от Mike в разделе Музыка
    Ответов: 51
    Последнее: 20.02.2008, 22:57
  4. Ответов: 24
    Последнее: 28.02.2007, 20:34

Ваши права

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