Welcome, Guest. Please login or register.


Author Topic: Zeneprogramozás (Read 415402 times)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9926
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zeneprogramozás
« Reply #345 on: 2013.October.28. 11:57:38 »
Quote from: Zozosoft
Mikorra nagyjából felfogtam, hogy dó-ré-mi-fá-szó-lá-ti-dó, jöttek, hogy ezt az egészet felejtsük el, és cé dé cisz meg dúr, stb... innentől csak azért nem buktam meg énekből, mert a zeneszerzők életrajzát megtanultam, és arra kaptam ötöst.
Énekórákon én se fogtam fel semmit a zeneelméletből. Kaptam gyerekkoromban játékzongorát, aztán játékszintetizátort, na azon és az EP-n tanultam meg a lényeget.

Ahogy Endi írja, tényleg logikátlan a félhang-egész hang elnevezés. Most azért, mer fekete billentyű a zongorán, már csak "fél" hang? A gitáron meg "ugyanúgy" kell minden hangot megszólaltatni. Annál is inkább zavaró az elnevezés, mert a hanghosszúságra is mondják, hogy egész, fél, stb. Ugyanígy a hangközök elnevezése is logikátlan, teljesen az egész hangokra épül és nehezíti értelmezésüket, ha félhangokat is bedobunk a zenébe, és csak billentyűn van értelme, mert ott "vizualizálódik" élesen a különbség a fél és az egészhang között. A zongorát nyilván célszerűbb volt így megalkotni, mert ha csak simán egymás mellett lenne az összes hang és nem lenne fekete billentyű, egyrészt nagyobb helyet is foglalna, másrészt nehéz lenne megtalálni a sok egyforma billentyű között a C hangot, esetleg valami "bütyök" kéne rá, ahogy a számítógép billentyűzetén az F-re és a J-re.

Quote from: Povi
(ha van zenész közöttünk, bocs a kicsit pongyola fogalmazásért, próbáltam a lehető legegyszerűbben és érthetőbben leírni)
Szerintem jól írtad, de kétlem, hogy egy tömör, velős fórumhozzászólás alapján megértse ezt az, aki még nem tudta. Nekünk is úgy tanították a zeneelméletet, hogy zongorát nem láttunk közben, nem próbálhattuk ki rajta, mi hogyan hangzik, és ennyire erősen elválasztva a gyakorlattól az elméletet szerintem teljesen értelmetlen ezt magyarázni, mármint pedagógiai szempontból. Ha gyerekkoromban nem szórakoztam volna játékhangszereken, soha nem értettem volna meg ezt az egészet, meg hogy egyáltalán mi az a hangköz. Ez most kb. olyan, mint ha elmondják, hogy az angolban mikor használják az egyszerű jelen időt, de soha nem láttál még egy angol szót sem, nem hogy mondatot, amiben az egyszerű jelen idő van.
Énekórákon meg hangnemekről, előjegyzésekről tanultunk úgy, hogy a többség életében soha nem ütött le egyetlen billentyűt sem zongorán. Nem tudom, mostanában hogyan tanítanak általános iskolákban zeneelméletet, de aki nem foglalkozik a zenével, nem zenél, azt teljesen felesleges terhelni vele. Azt kéne, hogy kap minden gyerek egy játékzongorát, ahhoz pár papírlapot, amin rajta van néhány gyerekdalhoz, hogy milyen billentyűket kell leütni a lejátszáshoz, azzal elszórakozhat 1 éven át kedvére, püfölheti. Aki kreatívabb, úgyis rájön közben más dallamokra, dolgokra. És ezután kéne elmagyarázni, hogy mi micsoda.

