Автор Тема: О наболевшем - Звук - техническая реализация!!!  (Прочитано 13063 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Привет всем. Выручайте!!!
1)Не понимаю техническую реализацию звуковых чипов. Как самое простое - возьму денди. В журнале – Ремонт и Обслуживание, а в частности  - Игровые Приставки, написано, что для создания звука используются 2 канала с прямоугольной формой, 1 треугольный, 1 сигнал шума. Я не понимаю, как из этого получаются звуки, а именно ноты различного звучания, и эфеекты. А в сеге даже глосса – пример Рестлинг. Что, при смешивании всех этих каналов получаются нота? Или как? Это что, базис какой-то. Ну как RGB панель, при смешивании которой получаются разные цвета. Так что, и в звуке чтоли?
2)Ещё тут читал доки, по сеге и наткнулся на такую вещь. И не пойму, какая в них  разница. В сеге есть музыкальный синтезатор и программируемый звуковой генератор. В  чём их разница? И есть ли они в дендике?
3)Этот вопрос не такой важный, можно на него не отвечать, но, всё таки, кто хочет, пускай ответит. Он относиться конкретно к программированию. Допустим я сэмулирую z80, и мне нужно передать эти данные своему реальному звуковому генератору, т.е. мой настоящей звуковой карте, как это сделать? Какие у неё адреса, порты? Как в ней порыться низкоуровнево? Где-нить написано? API DirectX не предлагать. Альтернативы, плиз. Как быть, если на какой-то машине установлена редкая карточка(а не AC97 или как она там), или у них есть определенный базис тоже, как у видео карты, в которой зашиты ASCII символы к примеру?
4)В институте, мы проходили ряды, ну естественно, скоро я узнал, что любой звук  можно разложить в косинусы и синусы различной частоты и амплитуды, и при смешивании (читай объединении, суммировании) получиться звук. До знакомства с денди я думал, что только так создаётся звук. Думал, что там стоит дюжина генераторов синусов и косинусов, так  процесс и идёт. А тут в доках я читаю, что какие-то пилообразные, прямоугольные, треугольные, и т.д. генераторы используются.

У меня такой склад ума, что я хочу понять, почему так, а не иначе, почему именно эти формы сигналов и никакие не другие, и как до этого додумались. К примеру сигнал овальный.

Спасибо.
 

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24640
    • Просмотр профиля
ajak, стоп.
Нет смысла задавать 33 вопроса одновременно. Вряд ли возможно получить внятный ответ. Давай сосредоточимся на главном вопросе, а в детали будем вникать по мере необходимости

Добавлено позже:
Пока попытаюсь подогнать немного теории
При воспроизведении звука есть два варианта: запись и синтез. В первом случае - грамофон, патефон, магнитофон... CD, DVD. Во втором - синтезатор, MIDI, wavetable

Оффлайн sergi

  • Пользователь
  • Сообщений: 1650
    • ВКонтакте
    • Просмотр профиля
Я тоже разбираюсь в этой хрени сейчас

Возьмем к примеру Yamaha 2610:

4 канала FM-синтеза - как я понимаю это сигнал который выдается путем наложения синусоид разных частот - только правда не впер - это значит 4 синусуиды?
7 каналов ADMPC - это короче как я понял цифровой выход (не понял 7 контактов чтоли) с которого звук идет в ЦАП, при этом сам по себе звук фактически wav только пожатый в 4 раза - используется для сжатия голосовых данных - сжатие за счет того, что в отличии от wav что не абсолютные значения, а только их изменения, при этом очень плохо соответственно прамоугольники получаются
3 канала PSG - ну это как у денди, только тоже не понял какие именно: прямоугольник, пила и синусоида?
1 канал noise - как мне объяснили это фактически аналоговый сигнал, который примешивается к основному чтобы сгладить неровности, он раднумный, т.е. реально вносит просто небольшие искажения

Ну и кто чего скажет? :?

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24640
    • Просмотр профиля
Цитата: sergi
Ну и кто чего скажет?
Я скажу
Не следует плодить сущности без необходимости
В теме задан вопрос, достаточно объемный, нет смысла добавлять свои. Лучше создать отдельную тему, а ещё лучше проследить за развитием этой
Ну и уж если ты влез в подробности, надеюсь, с даташитами сам справишься  :D

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Ну для этого я и пометил их циферками. Главный - номер 1. Не очень важный - 2. И вообще не важный - 3.

