You are here

Default Audio Editor

Hi Rui,
After working on a little project this evening, I noticed something I think would be very easy to implement, but is not yet present. On audio clips, when right clicking on them, what about adding a menu item "Edit Audio". This would load the audio file into an editor, preset by the user somewhere within Options dialog.

I only noticed this as I was needing to normalize about 10 wav files, and had to keep reloading Audacity for each track I'd add, as I discovered they were low level.

Not a show stopper by any means, just a convenience, and a time saver.

Lexridge

Forums: 
rncbc's picture

Yep, having access to an external audio sample editor would be nice and convenient in most situations.

But... there's a catch: once you save the changes made to the audio file how is it going to notify qtractor that you're done with it and thus recache the clip into session? That's the tricky part: once you change the files externally you'll start having inconsistencies that will be only cleared upon a complete session reload. Not quite seamless I say.

Unless... one might keep all external editing files booked and scan periodically for a file-system status change (eg. fstat) and thus get the clip reset on the spot. Hey... that sounds like a brand new sub-project on its own to me :D

Anyway, got this one noted.

Thanks
--
rncbc aka Rui Nuno Capela

Yes, I had thought of that even before posting the original comment. I figured notification would be a not-so-easy thing to implement, which is why I just thought after editing, I'd simply reload the audio file.

However, since you did bring it up, perhaps some type of a "Refresh Clip" item directly below the "Edit Audio" menu item that would reload the given audio into the selected clip. This completely bypasses a need for notification. Sure, it leaves it up to the user to do this, but still perhaps better than what we presently have.

Just another nickels worth of ideas. ;)

cheers,
Lexridge

Maybe Rui don't need, because Rui make it just for fun...
BUT a small donation will always help for buy some legally software, just for fun, testing or compare features..
In the TODO list to ASK, someone have maybe forget this feature too:
http://sourceforge.net/project/project_donations.php?group_id=135501

Com on guys..we have ONLY RUI that listen and create in some days our dreams...ONE less montly outside Dinner mean a lot of new fast Qtractor features...

rncbc's picture

Thanks Domenik
you are already a awesome promoter and I just hope to live worth for the praise :)
Cheers!
--
rncbc aka Rui Nuno Capela

On the topic of how to tell Qtractor to reload an audio clip that has been edited in an external program, you might look at how Cakewalk Pro Audio 9 did it. If you edited an audio clip in an external program (Soundforge), as soon as you saved the clip and exited Soundforge, Cakewalk asked if you wanted to reload that audio file. I suppose they used a semaphore of some sort to tell CW that it had changed.

rncbc's picture

the issue here is that qtractor has to know exactly when the editing file changes, not when the nominated editor process exits. i know there's plenty of options to do just that and i might think of it when i get a few more bugs squashed :)

thanks for the heads-up.

File notification is something I have noticed over the years has not been a very easy thing within Linux. Perhaps there is a good reason for it, I really don't know. Back in my Amiga days, I used to use file notification calls as often as I used toilet paper ;), and it was very easy to use within most programs, and a godsend when writing Arexx scripts. Literally, my Amiga would call my cell phone and play back any messages that were just received, all via file notification and before caller ID even existed (here at least). I did have a fancy "PhonePak" card which handled the messages, but everything else was my own custom arexx scripts.

What options are available for file notification under Linux? I have not checked recently, but surely there is something out there. One nice thing the Amiga had which Linux does not, was an Arexx port in every program released for the Amiga. All the Amiga programs I wrote were completely remote controllable via arexx. A commercial product even existed that would allow one to compile arexx scripts statically as stand alone programs ($20 bought a license for this one). Arexx allowed any, or multiple programs to be controlled via a single script. Nice stuff, and I certainly miss those features. I realize there is a Linux version of REXX available (Regina), but without the ability to control external programs, it's nearly worthless.

Lexridge

Hi,

first, it's fun to revive a 14 year old thread. :-)

Second, has the situation changed, is there hope for an external audio file editor?

Frank

rncbc's picture

still the same after all those 14 years :)

silly question to keep it in the funnzy zone: does it still matters? i mean, when everybody and the kitchen sink does audacity and nothing else?

