Welcome, Guest. Please login or register.


Author Topic: Zeneprogramozás (Read 148474 times)

Offline tigrian

  • EP user
  • *
  • Posts: 401
  • Country: hu
    • View Profile
Re: Zeneprogramozás
« Reply #45 on: 2005.December.16. 15:45:53 »
Quote from: "gafz"
Nem lehetne egy pár soros - hangot is adó :) - mintaprogramot feldobni ide?

Dehogynem. Viszont akkor már ne Te lennél a "pionyír".  :D
re' mi' do' do sol

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #46 on: 2005.December.16. 16:16:51 »
ORG 0100H
          DI
          LD SP,0100H
          EI
          LD B,1
          LD C,15
          LD D,20
          EXOS 16        ;BUF_SND 20
          LD A,103
          LD DE,SNDTEXT
          EXOS 2         ;SOUND: LETREHOZASA
          LD C,12
CIKLUS    LD A,103
          LD HL,SND1
          LD B,(HL)
          EXOS 7
          DEC C
          JR NZ,CIKLUS
VEGE      JR VEGE


SNDTEXT   DB 6,"SOUND:"  ;SOUND: SZOVEG HOSSZBYTE-AL
SND1      DB 27,"S"      ;ESC S
          DB 0FFH        ;BURKOLO SZAMA - FF BEEP TIPUSU HANG
          DW 0100H       ;INDULO FREKVENCIA ??????
          DB 255,255     ;JOBB ES BAL AMPLITUDO
          DB 0           ;HANGTIPUS=TISZTA HANG
          DB 1           ;HANGFORRAS=1. CSATORNA
          DW 100         ;HANGHOSSZ 2 SEC.
          DB 0           ;JELYOBYTE


Ez már egy agyonegyszerûsített változat. De meg sem nyikkan...
Enterprise Forever

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #47 on: 2005.December.16. 16:20:16 »
"(16 bit) A hang induló frekvenciája 1/5 12 félhangban kifejezve. Csak a pontos negyedhangok lesznek zeneileg helyesek. A többi elõállítása lineáris interpoláció segítségével történik. Zajcsatornánál nem kerül figyelembevételre."

Ez most mit is jelent pontosan?
a 125000/freqvencia vagy esetleg a basicban a pitch után írandó érték vagy egy 3. változat???
Enterprise Forever

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13070
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: Zeneprogramozás
« Reply #48 on: 2005.December.16. 16:35:12 »
A ciklusodból nagyon hiányzik egy INC HL :-) No meg az LD HL az ciklus elött kéne.
De miért is nem EXOS 8?

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #49 on: 2005.December.16. 16:35:48 »
Quote from: "Zozosoft"
A ciklusodból nagyon hiányzik egy INC HL :-)
De miért is nem EXOS 8?



ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Enterprise Forever

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13070
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: Zeneprogramozás
« Reply #50 on: 2005.December.16. 16:42:04 »
Quote from: "gafz"

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ


Megnyugtatlak, velem is elõfordul :-)

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #51 on: 2005.December.16. 16:42:57 »
ORG 0100H
          DI
          LD SP,0100H
          EI
          LD B,1
          LD C,15
          LD D,20
          EXOS 16        ;BUF_SND 20
          LD A,103
          LD DE,SNDTEXT
          EXOS 2         ;SOUND: LETREHOZASA
          LD BC,12
          LD A,103
          LD DE,SND1
          EXOS 8
VEGE      JR VEGE


SNDTEXT   DB 6,"SOUND:"  ;SOUND: SZOVEG HOSSZBYTE-AL
SND1      DB 27,"S"      ;ESC S
          DB 0FFH        ;BURKOLO SZAMA - FF BEEP TIPUSU HANG
          DW 0100H       ;INDULO FREKVENCIA ??????
          DB 255,255     ;JOBB ES BAL AMPLITUDO
          DB 0           ;HANGTIPUS=TISZTA HANG
          DB 1           ;HANGFORRAS=1. CSATORNA
          DW 100         ;HANGHOSSZ 2 SEC.
          DB 0           ;JELZOBYTE

Egy vibráló, mély hangot produkál, legalábbis emulátoron...
Enterprise Forever

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #52 on: 2005.December.16. 16:46:14 »
Sikerült megszólaltatni, mindenesetre elég egyéni hangot adott....
Enterprise Forever

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #53 on: 2005.December.16. 16:48:18 »
Quote from: "gafz"
"(16 bit) A hang induló frekvenciája 1/5 12 félhangban kifejezve. Csak a pontos negyedhangok lesznek zeneileg helyesek. A többi elõállítása lineáris interpoláció segítségével történik. Zajcsatornánál nem kerül figyelembevételre."