Добавлено позже:
Цитата
ajak, стоп.
Нет смысла задавать 33 вопроса одновременно.
Не знаю, просто накопилось. :blush: Решил выговориться. :unsure:

Добавлено позже:
Цитата
Пока попытаюсь подогнать немного теории
Спасибо большое Rumata :)

Добавлено позже:
Цитата
Лучше создать отдельную тему, а ещё лучше проследить за развитием этой
Мне кажеться, это верно, гляди и всплывут твои вопросы.

Оффлайн sergi

  • Пользователь
  • Сообщений: 1650
    • ВКонтакте
    • Просмотр профиля
На первый могу ответить как я это понимаю

В приставках стоит синтезатор, обычно даже от Yamaha - в сеге тоже он стоит только 2612 у него всего 10 каналов, по памяти помоему нет вообще ADMPC, зато FM-синтез 6 каналов, но тоже черт его разберешь
Обычно синтезатор у приставок имеет всроеный ЦАП, т.е. фактически из микрухи выходят 2 контакта и там звук 

У нео-гео ЦАП внешний, но там все заточено и схемы выверенные, поэтому это не важно

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

в нео-гео короче M68К только говорит что именно играть, а уже код написанный для звуков M.ROM уже сам там разводит что именно и откуда

Дальше пока не знаю, но это принцип многих приставок, при чем как я понял движок для звука можно не придумывать, т.к. их много стандартных уже придумано и даже для них декодеры существуют

Ну и как мне знакомый музыкант объяснил - можно wav конвертить в FM-синтез, в PSG запросто, даже проги есть, а там уже движок выбираешь - но пока реально не работал с этим, но активно инфу подбиваю

Даташиты очень помогают, т.к. написаны на простом и доступном каждому японском языке иероглифами :)

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Да, кстати, извините за оффтоп, но у меня 3 музыкальных образования, это на будущее, что я хоть кое-что, да знаю в этом деле. :)

Оффлайн sergi

  • Пользователь
  • Сообщений: 1650
    • ВКонтакте
    • Просмотр профиля
Тем легче жить на этом свете :lol:

Реально смотря какая приставка конечно интересует
Но реально даже на денди можно голос модулировать треугольничками и прямоугольничками - все от желания зависит

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

