User Tag List

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

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    13.11.2005
    Адрес
    Рудный
    Сообщений
    152
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

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

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

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

  3. #2

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 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

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #4

    Регистрация
    13.11.2005
    Адрес
    Рудный
    Сообщений
    152
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    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

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  7. #6

    Регистрация
    01.02.2005
    Адрес
    perm/ru
    Сообщений
    520
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #7

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  9. #8

    Регистрация
    13.11.2005
    Адрес
    Рудный
    Сообщений
    152
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #9

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #10

    Регистрация
    17.01.2005
    Адрес
    Tallinn
    Сообщений
    2,517
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    86
    Поблагодарили
    39 сообщений
    Mentioned
    1 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, 23:53
  2. Муз.Проигрыватель для Symbian 9.x
    от Darkman007 в разделе Музыка
    Ответов: 13
    Последнее: 19.09.2008, 21:10
  3. Обсуждение музыки от
    от Mike в разделе Музыка
    Ответов: 51
    Последнее: 20.02.2008, 22:57
  4. Ответов: 24
    Последнее: 28.02.2007, 20:34

Ваши права

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