soundcomp-develop Mailing List for SoundComp (Page 4)
Status: Pre-Alpha
Brought to you by:
jssr67
You can subscribe to this list here.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(32) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
(23) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(7) |
| 2011 |
Jan
(10) |
Feb
(1) |
Mar
(5) |
Apr
(6) |
May
(3) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
|
From: Richard S. <ric...@ma...> - 2009-12-28 21:22:34
|
Hi all, I've installed everything on Mac but when I do the build, although I get the SoundComp.jar file, I do not get "Debug/libSoundCompC.dll. Any ideas? Rich |
|
From: Richard S. <ric...@ma...> - 2009-12-28 19:33:23
|
Does anybody know how to get a Word style to be a hyperlink? I follow the instructions in my Word book for making hyperlinks but it doesn't seem to work on Mac. Plus, I can't seem to find any way to tie it to a style. Rich |
|
From: Richard S. <ric...@ma...> - 2009-12-28 19:18:39
|
Hi Guys, Here is a first draft doc for installing on Mac. Anybody have a mac to try it on? |
|
From: Richard S. <ric...@ma...> - 2009-12-28 18:30:40
|
Hi All, I've been able to install Eclipse on the Mac, install the C/C++ tool chain, checkout the SoundComp files and build. The build apparently went without error except that, although it created the SoundComp.jar file, it did not create Debug/LibSoundCompC.dll Consequently, the test runs all failed. Any ideas? Thanks rich. |
|
From: <js...@ya...> - 2009-12-28 18:11:28
|
This is some general information for you all, and a "call to arms". As you might have already understood, SoundComp consists of 3 main parts (the rest is expected to be almost negligible right now): (1) Signal processing (2) Language parser (3) Control logic (1) is relatively straightforward. Large parts already exist. It is not necessary that all team members understand the mathematical backgrounds of digital signal processing, so I will not go further into that unless someone is picking something from there to implement. A basic concept is that each algorithm is encapsulated in a "ProcessElement" object that fulfills the following basic logic: It offers an unlimited number of inputs (data destinations) and outputs (data sources), depending on the algorithm Its input and output properties can be queried (with countable few exceptions, being mixers and wave files). It has a method for setting the sources connected to its destinations (i.e. where does the information for its inputs come from). This method is called for assembling the logical structure of the whole process. During processing, each ProcessElement gathers the information it needs on its own, without the assistance of any controlling instance. When everything is connected, all ProcessElements are collected in a so-called AdvancerRegistry. This entity takes care of proceeding from one sample value to the next, it calls the advanceState() and advanceOutput() method of all elements in a random order. The order does not matter for the result since first all next-sample outputs are calculated without propagating the information, so all value queries still are based on the previous sample value. After that, all states are propagated to the element outputs atomically. This procedure is more or less consistent for all types of ProcessElements, so neither ProcessElements nor the AdvancerRegistry need any information about the types of the connected objects. The source and destination data can be of different types: - constant numbers - number streams (i.e. numbers that change from sample to sample, without fixed limit) - number series (a collection of numbers with a well-defined finite count) that usually do not change from sample to sample - complex tables (a table with an index and up to two numbers (real and imaginary part) associated to each index key). If the index is numeric, value query may interpolate if no value is defined for the exact key. The index may as well be a piece of text, no interpolation is then carried out. There is already a structure layed out that allows for implementation of ProcessElements in either Java or C++ and the connections work also cross-language. Mostly, it is easier to get something running in Java, in the long run we will probably port almost all of this to C++ for performance reasons. (2) Here some definition work is in progress and I hope to get some input, mainly from Uri. The language should be extremely flexible and still easy to use. That means we should have meaningful defaults everywhere, but should be able to change every parameter at any point in the piece of music. Also, the language should be easily extensible. Since we will insert more and more ProcessElement types, adding those should not touch the basics of the language too much. The element that I am going to define first are scales. The default will be the ubiquitary well-tempered 440Hz based scale with note names as A1, c#5 and the like. But the user will as well be allowed to use note names like "do, re, mi, fa, sol" and assign any base frequencies to those. It is even possible to have for example g-flat and f-sharp being different notes, as they really are in natural scales. Only the welltempered scale unifies this kind of note pairs. Then we should define how to write melodies and chords. Again, it should be extremely flexible, that is, of course the self-defined notes should work as easy as the predefined. And it should be easily possible to alter tempo and rhythm everywhere. The user should not be limited to a certain number of note lengths, but virtually everything should be possible here - but the "regular" power-of-2-based values again should be easy to write. After that, we need a way to specify sounds, instruments etc. Basically, this is a way of writing how to connect the different ProcessElements and provide them with parameters. Also, these parameters (as much as technically possible) should be able to change everywhere within the piece of music. I consider that part of the language to be the easiest to specify. I have the idea to have SoundComp being extensible by external signal processing modules as an addition to the ones compiled in as standard without recompiling SoundComp. This also means that accessing ProcessElements may need a very generic syntax, so adding modules does not require a language/parser change. Such a module would then consist of a .class/.jar file and a .dll/.so, just like SoundComp itself. What already has been implemented to a large extent is the preprocessor. It works similar to the preprocessor of the C/C++ language: with (at the start of a line): - #include, it is possible to insert external files into the compiled text - #define, it is possible to specify a text template that can be reused later on as a kind of abbreviation. These templates (macros) can have parameters whose values can be specified on use. - #undef, it is possible to forget a previously defined macro. A macro can never be redefined in a context where it is already defined. - #ifdef ... #else ... #endif, it is possible to use a certain part of the text only if a certain macro is defined. #ifndef does the exact opposite. With these preprocessor commands, it is even possible to conditionally include different sound libraries (as an #include between #ifdef and #endif is also subject to the condition). Not working right now, but planned is: - #if <expression> ... #else ... #endif, it is possible to use a certain part of the text only if <expression> evaluates to anything else than undefined or zero. The preprocessor will need an intensive code review as the code quality is less than what I'd like, but I keep that for later as I am glad it works and want to do other stuff first. (3) is probably the most sophisticated part. Here also, I am glad for ideas. The parser will provide a whole bunch of instrument and effect processes, and a set of events (note on, note off, parameter change), maybe already with associated time stamps. The control logic will have to consecutively call AdvanceRegistry.advanceAll(). When certain timestamps are reached, events must be fired. Here it will become complex, as these events may have numerous consequences: voices and instruments and other processes being created or terminated from the templates that the parser provides etc. This is probably the point where we will spend the most thoughts and hopefully discussion. I have some basic requirements for this, too, but let's do some parts of the language first. I hope not to have confused you all... best regards Jan __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-28 10:37:17
|
Noryb009 has severe performance problems; his execution times are about 10 times of mine, despite his pc being almost comparable to mine. I would like to see if others have similar problems. Mine are about 4-20 sec per one of the 8 test routines, and a total of about 80 secs. His sum up to about 15 minutes.I am completely clueless to what the reason for this difference is. To make it more complete: If Java is installed corretly (i.e. .jar extension reguistered to start java), and the .dll is in the same folder as the .jar, double clicking the .jar should start the tests, too. There will be no visual feedback, but you will notice it consumes CPU time, and if you deleted the .wav files before, they should be recreated. This way of starting removes the need to have eclipse running at the same time. This may or may not make a difference for you. Of course, I do NOT recommend this as a regular way of running it right now, for the lack of feedback. Sure I will change the main procedure of Soundcomp to include a bit of visual feedback, so the user really sees something is going on. But probably not this year ^^ Jan __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-28 10:22:38
|
I gave all active members release tech status. You all should now be able to upload files to the sourceforge project under develop/project admin/file manager I already created a documentation folder there, it is still empty. The user interface for this is, in my opinion, not really intuitive, but I think you will manage it, when the need arises. I did this mainly because if we have any documents that are to be available to the audience, they will most likely to be searched and seen there. For collecting the information, I suggest to continue to use wiki. When a document is mature, it should be copied to a .txt, .pdf or .html file (whatever suits the needs best, but please no office documents of any kind), and uploaded to the file manager. Also so when there are relevant changes that should be published. It is too early to do any of this now, I just want the infrastructure to be prepared :-) Regards, Jan __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-28 07:01:24
|
OK so you can play 32bit floating point .wav files. The one that does not play is a 64bit double precision one; that is SoundComp's internal format. Audacity can read, display and play them, Windows media player and VLC cannot. I am still puzzled why it runs so slowly on your machine. It is normal for Soundcomp to draw 100% CPU (actually it is number crunching without taking breaks), but it shouldn't do that for such long times on these simple tests. I measured it and got testTS1 13.5 s testTS2 7.21 s testTS3 3.2 s testTS4 4.6 s testTS5 4.17 s testTS6 8.5 s testTS7 22 s testTS8 13.7 s so, roughly 10% of yours. 1.5 GB should definitely suffice. There must be a different reason for your computer being so slow at it, but at the moment I run out of ideas why. As it stands, I would not expect a .exe version to help you then. From your numbers, I would have expected you to have a total 256MB or at max. 512 MB RAM - in these cases, running without eclipse would be beneficial. Not at almost 500MB of _free_ RAM. I take this to the list;maybe others can give their experience how long the tests run on their setup? ________________________________ Von: Luke L <nor...@ho...> An: js...@ya... Gesendet: Montag, den 28. Dezember 2009, 2:52:55 Uhr Betreff: RE: AW: AW: AW: me stupid... I just played all 14 files (is that right?) and all of them played, but not hilbertsweep_d.wav, it's 2,116,884 bytes. -noryb009 ________________________________ From: nor...@ho... To: js...@ya... Subject: RE: AW: AW: AW: me stupid... Date: Sun, 27 Dec 2009 20:25:11 -0500 Yes, I stopped the test before it was done, so I got a part of a file. My system: Win XP 3.2 GHz Intel Processor 1.5 GB RAM Nothing open (only firefox + anti-virus, ect.): 5% CPU Usage 725MB RAM Usage Opened eclipse (with workspace open, doing nothing): 5% CPU Usage 835MB RAM Usage Running test: Immideatly: 100% CPU Usage 890MB RAM Usage eclipse.exe using 110MB RAM, 0% CPU javaw.exe using 28MB RAM, all unused CPU During 7th: 100% CPU Usage 931MB RAM Usage eclipse.exe using 120MB RAM, 0% CPU javaw.exe using 60MB RAM, all unused CPU Right now, it is working :) I just logged off, so I don't know what happened. testTS1 (189 s) testTS2 (96 s) testTS3 (37 s) testTS4 (39 s) testTS5 (37 s) testTS6 (87 s) testTS7 (287 s) testTS8 (136 s) total: 15 min (may not add up right, I used a different stopwatch for this) ________________________________ Date: Sun, 27 Dec 2009 16:49:09 -0800 From: js...@ya... Subject: AW: AW: AW: me stupid... To: nor...@ho... Ok, it seems your computer is a bit overpowered by this. Mind that it's not only SoundComp, but SoundComp inside all this eclipse stuff. Under these cirumstances I rethink the priority of an external .exe - so that you can run soundcomp alone, without the eclipse overhead. On my PCs (2.5GHz AMD dual core, 4 resp 8 GB RAM), it takes a few seconds for all 8 tests. Some of the .wav files are 32bit floating point stereo files. On my XP-x86 as well as my XP x64 they play fine, but chances are that at least older windows cannot play this from start. There are also tests that produce "old-fashioned" 16 bit fixed stereo .wav files. The 880HzSaw actually IS one of the 16bit-stereo files that media player should play out of the box. The size would be exactly 882.046 Bytes. Maybe you interrupted it prematurely (because yours is much smaller) and now have a corrupted file. Can I get some information about your hardware/software enviromnent? I would assume the main problem might be RAM size - eclipse as many java programs being quite consuming in that respect. A standalone SoundComp tester could definitely help. My eclipse draws between 200 and 500 megs of my RAM - but I have between 4 (x86) and 8 (x64) gigs on my machines, so that does not matter for me. Maybe you can open your windows task manager and look what is consuming RAM (there are optional columns that show per-process RAM consumption in the process list view). Unless your CPU is extremely slow, I would not consider that the main problem, even on <1 GHz you should get the tests completed in a minute if sufficient RAM is available. Nevertheless, I will spend some thoughts about getting a starter executable integrated in the project to help in such cases. Just don't expect it to be there tomorrow or this week, but it WILL come soon enough, I will not forget about it. There may be others that have the same problem, so it must be addressed in a general way. Jan ________________________________ Von: Luke L <nor...@ho...> An: js...@ya... Gesendet: Montag, den 28. Dezember 2009, 1:19:58 Uhr Betreff: RE: AW: AW: me stupid... Right now I have been running it for about 2 min. with it using all of my extra CPU, I ended it. I got 1 file, 880HzSaw.wav, which is 197KB (is that the right size?). When I open it with Windows Media Player, it says it can't play it. -noryb009 >>>>>> longer error search disussion snipped __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-28 06:46:25
|
Updating files: Technically that means looking on the sourceforge server for files you do not have (remember you deleted some) and (re)transferring to your copy. The same process is carried out for propagating changes to your copy, when I check them in after they work for me. (windows) in tortoise(explorer), right click on the process folder, there is a menu entry for that. (mac, linux) we will have to find out. There definitely exist useable command line clients for these systems, but a GUI version would probably make it easier for you and other mac/linux users. ----- Ursprüngliche Mail ---- Von: Richard Shinn <ric...@ma...> An: SoundComp developer mail <sou...@li...> Gesendet: Montag, den 28. Dezember 2009, 1:26:34 Uhr Betreff: Re: [SoundComp-Develop] important instruction in Getting Started added Ok. Done except for updating the files. I don't understand what you mean by this. How do you do this? Rich On Dec 27, 2009, at 3:07 PM, js...@ya... wrote: > *.launch,.svn,.svn/ ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ SoundComp-Develop mailing list Sou...@li... https://lists.sourceforge.net/lists/listinfo/soundcomp-develop __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-28 06:41:48
|
Hello Rich, > Apparently, there is no MinGW for Mac. So, g++ has to be installed some other way and I could not figure out how to do it or which product to download from where. Right. The "W" in "MinGW" stands for Windows. So you need another Gnu C++ toolchain. I'm almost sure eclipse/mac CDT should support that then. Although I have no information on that then. Should it be the case that there is no eclipse CDT for mac, then we might have to describe a different development process for mac - doing Java, JFlex, Yacc in eclipse and C/C++ in some other tool. We lose simplicity by that, but it would definitely work. > Also, apparently, Tortoise SVN does not have a port for Mac. So, I'm not sure what to use there. Anyway, I was not able to import the source into the Mac version of Eclipse. Does that make sense? Any subversion client for Mac should do. http://www.rubyrobot.org/tutorial/subversion-with-mac-os-x and http://www.lachoseinteractive.net/en/community/subversion/svnx/features/ could be starting points, just by google search and by no way a recommandation since I have no experience there. It should be possible to use the mac version of eclipse, regardless whether you checked out the sources from Mac or Windows. > I was able to build and run a simple Hello World on both the PC and Mac. So, I've got the very basic fundamentals down. That's not too bad a start. I'm afraid I can only help you on getting the project into Mac Eclipse from some error messages or the like that you forward to me so I can guess what goes wrong; as you know, I cannot try myself for lack of access to such a machine. > I have some experience with Lex and Yacc although it has been quite a few years and I don't remember much of the details. What I do remember is that Lex parses tokens and passes the tokens to Yacc which determines where each token fits into the grammar. Then, when it completes a rule it outputs compiled/translated code. I wrote a C compiler once years ago. So, I'm thinking in terms of outputting assembly code. I took a look at your tokens and grammar but don't begin to understand what the input and output are. I'm having difficulty imagining how a stream of data is similar to a language that can be tokenized and then parsed into a grammar. You're a bit off here. SoundComp, when finished, translates an input text into one or a set of output .wav file(s). The output is not a program but a data stream, the input is a "program-like" description of what the data stream has to sound like. In that process, additional sound data may or may not be used as input, but this will not be routed through any lex/yacc parser - although this would technically be possible, since these tools by no way are restricted to human-readable input languages, but it is hard to imagine what such a parser should do. > But, I'm having difficulty imagining how a developer using the product would differ from an end user using the product. Perhaps the developer creates the actual filters and then provides a canned set of filters to the end user? Can the end user define their own filters? A developer would use this library to create his own sound generating or processing library. Therefor, he needs to know which programming interface(s) SoundComp offers to achieve this. An end user is not interested in programming interfaces. He needs an application to start and information on which kind of source information he has to provide to get it run. That means an end user needs more than just the library, we would have to provide at least a minimal example of an application using the library for an end user to be able to do anything with it. Which is scheduled for the time when the library actually can do anything more than produce internal test output. If used as a "filter", which is possible, yes, users can define their own. > In terms of documentation, I'm imagining one set of docs for developers and a second set of docs for end users. It sounds like, at this point, we should be focused on the developer documentation. That is right. But large portions of the developer documentation and the end user documentation share the same information - the description of the language the library understands and translates to sound information. What is also needed is SoundComp internal programming documentation that describes how it works internally. It is an open source product that people like to be able to understand and extend, and not only see as a black box. I know much of thishas to come from my hands for the time being, but that fact is likely to change, the more all team members start understanding internal structures of SoundComp. The SoundComp library actually contains of a set of completely different construction areas: (1.) A Scanner/Parser for the controlling language (2.) A set of signal creating/processing modules (3.) A processing controller that takes the information from (1.) and uses that to connect instances of (2.) to create a process that produces the desired output. What we have right now is an incomplete subset of (2.) that is already sufficient to create complete synthetic sounds, and what is tested by the test examples to see that it works. (1.) is just in the process of being implemented and designed. This has not necessarily to be done in one large step; intermediate language design and implementation steps may be achieved that can be tested and used - and documented on the way. > Before I can do much of anything, I need to get a better idea about what the product can do and how to use it so that I can practice actually using it and playing around with it to see what it does. How do you suggest I start this process. Of course I can import the source files, build them and listen to the generated .wav files. But, I don't really understand what has been done. Can you map out for me an initial set of steps I might follow as though I were using the product in the way that an engineer or end user would use it? We will have this knowledge transfer step by step by you all getting into it. For the first step, as pointed out, we need a better developer documentation - the "getting started" is one important portion of it. Noryb009 will take care of improving the windows version, and you could take over completely the mac (and maybe linux) version once you have the process for it ready. When you have that ready, I hope to have enough progress on the language side to hand out the next "jobs". Usually I will give you information in a quite "informal" way, through the necessary discussion to make clear what I mean, and you can "translate" that into something that could be worth calling a documentation then. The more you learn to understand what I am doing, the more independent from my permanent intervention you could get doing this. >Oh. Sorry. Should I actually post this to the group? Yes, please. I take the freedom to answer there. Best regards Jan __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: Richard S. <ric...@ma...> - 2009-12-28 01:26:47
|
Ok. Done except for updating the files. I don't understand what you mean by this. How do you do this? Rich On Dec 27, 2009, at 3:07 PM, js...@ya... wrote: > *.launch,.svn,.svn/ |
|
From: <js...@ya...> - 2009-12-27 23:52:03
|
http://209.85.129.132/search?q=cache:c7PYoRY6UnMJ:www.arkkra.com/+mup&cd=7&hl=de&ct=clnk&gl=de&client=firefox-a So google cache still knows it and I assume it has not been dead for long. Probably just a service interruption. C:\Dokumente und Einstellungen\Draconia>tracert arkkra.com Routenverfolgung zu arkkra.com [64.108.225.202] über maximal 30 Abschnitte: 1 <1 ms <1 ms 30 ms router [192.168.15.1] ... 13 135 ms 141 ms 130 ms arkkra.com [64.108.225.202] So the server is still reachable. Just the apache is not running on port 80 on that machine. Even their mail server is running (I tested). Good night, it's 1 am here and I have to get up in the morning. Hope to read from you all tomorrow Jan __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-27 23:16:45
|
I didn't know arkkra.com went out of service. Too bad. But the domain is still registered, maybe they are just under maintenance. Their project is definitely worth surviving. __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-27 23:07:56
|
There was an important piece missing, that I just discovered that I had forgotten about: In Eclipse, go to "Window"/"Preferences"/"Java"/"Compiler"/"Building". Under "Output folders", in "Filtered Resources", enter "*.launch,.svn,.svn/" without the quotes. See that "Scrub output folders when cleaning projects" is checked. Please, those of you who already have a build environment, do this on the next opportunity. Then, delete the whole bin/ folder from the file system and re-update the files. Failing to do so leads to the java compiler copying wrong files to the target directory, which may confuse subversion afterwards (this is why you must delete the stuff if it has already been copied). I hope nobody gets problems with his working copy through this. Regards Jan __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: Uri Even-C. <ur...@sp...> - 2009-12-27 21:53:50
|
Hi Jan, OK, no problem. By the way, I tried http://www.arkkra.com/ but it's not working. Uri Even-Chen Mobile Phone: +972-50-9007559 E-mail: ur...@sp... Blog: http://www.speedy.net/uri/blog/ On Sun, Dec 27, 2009 at 11:45 PM, js...@ya... <js...@ya...> wrote: > Hello Uri, > > I have no intention to build printing support into SoundComp for the time being. > > This has basically two important reasons: while SoundComp uses the well tempered scale by default, this is just one out of endless options since the language allows for completely redefining scales and note names. Also, I plan to make the language flexible enough to completely leave the "bar/stroke-rhythm-scheme" if necessary (while it of course will stay the default for entering songs since almost all musicians are used to think that way). To make such a piece of music printable, we also would have to define within the language how such monsters then would have to print since there is no standard for how it would have to look. I just think that would be too much, at least for the start. > > The same problem goes for MIDI export. Here, I could live with some restriction since MIDI does not offer as much flexibility as SoundComp provides anyway. So we could say MIDI export is only available unless you redefine scales. Actually, MIDI would probably mostly reflect the note events, but nothing from the sound definitions, so the MIDI export would miss most of what is written, but could be of some use and at least give a slight impression of what is written. Also the rhythm problem for printing is nonexistent in MIDI. So this part of what you think is a different project might come to life in SoundComp later on. Since you help in language specification, you may consider that from start^^ > > For Non-Free software, I used to play around with 'mup' long time ago (http://www.arkkra.com). This music printing software by then looked promising, although much that I needed (e.g. polyrhythmic/polytempic, complex n-tuple structures) was not really achievable, but it should have grown more flexible since then. Actually, by then it was still (IMHO) the best plaintext-to-scoreprint converter available. And it was try-before-buy and not too expensive - I actually thought about buying it many years ago, but never did since I never came really to using it. > > > Jan > > > ----- Ursprüngliche Mail ---- > Von: Uri Even-Chen <ur...@sp...> > An: "js...@ya..." <js...@ya...> > Gesendet: Sonntag, den 27. Dezember 2009, 22:00:25 Uhr > Betreff: Re: SoundComp > > Hi Jan, > > Thanks for the explanation. I remember when working on my automatic > composition project, about 10 years ago, I used a program called > NoteWorthy Composer ( http://www.noteworthysoftware.com/composer/ ). > It allows you to write music in a human readable form, and then play > it by using the software, export it to MIDI or print it. By the way, > it might be worth writing such a software as free software (with open > source), because this program costs money. This is another idea for a > project in sourceforge (not related to your project). > > I read your mail to the developers mailing list. Let me know if you > want me to write to the list (and not to you personally). > > Uri Even-Chen > Mobile Phone: +972-50-9007559 > E-mail: ur...@sp... > Blog: http://www.speedy.net/uri/blog/ > > __________________________________________________ > Do You Yahoo!? > Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. > http://mail.yahoo.com > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > SoundComp-Develop mailing list > Sou...@li... > https://lists.sourceforge.net/lists/listinfo/soundcomp-develop > |
|
From: <js...@ya...> - 2009-12-27 21:45:26
|
Hello Uri, I have no intention to build printing support into SoundComp for the time being. This has basically two important reasons: while SoundComp uses the well tempered scale by default, this is just one out of endless options since the language allows for completely redefining scales and note names. Also, I plan to make the language flexible enough to completely leave the "bar/stroke-rhythm-scheme" if necessary (while it of course will stay the default for entering songs since almost all musicians are used to think that way). To make such a piece of music printable, we also would have to define within the language how such monsters then would have to print since there is no standard for how it would have to look. I just think that would be too much, at least for the start. The same problem goes for MIDI export. Here, I could live with some restriction since MIDI does not offer as much flexibility as SoundComp provides anyway. So we could say MIDI export is only available unless you redefine scales. Actually, MIDI would probably mostly reflect the note events, but nothing from the sound definitions, so the MIDI export would miss most of what is written, but could be of some use and at least give a slight impression of what is written. Also the rhythm problem for printing is nonexistent in MIDI. So this part of what you think is a different project might come to life in SoundComp later on. Since you help in language specification, you may consider that from start^^ For Non-Free software, I used to play around with 'mup' long time ago (http://www.arkkra.com). This music printing software by then looked promising, although much that I needed (e.g. polyrhythmic/polytempic, complex n-tuple structures) was not really achievable, but it should have grown more flexible since then. Actually, by then it was still (IMHO) the best plaintext-to-scoreprint converter available. And it was try-before-buy and not too expensive - I actually thought about buying it many years ago, but never did since I never came really to using it. Jan ----- Ursprüngliche Mail ---- Von: Uri Even-Chen <ur...@sp...> An: "js...@ya..." <js...@ya...> Gesendet: Sonntag, den 27. Dezember 2009, 22:00:25 Uhr Betreff: Re: SoundComp Hi Jan, Thanks for the explanation. I remember when working on my automatic composition project, about 10 years ago, I used a program called NoteWorthy Composer ( http://www.noteworthysoftware.com/composer/ ). It allows you to write music in a human readable form, and then play it by using the software, export it to MIDI or print it. By the way, it might be worth writing such a software as free software (with open source), because this program costs money. This is another idea for a project in sourceforge (not related to your project). I read your mail to the developers mailing list. Let me know if you want me to write to the list (and not to you personally). Uri Even-Chen Mobile Phone: +972-50-9007559 E-mail: ur...@sp... Blog: http://www.speedy.net/uri/blog/ __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-27 18:36:23
|
...I am glad you all made it here. I think this here is just easier as sending personal mails to everyone when anything is that everyone should notice. I am thinking about moving to another wiki provider, as writing in the wiki sometimes is so slow that afterwards I get virtually disconnected from sourceforge for a while. It is not a matter of my internet connection (6MB/s) and I do not experience this elsewhere. If anyone has an idea, suggestions are welcome. I still think a wiki is a very adequate means of generating content, but it should be useable without disruption. I noticed that one or the other of you already tried (with different levels of success) to get a build environment running. As result of this, we will already get the first of the yet missing documents :-) and I hope to have everyone have a running SoundComp in his build environment. On the way, some of us (me including) will at least have learnt something aout the tools, which is valuable anyway. So, in the future, unless you really ask something personal, I suggest we all try to use the mailing list. There is always a chance that someone you wouldn't have asked directly, can give a good hint. More permanent results of discussions can then be transferred to the wiki, we all should have editor access there and everyone is invited to write, that's what wikis are for. So let the discussions start :-) Jan __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |
|
From: <js...@ya...> - 2009-12-02 11:17:46
|
The pitch shifter turned out to be a little beast. But now it is running, with a few limitations: It will absolutely fail on extremely high (>samplerate/4) base frequencies (producing noise), and on everything below 40 Hz (producing glitches). Since both are relatively unusual use cases, I just decided to spend a 40Hz high pass input (mainly to avoid being confused by a static imput offset) and leave it as it is. It can not get more than 2 octaves down or one octave up (which is already much...). Since the high pass does not cut everything below 40 Hz completely off, there is still a chance that very low frequency components make it produce glitches. I think we can live with that. I have not yet implemented the covariance detection variant yet as the "rising zero crossing" variant was already good enough at least on the test tones. Should future tests prove that this algorithm is too bad for signals more irregular, it should be fairly easy to insert that other variant into the existing code. I expect it to be much more resource intensive though. Now I will go on with the envelope generator (regular ADSR). After that, we already should be able to produce test sounds that at least to a certain extend remind of something like music :-) - our present test sounds just sound like what they are, tests. How is progress at your side, have you been able to get a build environment set up and check out the current sources? Is there any input from my side that may help? Have a nice day, here, today is probably the only day almost free of rain for this week... Jan __________________________________________________ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com |