Короче - синтезатор нужно знать как работает ;)

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
И тишина ... :(
Наверное слишком сложный вопрос задал :-\

Оффлайн sergi

  • Пользователь
  • Сообщений: 1650
    • ВКонтакте
    • Просмотр профиля
Чем мои ответы не удовлетворили интерес? 0_0

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
Оякс, если ты мужЫкант, то должен знать, как формируется звук. Мы не будет обсуждать преобразование электрического эквивалента звука в реальный, физический через усилитель и акустическую систему, а рассмотрим только его электрическую "реинкорнацию".
Есть 2 важных параметра: частота и амплитуда. Думаю, не надо объяснять тебе эти 2 параметра, изучаемые во всех музыкальных школах. Но в электрическом варианте они означают то же самое: частота колебаний электрического тока (которые потом АС преобразуют в колебания частиц воздуха) и амплитуда колебаний (т.е. громкость).
1. PSG. Это тональный генератор прямоугольной формы сигнала. Каждый канал PSG может вырабатывать только одну частоту в одно и то же время. Если задать ему, например, частоту 440Гц, то получим тон Ля первой вроде октавы (та же частота у камертона, извините, но я музыкалок не кончал). А вот амплитуда по напряжению будет задавать громкость этого звука.
2. FM. Это уже частотный синтезатор. Их бывают множество, так что все и не перечислишь. Но основное правило вывести можно. Смотри, каждый канал FM синтезатора имеет несколько тональных генераторов (если у PSG генератор вырабатывал прямоугольный сигнал, то у FM каждый генератор вырабатывает синус). Можно использовать от одного до всех доступных в разных сочетаниях. У сеговского YM2612 на каждый канал есть 4 таких генератора (т.н. Операторы). Если на одном генераторе выставить, скажем, частоту ноты До первой октавы, а к нему примешать суммированием частоты еще 2х генераторов, расстроенных в +  и - соответственно на полтона, то получаем фактически звук рояля (помнишь, там по 3 струны на каждую клавишу?). А если задать алгоритм такой, что один генератор на низкой частоте (1-10Гц) будет по своему синусу изменять частоту (не амплитуду!) другого генератора (скажем в пределах +-50Гц), то получаем трель. ну и т.д., алгоритмов смешивания функций каждого генератора в YM2612 8 (0-7) и почитать о них можно в соответствующей доке. Так же, у FM есть Envelope Generator, т.е. генератор огибающей. Он влияет только на результирующую громкость канала, формируя атаку, удержание и затухание. Эти термины ты тоже должен знать. В общем, принцип формирования звука в FM очень похож на реальные инструменты (особенно струнные).
3. WT. Т.е. табличный или сэмплерный метод. Здесь все просто - записываем каждого звука по сэмплу (в идеале надо писать по каждой ноте, но прикинь, скока это будет весить, если записать рояль? поэтому пишут 1-3, чтобы перекрыть некоторый диапазон и просто выводят сэмпл с разной скоростью, чтиобы получить нужную ноту).
Вывод такой:
PSG способен только "гудеть", но при наличии хотя бы 3х каналов опытные музыканты делают шедевры (направление ChipTune).
FM - самый "богатый" на звук и количество разнообразия звука, но в одно и то же время самый сложный при имитации реальных инструментов. Некоторые инструменты не возможно сымитировать FM в принципе.
WT - самый достоверный синтез, но бедный, ибо чем больше звуков в него пихаешь - тем болше ресурсов он требует.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24640
    • Просмотр профиля
Цитата: ajak
И тишина ...
Ну не все же в рабочее время в интернете сидят  :)
Wave Table предполагает наличие ЦАП и зараннее записаных звуковых фрагментов - сэмплов. Обычно считается, что при табличном синтезе качество наивысшее. Но это не совсем так. Если сэмпл оцифрован 16 бит / 44 кГц, то качество будет как на CD. Но можно в целях экономии места оцифровать и 8 бит / 11 кГц, так что сам метод не является гарантией высокого качества. Кроме того, сэмпл - не просто нота, а некий более широкий фрагмент, скажем, аккорд, что и позволяет предать звучание конкретного инструмента или исполнителя.
Частотный синтезатор, как правило, имеет в своем составе генератор белого шума. Кстати, ударные синтезируются так же очень легко

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
Генератор белого шума есть и в PSG и в FM, чтобы придать оттенки получаемым звукам или имитировать те же ударные (в основном тарелки). Ударные представляют собой затухающие колебания одной-двух частот с очень резкой атакой и резким затуханием без удержания. Регулируюя крутизну затухания и основную частоту можно получить весь спектр - от басс бочки до том-томов.  Так что их повторить проще всего.

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Посоветуйте книжки печатные издания или электронные по этой очень интересной теме. Много всего нового узнал.:debile: :debile: :debile:
Спасибо большое. Вы лучшие.  :thumbup:

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24640
    • Просмотр профиля
С книжками сложно однако. Есть вот у меня толковая книжка по синтезу речи, только она 1985 года издания. Попытайся помучить Яндекс. К примеру - http://slovari.yandex.ru/dict/informatica/article//info/info-497.htm Конечно, на большую глубину не претендует, но всё же

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
А по поводу других вопрос ответите? :blush:

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24640
    • Просмотр профиля
Ты их ещё не задал  :)

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
 :lol:
