In this part you can - compose a music by editing sound notes in a score - select between PAL and NTSC - manage 3 channels of sound (1,2 or noise) - play the music sheet (8 bits/16 bits, 8000 Hz, 11025 Hz, 22050 Hz or 44100 Hz) - save the music score as XML, WAV - add or insert a new sound note (or two/three) - delete a line from the score - edit manually by typing Hz, Note or TED values - convert music to BASIC DATA lines and Assembly DB lines, too
Re: New feature of LUMYDCTT: (Music) ZackZack v2.8.0: - Assembly DB values are the high 8 bits of sound. - you can follow the sound track visually! (by selecting the current row while playing)
Re: New feature of LUMYDCTT: (Music) ZackZack I don't really understand what "Assembly DB values are the high 8 bits of sound" means, but if it's storing the upper 8 bits of the 10-bits sound register values then I don't think it is a very good idea. It'd be much better to include and additional table, one with the register values belonging to the notes. Then the score should reference the note table instead of direct write values of the frequency registers. But maybe I'm wrong, in which case ignore my post, please.
Re: New feature of LUMYDCTT: (Music) ZackZack Hello gerliczer,
Nope, your post is very useful and you are dead right. The purpose of LUMYDCTT is creating a helpful tool/utility TOGETHER for who wants to develope programs on this platform easily. So I need your helps or feedbacks to get it more-and-more better.
I thought about storing the high 8 bits only, because wasting "only" the lower two bits which perhaps is not so important than the higher twos. (in this case you need only shift bits on the left by two, and this doesn't take a lots of storage-space as including another tables) BUT maybe I am walking on a bad way...
Re: New feature of LUMYDCTT: (Music) ZackZack Nice work! This looks like something I really need.
I tend to agree with gerliczer, it would be better to have a table of note values and the player simply references the table. If need be you could always post process the table removing unused entries and re-aligning the notes to match.
As it happens I've been working on a set of libraries to read/write MIDI files for this sort of tool and that is the route I was heading.
Re: New feature of LUMYDCTT: (Music) ZackZack V2.8.2: - Killing some bugs. - You can Play/Pause and Stop the playing!
gerliczer sent me a private message in Hungarian and I hope he won't be so angry with me, but I try to translate his message to English, because it's very important:
"Well the TED is not so accurate in controlling pitches. It can be seen perfectly in 'Ultimate Map' by SVS: 'Deviation between obtained and aimed frequency' column on TED sheet. And this deviation would be more inaccurate if we didn't use the whole 10 bits long register value. Telling the truth, it is only noticed by who has got an extremely good ear for music, but 200 bytes is not a huge quantity of sacrifice on the altar of exactitude. What's more coders usually don't save values of the 10 bit registers, but only the 8 bit increments for initializing the sound table. After all, the space of generating code and datas will be used as workplace or temporary data storing so this area can be 'recovered'."
Thanks Stinaris, as you can see what gerliczer said... ...OK I understand what you want to express, but please have a closer look at "eremgyujto" sheet of music in the picture above and tell me how you store the values IF somebody like using not only the normalized values of sound notes(?). "Eremgyujto" (Mac Coin) uses two sound channel side by side and the difference is only 4. OK I understand that it's enough to store only the first channel and adding 4 to it when playing.
But it seems a little bit AI... I am going to think about how to optimize (or compress) DATA and DB lines after converting music score.
Re: New feature of LUMYDCTT: (Music) ZackZack gerliczer sent me another private message in which he wasn't satisfied with my English translation of his thoughts. So I would like to share the original Hungarian text (because it is very important and isn't contained any secrets of private life):
"Szóval az a baj, hogy a TED nem igazán jeleskedik a hangmagasságok pontos szabályzásában. SVS Ultimate Map-jében ez nagyon jól látszik a frekvenciák eltérésének oszlopában a TED lapon. És ezt még fokozná, ha nem a teljes 10 bites pontosságú regiszterérték lenne használva. Igazán csak azoknak tűnik fel ez, akiknek rendkívül jó zenei hallásuk van, de kevesebb mint 200 bájt azért talán csak nem túl nagy áldozat a precizitás oltárán. Ráadásul még azt is meg szokták lépni a coderek, hogy nem a 10 bites regiszter értékek vannak tárolva a programban, hanem 8 bites növekmények, amit inicializáláskor használnak a hangjegytábla generálására. A generáló rutin és adatok területét meg később fel lehet használni munkaterületnek, átmeneti adatok tárolására, így ez a memória 'visszanyerhető'."
I think the Hungarian people / language / thoughts are the most complicated things all over the world.
Well, please, give me a better translation of the above text than me and I will select a valuable prize by a draw for the best one. Good Luck!
By the way, please write down how to tell "Elkelkáposztástalanítottátok" in English, thanks...
Stinaris, in that case you like thinking in hyper-ultra optimized way, so please give me the most efficient algorithm for the best sound compressing. Let's be more weird.
The 1st: indexes refer to a table of sound notes? It is not good enough, because we need store the whole 10 bit-values and indexes, too. What's more, a lot of notes cannot be available.
The 2nd: storing only 8bit-incremental values? It is not good enough, because we need the initial value (10bit) and then 8 bits... (and when the difference is bigger than 8 bit we need a new initial value, again)
The 3rd: my idea, storing the upper 8 bits? It seems good at the moment.
Do you want to play a music with 707 samples? How many different values are in it?
Nothing is impossible.
LUMYDCTT v2.8.6: - Some bugs are killed: fixing a tooltip for COLOR - Align objects when resizing window - Improving status bar messages - Thinking buttons on the toolbar
Re: New feature of LUMYDCTT: (Music) ZackZack IMO for the current state (no transpose-like effects, any freq playable, not only "standard" notes), you have to store the exact 10bit value. You need this precision for example for a floating effect when the two channels play almost the same tone.
You can build a note table from all the occurring values and use their indices in the pattern. You need an important precheck: make sure there are no more than 256 different notes in the pattern.
Re: New feature of LUMYDCTT: (Music) ZackZack It is a very nice tool to create those simlier musics we just recenlty discussed (eg. Bach - Fugue in G minor starter part). I really like the idea and the easy to use method..
On the other hand,listening to the video, I always felt this is a little off.
First I though it is due to the NOK FRQ table provided originally by C= (and not the corrected one by SVS) , but after reading the notes it became evident with 8 bit data recording, it will be always a little off, it should be. As you cannot store the exact, precise value of the notes.
Using musical notes (as suggested by some, as note tables), eg. selected by buttons on the top, but could be a small keyboard too, or a musical notes on the sheet. Could make musical sheets pretty easy to convert to it. Like this: https://www.youtube.com/watch?v=Y76uH2xu670
BTW a suggested BASIC and ASM player would be nice. For me always the biggest challenge was to keep the two channels in sync especially when there are some silence between sorry, I am not a talented musician or programmer
Re: New feature of LUMYDCTT: (Music) ZackZack Sorry for the late answer, but I was developing as usual...
LUMYDCTT v2.9.2: - Handling an exception: write letters in a number-type field - You can select "Create an index table" method for converting sound notes - Eliminating unwanted commas from DATA, DW and DB lines. - Optimizing some parts of the source code
First of all, It's a very big honour for me that some other kings of this platform (eg. KiCHY, bubis, ...) also shared their thoughts about ZackZack with me, thank you very much guys.
1.: KiCHY, because of gerliczer has also talked about index-table, so I improved the converting part and extended it with creating indices for sound notes as you can see the screenshots above. I didn't use precheck, but I created a tabe for notes (TableOfNotes) and another table for indices (IndicesAndDelays) on demand, so the converting routine is running until the number of different notes is below 256. This idea is limited (and a little bit wasting because if there are 100 different notes, we waste 100*6bit = 75bytes), but using index-table seems really good.
2.: bubis, thanks. But I hope this will be also useful...
3.: MMS, I has just read your comment... ...so I got the values of frequencies from Frequency Table, but your idea about entering sound notes by tables is very impressive. By the way, we didn't chat about how to enter sound notes, but how to store and compress the whole 10 bits of sound notes (as you can see in the pictures).
I have no any sense of music, so thanks for your responses again.
Re: New feature of LUMYDCTT: (Music) ZackZack Thank you for your quick responses!
I wanted to make the Bach music right now with your tool, but AVAST blocked your program for 30 hours or so... (sorry)
Actually if you could make MIDI keyboard input on PC possible, it would be astonishing! I have a KORG MIDI keyboard and much more easy to enter a notes with this
Re: New feature of LUMYDCTT: (Music) ZackZack Some trackers use the PC keys as a keyboard, and you press TAB to cycle the available octaves. Doesn't take long to get used to entering notes this way.
Re: New feature of LUMYDCTT: (Music) ZackZack Charlemagne: I am very dumb to music, but if one day I want to play a bit with notes I will probably use your tool, because trackers are just too complex to me. I also appreciate that you develop an IDE. This is fun for its own shake (i can imagine), but I am sure that it is also useful for some folks out there. Unfortunately I am too used to command line tools, like some cross assemblers (cc65, asl) and gnu make, so it is not likely that I will ever use an IDE for 6502 dev stuff.
Re: New feature of LUMYDCTT: (Music) ZackZack For those who don't know where 'Zack Zack' ("cak cak") comes from https://www.youtube.com/watch?v=XFH5eW_Vl1Y&t=28
Re: New feature of LUMYDCTT: (Music) ZackZack Well, I started my music, 1/3 ready
UPDATE: after saving the music in XML format, I could not load it back, it loaded back just a garbage. I donwloaded the latest version. So I lost the 1/3 music :-(
From the Zack-Zack you cannot save a LUMY file, just an XML, but seems I cannot reproduce the loading process shown on the video.
Answer: Silly me, I tried to load the XLM inthe Code part. Sorry, it was MY fault!
UPDATE2: I save it in Excel too (CTRL+C;CTL+V) and the LUMYDCTT save also works, just not pokayoke (foolproof :-) ).
UPDATE3: When you want to do THIS, you need to keep telling for the second channel still goes on for 1/16 lenght, while there is a 1/16 break for the first channel. Then it sounds as a long sound on the second channel, while you have the break on the first one.
Probably it is evident for every musician, but took some minutes for me to understand. (OFF I did not listen too much at the elementary school when we learned music theory, I though I will never need it in my whole life. I was absolutely WRONG :-) So I had to learn now how to read notes, the lenghts, the distorsion and how to decode Trilla. BTW E#4 is on the BACH sheet, while the LUMYDCTT does not know it, but certainly can be done. Unofficial note by Bach? :-D )
UPDATE4: For the later stages of BACH Fugue in G Minor I badly missing a real 3rd channel with low bass sound (does not exist on Plus/4)
Re: New feature of LUMYDCTT: (Music) ZackZack LUMYDCTT v3.0.5 - Correct frequency values via "Ultimate Map" by SVS - You can also use "DO-RE-MI" as sound notes: eg. RE#4 is D#4 on the 4th octave - A new sub-feature for ZackZack: "Insert sound notes" by a "Synthesizer" - You can use mouse and/or keyboard in "Synthesizer" - The delay is how long you hold down a key or the mouse button
Huh and WoW, what a flood of opinions... Well, let's start from the beginning, turn and turn away:
1.: MMS, AVAST is a virus, I know! Formerly, I used to try some antivirus softwares, in the end I had used Avira for about half a year because it seemed the best, not holding in performance, etc. But I also uninstalled it after detecting a virus in Turbo Vision 4 BASIC... as "TR/Agent.53475.A" Trojan: I tried to guess where was this virus and in the end turned out that was the TANgent function in Math header, so I replaced TAN with SIN/COS in vain... IMHO antiviruses are thimblerigging... ...what your AVAST has found in LUMYDCTT is only a false warning because of AVAST thinks about an application using threads (playing sound pattern) is a virus... Nowadays I have only used the embedded antivirus called Windows Defender for years and I have no any problems.
2.: MIK and MMS and CDEFGAB: thanks the new notion as you can see the pictures above I was developing something like that, you can use DRFTGHUJIKOL and SPACE keys (or mouse), you can change octave with up-and-down arrow keys (or mouse), you can change channel if you click on another column in the sound pattern.
3.: bubis, I also like command line work because I like developing under Linux and AmigaOS4.1, too. But at work people usually use Windows and LUMYDCTT is a standalone application, so it runs easily without installing. I tried it at school (on Windows 10) and the pupils like composing some noise...
4.: KiCHY, yes, this performance burnt into my mind when I was a child.
5.: MMS again. WoW you are the most active tester for LUMYDCTT I am very curious to hear your tune! What is your opinion about a composer-competition???
5a) You are very clever and I see you managed to discover how the thinking buttons are working... Yes, when you change tab (Editor/Monitor/CharPlan/ZackZack) the thinking buttons are dynamically change their functions.
5b) pokayoke, what a funny Japanese expression! LUMYDCTT can't speak Japanese!
5c) We learnt sol-fa at elementary school but at the secondary school I only copied some sheet music and learnt composers' biographies for the better mark... BUT for example I made "O SOLE MIO" in the Castaway!
5d) I am very happy that somebody is interested in ZackZack.
Developing is going on...
UPDATE: LUMYDCTT v3.1.1 - the synthesizer makes sounds as you press a note - you can select octaves by pressing from 2 to 9 numbers on the alphabetic keyboard - you can select channels by pressing 1-2-3 on the numeric keypad
Re: New feature of LUMYDCTT: (Music) ZackZack wow, a lot of nice improvements.
I downloaded the new version, and AGAIN it was blocked by AVAST. Yeah, it is a little annoying, but it will be released in few hours. I had Defender too for a long time, but my kids collected a Trojan from a Flash game site, so then I decided to invest a little, to save my remainig hair.
I did not release my music yet, as a) only half ready b) the B#3 sound was a little off with the old version and it annoyed my ears. Because it was included on the very first, slow notes, it was very noticeable, if you compared it to the real music videos. So now I will check it with the new version.
Otherwise it is already a fun, because trackers were always too compex for me (too much channles, too many instruments: now I do not have these concerns )
Re: New feature of LUMYDCTT: (Music) ZackZack Thanks MMS!
I think you have found the perfect answer for the opinion of bubis! Yes, my aim of LUMYDCTT is a tool which enables you to develope easily on this platform, easy to use, easy to understand, avoid complexity, making everything so simple, etc.
For getting this aim, I will try for implementing all the given ideas, notion.