Na, ez  most kicsit OFF volt, nem tudom, kit érdekel a téma, de azért leírtam. :D
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zeneprogramozás
« Reply #346 on: 2013.October.28. 12:19:32 »
szipucsi, tökre egyetértek
pedig marha nagy lehetőségek lennének a zene oktatásban, de hát ezt is elrontják... :(
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Zeneprogramozás
« Reply #347 on: 2013.October.28. 12:36:42 »
Quote from: Z80System
Akartam is kérdezni ... van valami tapasztalat, hogy mennyit lassitanak a digi hangok EP -n ...

Ez az SNDPLAY hang megszakítása:
Code: ZiLOG Z80 Assembler
  1.         phase 0038h
  2.  
  3. irqRoutine:
  4.         ex    af, af'
  5.         ld    a, (iy)
  6.         rrca
  7.         out   (0a8h), a
  8.   if LEFT_CHANNEL_ONLY == 0
  9.         out   (0ach), a
  10.   endif
  11.         adc   a, 0
  12.         out   (0abh), a
  13.   if LEFT_CHANNEL_ONLY == 0
  14.         out   (0afh), a
  15.   endif
  16.         ld    a, 003h
  17.         inc   iyl
  18.         jr    z, .l1
  19.         out   (0b4h), a
  20.         ex    af, af'
  21.         ei
  22.         ret
  23. .l1:    inc   iyh
  24.         out   (0b4h), a
  25.         and   iyh
  26.         or    high audioBuffer
  27.         ld    iyh, a
  28.         ex    af, af'
  29.         ei
  30.         ret

Az AF' és IY regisztereket használja. A CPU fugyasztás 10 kHz mintavételezési frekvenciánál kb. 36%. Természetesen játékba beépítve módosítani kellene a kódon, és a 7 bites felbontás nélkül gyorsabb lehetne (a video megszakítás támogatása viszoint lassítaná), de a fenti példából talán látható, hogy nagyságrendileg mekkora lenne a lassulás.
« Last Edit: 2013.October.28. 12:39:46 by IstvanV »

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zeneprogramozás
« Reply #348 on: 2013.October.28. 12:43:17 »
Szerintem ilyen űrhajós játékba nem jó a digi hang, mert csak 1 szólamú. 2 szólam még több cpu idő... 3 meg még több... De még 3 is kevés ide szerintem.
Vigyázat! Szektás vagyok! :)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Zeneprogramozás
« Reply #349 on: 2013.October.28. 12:45:33 »
Quote
A CPU fugyasztás 10 kHz mintavételezési frekvenciánál kb. 36%. Természetesen játékba beépítve módosítani kellene a kódon, és a 7 bites felbontás nélkül gyorsabb lehetne, de a fenti példából talán látható, hogy nagyságrendileg mekkora lenne a lassulás.

Na... ez azért már kicsit bíztatóbb ... 5 KHz -en akkor már 20% alatt van, EX -et egyáltalán nem használok eddig, IY -t se eddig ... illetve a C kód lehet használ, de a loop -omban már tiszta assembly van, a hangok meg csak a loop alatt kellenek.

Igazából sztm a bitmélység nem lesz fontos, amúgy is legalább két (mono) csatornáról álmodozok, amik akkor osszeadva/kettővel elosztva kerülnének mixelésre ...

Vagy nem lehet megúszni a frekiben (időben) mixelést ?
Z80 System

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Zeneprogramozás
« Reply #350 on: 2013.October.28. 12:47:35 »
Quote from: Z80System
Igazából sztm a bitmélység nem lesz fontos, amúgy is legalább két (mono) csatornáról álmodozok, amik akkor osszeadva/kettővel elosztva kerülnének mixelésre ...

Vagy nem lehet megúszni a frekiben (időben) mixelést ?
Egy egyszerű (és gyors) megoldás: az egyik a bal, a másik a jobb csatornán szól. :) De szükség lehet több regiszter használatára (például AF', IX, és IY), vagy regiszterek mentésére/önmódosító kódra.
« Last Edit: 2013.October.28. 12:50:43 by IstvanV »

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Zeneprogramozás
« Reply #351 on: 2013.October.28. 12:49:13 »
Quote
Egy egyszerű (és gyors) megoldás: az egyik a bal, a másik a jobb csatornán szól. 
Hát végső esetben ... de akkor miért ne legyen inkább 2X2 ? :)
Z80 System

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Zeneprogramozás
« Reply #352 on: 2013.October.28. 12:52:59 »
Quote from: Z80System
Hát végső esetben ... de akkor miért ne legyen inkább 2X2 ? :)
Ha van rá idő, akkor lehet az is. :) A DTM lejátszó ilyen megoldást használ, hang megszakítás nélkül (100% CPU fogyasztás), valamivel több, mint 16 kHz-es mintavételezési frekvencián.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Zeneprogramozás
« Reply #353 on: 2013.October.28. 12:57:55 »
Jó, mindenképp először PC -n meghalgatok ilyen 1-5 KHZ hangokat, hogy hogy szólnak, és ha tudok használhatót így, akkor utána jöhet a kérdés, hogy akkor egyet, kettöt vagy négyet.

Igazából az egyel is beérem, a robbanásszekvenciák nem baj ha leállítják az éppen szóló előző robbanást, a lövés kéne, hogy a robbanások mellett megszólalhasson, de ha nem lehetm, akkor majd a robbanások "elnyomják" a lövés hangot.

Ellenség/űrhajó hangok meg legfeljebb nem lesznek.
Z80 System

Offline Povi

  • EP addict
  • *
  • Posts: 2297
  • Country: hu
    • http://povi.fw.hu