Не, тама вопрос под номерм 3 ещё есть.  ;)

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #18 : 07 Февраль 2008, 15:28:48 »
3)Этот вопрос не такой важный, можно на него не отвечать, но, всё таки, кто хочет, пускай ответит. Он относиться конкретно к программированию. Допустим я сэмулирую z80, и мне нужно передать эти данные своему реальному звуковому генератору, т.е. мой настоящей звуковой карте, как это сделать? Какие у неё адреса, порты? Как в ней порыться низкоуровнево? Где-нить написано? API DirectX не предлагать. Альтернативы, плиз. Как быть, если на какой-то машине установлена редкая карточка(а не AC97 или как она там), или у них есть определенный базис тоже, как у видео карты, в которой зашиты ASCII символы к примеру?
 :blush:

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #19 : 07 Февраль 2008, 16:24:42 »
Для SB-совестимых звуковушек я делал так:
;Пример программы, проигрывающей файл C:\WINDOWS\MEDIA\TADA.WAV
;на звуковой плате при помощи DMA
FILESPEC   equ "01.wav" ;Воспроизводимый файл
SBPORT equ    220h     ;Адрес SB
SBIRQ  equ    7
       .model tiny
       .code
       .186
       org    100h
start: call   dsp_reset
       jnc    cont
       ret
cont:  mov    byte ptr cs:state,0
       mov    bl,0D1h
       call   dsp_write
       call   open_file
       call   hook_sbirq
       mov    bl,40h
       call   dsp_write
       mov    bl,0D2h  ;0D2h
       call   dsp_write
       call   program_dma
       push   dx
       mov    ah,9
       mov    dx,offset messagestrt
       int    21h
       pop    dx
       mov    al,byte ptr cs:state
       mov    byte ptr cs:stat,al
       push   dx
       mov    ah,9
       mov    dx,offset countb
       int    21h
       mov    ax,word ptr cs:bytes
       mov    al,ah
       call   outhex
       mov    ax,word ptr cs:bytes
       call   outhex
       mov    ah,9
       mov    dx,offset counte
       int    21h
       pop    dx
mainlp:mov    al,byte ptr finished_flag
       cmp    al,128
       je     mainen
       mov    al,byte ptr cs:state
       cmp    byte ptr cs:stat,al
       je     mainlp
       mov    byte ptr cs:stat,al
       push   dx
       mov    ah,9
       mov    dx,offset countb
       int    21h
       mov    ax,word ptr cs:bytes
       mov    al,ah
       call   outhex
       mov    ax,word ptr cs:bytes
       call   outhex
       mov    ah,9
       mov    dx,offset counte
       int    21h
       mov    dx,word ptr bytes
       inc    dx
       mov    word ptr bytes,dx
       pop    dx
       push   ds
       mov    bx,40h
       mov    ds,bx
       mov    bx,17h
       mov    al,byte ptr ds:[bx]
       pop    ds
       and    al,3h
       jz     mainlp
       mov    dx,offset messageend
       jmp    exit
mainen:mov    dx,offset messagefin
exit:  mov    ah,9
       int    21h
       call   restore_sbirq
       mov    bl,0D3h
       call   dsp_write
       mov    bl,0D0h
       call   dsp_write
       mov    bl,0DAh
       call   dsp_write
       mov    bl,0D0h
       call   dsp_write
       int    20h
       ret
;Переменные
old_sbirq      dd     ?
finished_flag  db     0
filename       db     FILESPEC,0
bytes  dw     0
stat   db     0
countb db     0Dh, "Воспроизведение блока номер $"
counte db     "H.$"
messagestrt    db     "Воспроизведение. Для остановки нажмите любой SHIFT."
       db      0Dh, 0Ah, '$'
messageend     db     0Dh, 0Ah, "Прервано пользователем.", 0Dh, 0Ah, '$'
messagefin     db     0Dh, 0Ah, "Кончилось.", 0Dh, 0Ah, '$'
;Обработчик прерывания звуковой карты
;Устанавливает флаг finished_flag в 128 если кончился файл
sbirq_handler  proc   far
       pusha
       mov    al,20h
       out    20h,al
       mov    dx,SBPORT+0Eh
       in     al,dx
       mov    ax,word ptr cs:file
       mov    bx,ax
       mov    ah,3Fh
       mov    cx,4000h
       push   ds
       mov    dx,ds
       and    dx,0F000h
       mov    al,byte ptr cs:state
       or     al,al
       jnz    second
first: add    dx,1000h
       mov    ds,dx
       mov    dx,0
       int    21h
       pop    ds
       jc     close
       cmp    ax,0
       je     close
       mov    byte ptr cs:state,255
       popa
       iret