Ez most mit is jelent pontosan?
a 125000/freqvencia vagy esetleg a basicban a pitch után írandó érték vagy egy 3. változat???
Enterprise Forever

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13070
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: Zeneprogramozás
« Reply #54 on: 2005.December.16. 16:52:05 »
Szerintem a Basic féle, hiszen az a EXOS-ra épül.

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #55 on: 2005.December.16. 16:55:09 »
Quote from: "Zozosoft"
Szerintem a Basic féle, hiszen az a EXOS-ra épül.


Ahoz bõven elég lenne 1 byte is...
Enterprise Forever

Offline tigrian

  • EP user
  • *
  • Posts: 401
  • Country: hu
    • View Profile
Re: Zeneprogramozás
« Reply #56 on: 2005.December.16. 17:06:32 »
Quote from: "gafz"
"(16 bit) A hang induló frekvenciája 1/5 12 félhangban kifejezve. Csak a pontos negyedhangok lesznek zeneileg helyesek. A többi elõállítása lineáris interpoláció segítségével történik. Zajcsatornánál nem kerül figyelembevételre."

Ez most mit is jelent pontosan?

A SOUND eszköz lineáris egységben kéri a hangmagasságot. Fizikailag viszont a hangmagasság változása logaritmikus. A kettõ között az EXOS egy táblázat alapján teremt kapcsolatot, de csak 127 hangra létezik ez a táblázat.
Pl.: Ha c1 (egyvonalas c) hangot akarsz kiadni, akkor a SOUND eszköznek 37-et adsz meg. Ennek a frekije kb. 262 Hz. Ha c2-t (egy oktávval feljebb), akkor 49-et (37+12). Ennek a frekije kétszer akkora, kb. 523 Hz.
Ha g1-et (egyvonalas g), akkor 44-et (37+7). Ennek a frekije kb. 392 Hz.
A táblázat csak a 12-osztású skálára létezik (c, cisz, d, disz...), freki viszont nemcsak ezeken a félhangokon létezhet. A c meg a cisz között is vannak frekvenciák, a kettõ közötti változás is logariktmikus a valóságban, az EXOS konverziója viszont csak lineáris (egyszerûsítés miatt).
Az eredménye ennek az, hogy ha félhangok közötti hangot akarsz kiadni, akkor az kissé pontatlan lesz. De aki ezt meghallja, annak fizetek egy sört (vagy amit akar)  :wink:
Quote
a 125000/freqvencia vagy esetleg a basicban a pitch után írandó érték vagy egy 3. változat???

a frekvenciával neked egyáltalán nem kell törõdni, épp ez az egyik lényege a SOUND eszköz használatának. Te csak félhang egyszégben adod meg az adatot, a konverzió frekvenciára (és így a regiszter adatokszámolgatása is) az EXOS dolga.
re' mi' do' do sol

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #57 on: 2005.December.16. 17:11:40 »
"SND1 DB 27,"S" ;ESC S
DB 0FFH ;BURKOLO SZAMA - FF BEEP TIPUSU HANG
DW 0100H ;INDULO FREKVENCIA ??????
DB 255,255 ;JOBB ES BAL AMPLITUDO
DB 0 ;HANGTIPUS=TISZTA HANG
DB 1 ;HANGFORRAS=1. CSATORNA
DW 100 ;HANGHOSSZ 2 SEC.
DB 0 ;JELZOBYTE
"

Ha frekvencia helyére dw 37-et írok, a felhangzó hang minden, csak nem tiszta zenei hang, valami mély vibráló zörej lesz...
Enterprise Forever

Offline tigrian

  • EP user
  • *
  • Posts: 401
  • Country: hu
    • View Profile
Re: Zeneprogramozás
« Reply #58 on: 2005.December.16. 17:18:57 »
Quote from: "gafz"
Ha frekvencia helyére dw 37-et írok, a felhangzó hang minden, csak nem tiszta zenei hang, valami mély vibráló zörej lesz...

Bocsánat, az a BASIC-féle szám, szóval 37*512 kell a SOUND-nak.  :oops:
re' mi' do' do sol

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: Zeneprogramozás
« Reply #59 on: 2005.December.16. 17:21:58 »
Quote from: "tigrian"
Quote from: "gafz"
Ha frekvencia helyére dw 37-et írok, a felhangzó hang minden, csak nem tiszta zenei hang, valami mély vibráló zörej lesz...

Bocsánat, az a BASIC-féle szám, szóval 37*512 kell a SOUND-nak.  :oops:


Ahaaaaaaaaaaaaaaaa!  Így már valóban príma a hang!!!!!!
Köszönöm!!!!!!!!!

 :lol:  :lol:  :lol:  :lol:  :lol:
Enterprise Forever