Re: Zeneprogramozás
« Reply #354 on: 2013.October.28. 13:53:38 »
Quote from: szipucsu
Énekórákon én se fogtam fel semmit a zeneelméletből. Kaptam gyerekkoromban játékzongorát, aztán játékszintetizátort, na azon és az EP-n tanultam meg a lényeget.

Ahogy Endi írja, tényleg logikátlan a félhang-egész hang elnevezés. Most azért, mer fekete billentyű a zongorán, már csak "fél" hang? A gitáron meg "ugyanúgy" kell minden hangot megszólaltatni. Annál is inkább zavaró az elnevezés, mert a hanghosszúságra is mondják, hogy egész, fél, stb. Ugyanígy a hangközök elnevezése is logikátlan, teljesen az egész hangokra épül és nehezíti értelmezésüket, ha félhangokat is bedobunk a zenébe, és csak billentyűn van értelme, mert ott "vizualizálódik" élesen a különbség a fél és az egészhang között. A zongorát nyilván célszerűbb volt így megalkotni, mert ha csak simán egymás mellett lenne az összes hang és nem lenne fekete billentyű, egyrészt nagyobb helyet is foglalna, másrészt nehéz lenne megtalálni a sok egyforma billentyű között a C hangot, esetleg valami "bütyök" kéne rá, ahogy a számítógép billentyűzetén az F-re és a J-re.


az egyébként egy elég szerencsétlen elnevezés, hogy a zongorán a fekete bill. a "félhang"...
pl. a h-c és e-f is félhang távolság, pedig mind fehér billentyű a zongorán


van ilyesmi zongora is, a Jankó-féle:
http://en.wikipedia.org/wiki/Jank%C3%B3_keyboard
itt az egymás mellett lévő billentyűk hangtávolsága mindig egészhang
alsó sor: c-d-e-f#-g#-a#-c
felső sor: c#-d#-f-g-a-h-c#

itt egy jó kis videó róla, hogy hogyan játszanak rajta:
http://www.youtube.com/watch?v=cK4REjqGc9w
*** Speicherplatz zu klein

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Zeneprogramozás
« Reply #355 on: 2013.November.01. 19:57:03 »
Na kipróbáltam, hogy lekonvertálltam hangokat 1-8 khz -re ... hát elég gáznak tűnik ...

8 KHz -n már hallani valamit, de 4KHz -től lefele (ami a jó volna, sebesség szemppontjából) nagyon mélyek lesznek a hangok, és nagyon halkak ...

Ezért volt régen minden minta annyira túlvezérelve ?

Szóval elég nagy kínlódás lehet a hang ... kis halk mély susi meg dörmi ...
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Zeneprogramozás
« Reply #356 on: 2013.November.01. 20:20:39 »
Ja, azt hiszem a 4KHz lesz az, amit meg kell célozni. Ha az összejon, akkor azért szólni fog valami, ha nem akkor már nagyon ergya lesz. 2KHz még ippen szódával, az 1KHz pedig csak a legmélyebb hangokhoz, és csak azért, hogy ne kelljen gépi hangot generálni megtanulni.
Z80 System

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zeneprogramozás
« Reply #357 on: 2013.November.01. 20:38:47 »
mit kell megtanulni a "gépi hangon"
pár port írás, hangmagasság változtatások, torzítások, kis próbálkozással elég jókat ki lehet hozni belőle

epic fail szerintem az 50fps-es célú játékodba digi hangot rakni
Vigyázat! Szektás vagyok! :)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Zeneprogramozás
« Reply #358 on: 2013.November.01. 20:44:10 »
Quote
mit kell megtanulni a "gépi hangon"
válasz:

Quote
próbálkozással elég jókat ki lehet hozni belőle

Quote
epic fail szerintem az 50fps-es célú játékodba digi hangot rakni
Még akkor sem lenne az, ha tudnék jó lövés és robbanás hangokat szintetizálni. De nem fogok most egy 2 hónapos kurzust beiktatni erre. És még ha tudnék is, valszeg nem olyan jó mély effekteket, amiket digivel. Én amit eddig szintetizálva hallottam, az sustorgás, zizergés, cirregés, puttyogás volt. A digi meg mély. Most ne kezdd el, hogy lehet szintetizálni mélyet is ... én még nem hallottam. Nem hallottam egy tisztességes dobot sem EP -n. Csak digit.
Z80 System

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zeneprogramozás
« Reply #359 on: 2013.November.01. 21:05:58 »
Ezt nézzétek meg, mekkora királyság!
Tökre megváltozik a key click hang így.
Lehet a torzítást állítani és akkor másmilyen lesz. :)
Vigyázat! Szektás vagyok! :)