second:add    dx,1400h
       mov    ds,dx
       mov    dx,0
       int    21h
       pop    ds
       jc     close
       cmp    ax,0
       je     close
       mov    byte ptr cs:state,0
       popa
       iret
close: mov    byte ptr cs:finished_flag,128
       popa
       iret
state  db     0
file   dw     0
sbirq_handler  endp
;Процедура outhex
;Выводит al в HEX виде
outhex proc   near
       push   ax
       shr    al,4
       and    al,15
       cmp    al,10
       jc     out0
       add    al,7
out0:  add    al,48
       mov    byte ptr txt,al
       pop    ax
       and    al,15
       cmp    al,10
       jc     out1
       add    al,7
out1:  add    al,48
       mov    byte ptr txt+1,al
       push   dx
       mov    ah,9
       mov    dx,offset txt
       int    21h
       pop    dx
       ret
txt    db     0,0,'$'
outhex endp
;Процедура dsp_reset
;Сброс и инициализация DSP
dsp_reset  proc   near
       mov    dx,SBPORT+6
       mov    al,1
       out    dx,al
       mov    cx,40
dsp_loop:  in  al,dx
       loop   dsp_loop
       mov    al,0
       out    dx,al
       add    dx,8
       mov    cx,100
check_port:in  al,dx
       and    al,80h
       jz     not_ready
       sub    dx,4
       in     al,dx
       add    dx,4
       cmp    al,0AAh
       je     good_reset
not_ready: loop   check_port
       stc
       ret
good_reset:clc
       ret
dsp_reset  endp
;Процедура dsp_write
;Посылает байт из BL в DSP
dsp_write  proc   near
       mov    dx,SBPORT+0Ch
write_loop:in  al,dx
       and    al,80h
       jnz    write_loop
       mov    al,bl
       out    dx,al
       ret
dsp_write  endp
;Процедура hook_sbirq
;Перехватывает прерывание звуковой карты и разрешает его
hook_sbirq proc   near
       mov    ax,3508h+SBIRQ
       int    21h
       mov    word ptr old_sbirq,bx
       mov    word ptr old_sbirq+2,es
       mov    ax,2508h+SBIRQ
       mov    dx,offset sbirq_handler
       int    21h
       mov    cl,1
       shl    cl,SBIRQ
       not    cl
       in     al,21h
       and    al,cl
       out    21h,al
       ret
hook_sbirq endp
;Процедура restore_sbirq
;Восстанавливает обработчик и запрещает прерывание
restore_sbirq  proc  near
       mov    ax,3508h+SBIRQ
       lds    dx,dword ptr old_sbirq
       int    21h
       mov    cl,1
       shl    cl,SBIRQ
       in     al,21h
       or     al,cl
       out    21h,al
       ret
restore_sbirq  endp
;Процедура open_file
;Открывает файл и заполняет буфер
open_file proc near
       mov    ax,3D00h
       mov    dx,offset filename
       int    21h
       jc     error_exit
       mov    word ptr cs:file,ax
       mov    bx,ax
       mov    ax,4200h
       mov    cx,0
       mov    dx,38h
       int    21h
       mov    ah,3Fh
       mov    cx,8000h
       push   ds
       mov    dx,ds
       and    dx,0F000h
       add    dx,1000h
       mov    ds,dx
       mov    dx,0
       int    21h
       pop    ds
       ret
error_exit:
       mov    ah,9
       mov    dx,offset not_open_msg
       int    21h
       int    20h
;Сообщение об ошибке
not_open_msg   db   "Ошибка при открытии файла",0Dh,0Ah,'$'
open_file endp
;Процедура program_dma
;Настраивает 1 канал DMA
program_dma proc near
       mov    al,5
       out    0Ah,al
       xor    al,al
       out    0Ch,al
       mov    al,59h   ;Для авто = 59h
       out    0Bh,al
       push   cs
       pop    dx
       and    dh,0F0h
       add    dh,10h
       xor    ax,ax
       out    02h,al
       out    02h,al
       mov    al,dh
       shr    al,4
       out    83h,al
       mov    ax,8000h
       dec    ax
       out    03h,al
       mov    al,ah
       out    03h,al
       mov    al,1
       out    0Ah,al
       mov    bl,48h
       call   dsp_write
       mov    bx,4000h
       dec    bx
       call   dsp_write
       mov    bl,bh
       call   dsp_write
       mov    bl,01Ch
       call   dsp_write
       ret