cheers

LOL! I came here to also ask the same. This would be an immensely helpful add-on. Maybe the refresh can happen when the child process is closed?

1. In options, set path to external audio editor
2. Right click on clip to open in audio editor
3. Audio editor opens based on path to clip
4. User edits, saves, closes editor
5. Clip refreshes

On #4, if the user doesn't close editor, then any issues are on them! :D

rncbc's picture

hi,

one or both of the following must or would have to be implemented:
1. start run, track of the main child process of the editor being run and trap its termination (could be done with QProcess);
2. track the audio file being edited externally and watch for fstat's mtime changing in the background (could be done in a watchdog thread or in the main-forms slow-timer slot...);

as always patches or PR's are welcome :)
cheers

I better start learning C then! :D

scott.thomason's picture

You don't have to write your own file monitoring routines anymore, there are things like inotify/fanotify nowadays...

rncbc's picture

yeah right, but it would be a lot more simple to monitor it internal and periodically (eg. via pretty standard old-POSIX fstat()) while the external editor QProcess is up and running and close it when it terminates (you'll have to watch for the process anyway, so using inotify/fanotify might look overkill :)

thanks anyway

rncbc's picture

or better yet, Qt/C++ :)

Hi, reviving a revived thread here! I kind of found what looks like a workaround to this edit in external editor thing. 1. Drag and drop a file from the file window into the editor of choice. 2. Edit and save with the same filename, actually replacing the original one. 3. V1 If its only a clip, edit clip, change the path, like removing a letter, put it back. OK and the file gets recashed. 3. V2 If these are multiple clips pointing to the file, click on the file window file, it will highlight all the files containing the file. Shift-click on the editor, Del to delete all of them, Undo do to get them back. The internal data will be updated but the wave representation not. When the session is restarted, it will update waveform representations though. It would be super useful to get that refresh button though. Well hope this helps someone.

If you look closely, logging out and back in is just 5 clicks.

1 Save
2 Close
3 Open
4 File
5 Recent/Your last session

I think closing and opening gives the impression of being more cumbersome than it really is.
Maybe due to psychological factors.

I think renaming and multiple selections can lead to unintentional errors. Plus they end up being more than 5 steps and more complex.

Anyway, I appreciate that you shared it, because knowing new ways of doing things is always useful.

I also appreciate that you revived the thread because it conveys the positivity and energy in 2008 when I suppose Qtractor was still a promise. I have been using Qtractor since approximately 2016. More intensively the last 5 years.

Today it is a mature reality. Although it has its small peculiarities, such as not automatically updating an external audio edition, the general approach of the application more than makes up for it.

By the way, this functionality in Linux is even more difficult. I say this because the only editor with advanced functions is Audacity. And this does not allow you to save an open audio, but rather to export it, which complicates the process even more.

First of all, sorry for the bad formatting on my previous message.
Yeah it's true, it didn´t crossed my mind to close and open again, thanks for the trick!
As for the wave editor, I'm rocking Wavosaur though wine flawlessly, it's beast indeed, not open source though AFAIK (sadly), but let's you open and save wav files.

You're "rocking" freedom-restricting software? Is that what you're telling yourself? LOL.

Well yes, that's what I say to myself :).
Anyway, a really nice feature would be to an item in the files window that would let you recash the clip, including updating the wav representation, but you know, close an open workflow is tolerable. Thanks.

I remembered that Ocenaudio exists.
https://www.ocenaudio.com/download

I assume you know it.
I never gave it a chance, because I was used to Audacity's workflow and Oceaudio's is very different.

Thanks to your approach to the need to edit the audio outside, I have installed it. The truth is that although it seems strange to me, it has advanced tools and access to the functionalities from the interface that is more sophisticated and modern than Audacity.

The times that I need to edit external audio is to correct breathing when singing, noises between silences. Small things that sometimes out of laziness I don't even edit.
However, the flow you propose of dragging the wav from Qtractor to the audio editor, editing and saving looks friendly and comfortable.

Oncenaudio does allow it, so I'm going to give it a chance.