program_dma   endp
       end    start
Файл - непожатая WAVка.

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #20 : 07 Февраль 2008, 17:19:16 »
вот это кайфовый ответ. :)

.186
org    100h



Добавлено позже:
Кайфова бы доки низкоуровневые почитать про программирование звуковушки.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #21 : 07 Февраль 2008, 18:48:00 »
Писал по книжке Зубкова С.В. "Assembler для DOS, Windows и UNIX". Самый прикол в том, что эта книжка есть у меня в электронном виде, но там отсутствует целый раздел по низкоуровнему программированию железа. Это почти треть всей бумажной книги. Так что увы - найдешь в бумаге - сразу покупай.

вот это кайфовый ответ. :)

.186
org    100h

Все верно, выхлоп - СОМ файл. а его, как известно, система грузит со смещением на целый блок, записывая туда свою служебную инфу о потоке. ;)

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализацl
« Ответ #22 : 07 Февраль 2008, 19:30:44 »
Цитата
выхлоп - СОМ файл
. Хех.  :) Да, помню, помню. Вначале показалось, что сложная книга, но потом набравшись опыта  - стало всё понятно и легко. Недавно универ попросил вернуть. :(. Надо ьы купить. Чёт мне калашников не очень нравиться. Меня больше засмущала сигнатура .186 <_<

Добавлено позже:
Ну, коли пошла такая пьянка, то вот вам
http://www.youtube.com/watch?v=cHPgbuM3Yo8
Не знаю как я это нашел. Пока файл не качал, только видео смотрел. Не хочу прогу запускать пока. Нету VM.
А вот ещё интересная штука, почти то что я искал, но не совсем
http://www.manfreda.org/LordFrito/2A03/Notes.html
http://www.manfreda.org/LordFrito/index.html
Осталось мне только найти прогу, с помошью которой мога музу сочинять для дендика. Наподобие Cakewalk'a. Если кто знает пишите. :blush:

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7421
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #23 : 07 Февраль 2008, 19:46:35 »
.186 поставил ради расширенных команд PUSHA/POPA. А так он не нужен, если ручками писать сохранения каждого  регистра в стеке.

А для написания музы под Дендик был треккер досовый. В ДосБоксе нормально пускался.

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #24 : 08 Февраль 2008, 18:00:39 »
Начал вплотную звуком заниматься. Начал эксперементировать с
http://www.manfreda.org/LordFrito/2A03/Notes.html
Там есть такие параметры, о которых я не разу не слышал. Думал частота, фаза, уровень, амплитуда, затухание  - это основные, а ещё есть какие то Attack, Decay, Sustain, Release. Это что применимо к цифровому звуку чтоль? Эти параметры реально сущ. или их ввели для облегчения работы со звуком?
Что они значат?

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24640
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #25 : 08 Февраль 2008, 19:00:52 »
Ты бы с терминами разобрался. Чем "уровень" отличается от "амплитуды"? Attack - атака, Decay - затухание, Sustain - скорее эффект, Release - отпускание клавиши

Оффлайн sergi

  • Пользователь
  • Сообщений: 1650
    • ВКонтакте
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #26 : 08 Февраль 2008, 19:08:27 »
Лучше бы помогли с командами Z80 как он управляет YM2612 <_<

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #27 : 08 Февраль 2008, 19:16:19 »
Чем "уровень" отличается от "амплитуды". Дык одно и тоже. <_< Я виноват.

Добавлено позже:
Цитата
Attack - атака
Но это перевод. А что это значит? ::)

Оффлайн sergi

  • Пользователь
  • Сообщений: 1650
    • ВКонтакте
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #28 : 08 Февраль 2008, 19:18:01 »
"Base is under attak" что значит :lol:

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24640
    • Просмотр профиля
Re: О наболевшем - Звук - техническая реализация!!!
« Ответ #29 : 08 Февраль 2008, 19:26:05 »
Цитата: ajak
А что это значит?
А что, при музыкальном образовании теорию не дают? Атака - нарастание амплитуды сигнала