PD:
Wavosaur looks very powerful, but I have decided to abandon Wine, even VTS.
Thanks anyway for making the tool known.

I thought Ocenaudio was free software, but it is only freeware.

So the best option I have for editing audio is Qtractor itself.
We can edit fades in, fades out, insert silences, pitch and tempo, etc.
Then, if we want, apply merge. Now we have the new audio edited and compacted as in an editor.
If we need the wav to replace another one, close and rename the file.

rncbc's picture

and then, you can also use Track > Track Export > Audio... for profit, if you wish to apply some plugins fx to the result ;)

in fact, the use case of an external audio file editor is way far and kinda overrated: these days there's no wonder some long established and praised editors--read audacity--are progressively becoming much like a brand new DAW/sequencer and then blurring its dang former original mission.

cheers

True, export.
This way you can even replace the wav without renaming.

Qtractor is a fully functional "audio editor".
(There are times when the solution is in front of us and we don't see it. Maybe because of workflows learned from others, or maybe because each tool is supposed to be for a different thing and, as you say, the boundaries are becoming more and more diluted. )

The only thing missing is "invert audio". If I ever need it I can use kwave.

Greetings.

This way you can even replace the wav without renaming.
Hello, I tried this export procedure. In my case, the audio gets update, but the waveform does not change. Maybe my explanation was not clear enough, but you don't need to rename the file. Just edit externally, and in the properties of the clip, edit the name, remove one letter for example, and add it back so that the ok button gets enabled. Pressing ok will trigger the update.

Qtractor is a fully functional "audio editor".
(There are times when the solution is in front of us and we don't see it. Maybe because of workflows learned from others, or maybe because each tool is supposed to be for a different thing and, as you say, the boundaries are becoming more and more diluted. )

Here I beg to differ, and please, correct me if I'm wrong (I'd love to). But for sample editing, it's quite lacking sadly. For instance you cannot zoom close enough to solve several issues, nor can you chop up a sample with the required precession. I don't think it is its job, this is a capable sequencer, but it's lacking in this regard, which actually, I don't feel its a problem at all, if it is easy to mess with waves externally with a wave editor, kind of unix philosofy here.

Each person needs different things. For what I need as an "audio editor", Qtractor delivers 99% of the time.

The Zoom thing, you're right. Qtractor's zoom may be short for certain audio edits.

I have been testing with an external editor, and the audio is updated.
I thought that Qtractor loaded the wav files into ram, but apparently it loads them from the hard drive, so the update is guaranteed.
I don't know if this is always the case, but in the tests I have carried out there is always an update.

So the problem is not in the audio update, but in the update of the waveform representation.

At this point and although closing and opening is functional, perhaps it would be interesting to add an option to "Refresh waveforms" to the "Files" window.
Possibly the place is the right mouse click menu.
Upon reviewing, I realized that there is a "Rename" option in that menu that is not functional. It was probably an old function that no longer made sense.

Maybe removing that "Rename" and instead a "Refresh Waveforms" would make sense. I know that if Rui sees it he will end up implementing it. If not, well, close and open :).

rncbc's picture

on the Files pane, the "Rename" option applies only to groups (folders) and never to file items.

br.

If the command were called "Rename Group", and appeared below "Group" as its own section, I believe it would reduce the risk of confusion.

File attachments: 

Your process proposal (delete>undo) has given me an idea that may be implementable.
It is an intermediate solution. Something similar was already proposed above.

I don't know what Rui will think.

If delete>undo updates (restore) all selected files, it means that it is possible to update files in bulk.

The panic button is used to restore midi events. It could also be used to restore audio and midi files.

It would not be necessary to add more buttons to the interface, simply extend the restore (panic) functionality to the files involved in the session.

This would simplify the process to 1 click, instead of 5.

I withdraw the idea. What would happen to unsaved files? They would be restored and progress would be lost.

I think I should count to ten before I write. :)

Also note that most of the time I present a possible functionality, I am not even requesting that it be implemented.
(When I request it I indicate it clearly).

In fact sometimes it's things like this that I barely use, or don't use at all.
I just enjoy proposing possible solutions.

Closing and opening the session is perfectly functional.

Add new comment