Categories
Bug

An intricate audio puzzle

Since I moved to Windows 8, I am having multiple and increasingly annoying issues with my audio setup for computer-assisted music creation. I am slowly reaching a dead end that will force me to give up on creating music. At best, I will only be able to play some beats for fun with hardware synthesizers: no way to record, mix, apply effects etc., no way to ever come up with a full end-to-end song, just repeated audio patterns.

Initial setup

Here is my configuration:

  • Intel Core i7
  • 16Gb of RAM
  • 240Gb SSD
  • 1Tb HDD
  • M-Audio’s Fast Track Pro
  • (About to become infamous) Ableton’s Live 9.1
  • Infamous Windows 8.1

The M-Audio interface is accepting input from two TRS jacks. I was usually plugging the output of my Korg’s EMX+Kaoss Pad during session recording. The interface also has S/PDIF input that I was using to feed in audio from my Novation’s UltraNova hardware synthesizer. This trick allowed me to record four separate tracks with that otherwise stereo-only interface. Sound is output to two KRK audio monitors.

During a few months, this configuration worked correctly. However, from October 2014, things started to misbehave in multiple random ways. I initially thought this was because of my UltraNova, but problems persist even if I uninstall UltraNova’s drivers and unplug it from USB.

Here are the issues I am facing with the setup:

  • Some recording sessions go well, but after I close Ableton’s Live, turn off my devices and shut down my computer, Windows is stuck in a loop, incapable of completely turning off the machine. Screen remains black, computer fan continues spinning. Problem can happen if I leave the audio interface plugged and turned on, or if I turn it off.
  • Sometimes, sound has an incorrect pitch. There seems to be a mismatch between audio frequencies: Ableton’s Live sends 44.1kHz while audio interface plays at 48kHz. There is no solution, except repeatedly unplugging and plugging the audio interface from a USB port, try in another port, until it works.
  • Sometimes the M-Audio driver goes corrupt and cannot play sound anymore except through ASIO using Live. When this happens, I have to completely uninstall and reinstall the driver.
  • A few weeks ago, my UltraNova started to sound awfully distorted when sound was going through S/PDIF. Worried, I tried hooking up the synthesizer to my home theater AV receiver, through S/PDIF of course, and sound was super clean. Problem is thus caused by the M-Audio interface.
  • The behavior is different but incorrect on Linux: S/PDIF sound goes out distorted unless I lower my UltraNova’s volume to more than the half. Under Windows+Live, distortion happens at that volume level as well. As a result, it seems that some software component is involved in S/PDIF handling, and that component now misbehaves differently on Windows and Linux.

After I started getting distortion through S/PDIF, I felt it was too much for me and tried to change my configuration.

Second setup: another audio interface

My UltraNova offers an onboard audio interface. In order to isolate the M-Audio interface from the overwhelmingly complex equation, I decided to give it a shot. That resulted in the second setup described below.

  • Audio input is now plugged to my UltraNova’s jacks. I ended up plugging a mixer in order to get signals from my EMX+Kaoss Pad as well as a Nord Drum module I recently acquired.
  • My UltraNova sends audio to my computer through USB. As a result, sound from the synthesizer is transferred digitally while sound from my EMX and Nord is sampled by the UltraNova’s onboard chip.

I don’t like this configuration very much because my mixer has an annoying tendency to clip and I end up with a stereo mix of my recording, making it impossible to separate the tracks. I will thus be unable to experiment with mixing using this setup, unless I manually sample each track separately.

But this is not the main issue. Here are the problems:

  • I was able to record a couple of sessions of improvisation using the above configuration. However, a week ago, recorded sound started to be distorted. Even Live’s test tone, played through ASIO, then passing into UltraNova, started to sound distorted!
  • Not only playback is distorted but also recordings are not clean anymore, dirty of distortion. A promising session that could almost have been used as is for a sound track in a future Minecraft video got screwed up by this and is good for throwaway!
  • I got fed up and tried to disable ASIO, using DirectSound instead. That worked, no distortion, but more latency. I can even hear the latency when playing through Live with a MIDI keyboard.
  • Thinking it could be UltraNova’s ASIO driver, I tested with ASIO4ALL instead and got similar issues.
  • Yesterday, Live suddenly died and could not start anymore. For no obvious reasons, I had to reinstall it completely. After that, sound with ASIO worked without distortion, but playback and recording were frequently cutting.

Contradictions, no gos, no solutions!

  • My best friend thinks the issue is caused by Windows 8 and that I should downgrade to Windows 7. However, my machine takes forever, at least one hour, to install Windows, excluding drivers and applications, installation destroys Linux boot loader and it takes me at least half an hour to find out how to restore it because there is no builtin ways in Ubuntu to do so simply. Activation of Windows 7 is likely to fail because I upgraded my license to Windows 8, and I will be left with no solution if that happens, other than trying one crack after the other or installing some piece of crap that would make sure my system’s date is set to something that won’t go past the activation grace period. I just cannot accept to have all messed up file date/times because of a single piece of software.
  • I thought about purchasing a new computer, that would have only Windows 7 and be dedicated to music creation. However, there is no Windows 7 machine anymore; every new system comes with Windows 8. I could try, maybe I would be lucky and the new Windows 8 configuration would work better, but that is a hit or miss without any way to increase chances of success! Probably my best guess would be a custom-made machine with a Windows 7 license for it, if this can at all still be purchased.
  • Some forum posts pretend that Ableton’s Live will work fine on Windows 8 and 8.1, others not, others pretend it worked on Windows 8 and not well on Windows 8.1. Downgrading to Windows 8 is just a non-sense for me, better downgrade to Windows 7 instead. I’m likely to experiment the same activation issues and will loose the same amount of time reinstalling everything and repairing my Ubuntu configuration.
  • Some forum posts suggest that it will never work well on a PC and that I should try with a Mac. Well, I tried on a Mac, and that was the most awful, most frustrating experience through my whole life. The machine was awfully slow and keyboard was not responding in a deterministic way. From this experience, I had to conclude with concerns that the Mac will work well only when used with the mouse, keyboard is just for typing text in fields and emails!!! My visual impairment makes using the mouse a pain for me. Does that mean I am excluded from computer-assisted music creation, unless somebody helps me out all the time? I am slowly but surely reaching that very frustrating conclusion.

For now it somewhat works with non-ASIO configuration and stereo recording, but I know a lot more can be done. Does the problem come from Live, Windows, my motherboard’s USB ports? I just cannot figure out.

I started to investigate about ASIO itself, to try understand how and why it could misbehave. I may have to dig straight into ASIO SDK for that. I investigated about using ASIO with Audacity, because that could help me test without Ableton’s Live and eliminate it from the equation. Even that promises to be major hassle, forcing me to install Visual Studio, SDKs and compile the whole planet to get ASIO support into Audacity!

Each new issue is decreasing my motivation to persist. I have less and less fun playing with that music creation setup and I am often thinking about putting it aside. I’m not to the point of selling the components yet, but if I cannot find out something to unblock the computer part of it, I may come to that. I will at least wait for Windows 10 to come out and give it a shot before selling anything.

I hope some people will read that post and start thinking about concrete solutions, not just “it works for me, so no problem”, “buy a Mac”, “reinstall”, “try on your friend’s computer”. Maybe a Linux-based music creation platform could help, maybe a Linux distribution dedicated to music and providing just the needed components, nothing that can interfere, or something that would make Mac platform faster and more usable.

I am a software developer so I could help in developing the platform, but because Live is closed source, I cannot take what exists and improve over it, I would have to start from something inferior such as Ardour or Audacity, and rebuild/reinvent/rewrite on top of it. This would be a very time consuming experience, and without Ableton’s expertise, I would certainly do it wrong. If all Mac OS X was open source, if it could be compiled from streamlined autoconf-based build processes rather than XCode where small-sized fonts are king, I would be able to open the hood, examine the code and improve the GUI. No, I would have to start from scratch, using just the BSD kernel, and reinvent the WHOLE GUI. Without Apple’s experience, I would certainly do it wrong and messy!

Categories
Bug

Audio driver conflict causing slow startup

Since at least two months, Windows 8.1 startup is awfully slow. From UEFI boot to login screen, it takes a few seconds, which is perfectly reasonable and what I expect from a Core i7 computer equipped with a SSD. However, after I was typing my password to login, it was taking between 30 to 45 seconds before I could reach the desktop! This was almost wiping out the benefit of the SSD, making the total boot time as long as if I had a regular hard drive with an older CPU.

I was getting annoyed on every startup, but at least, the machine was correctly responding afterwards. But yesterday, that combined with another issue: each and every Metro application is now closing instantly and NOTHING suggested on forum posts can fix the issue; the only solution seems to completely reset my user account.

I thought the slow login time was also linked to my user account and was starting to feel ready for creating myself a clean account and starting from there. Most applications should survive this process, only some settings will be lost. My documents live on a second hard drive which wouldn’t be affected. However, I found out that the slow startup was also experienced for a new user account! This was thus a system issue, probably yet another program that installed malware without me noticing it.

Searching on forums, it seems I would now have to hunt for and install many different anti-virus and anti-spyware programs and regularly create hard drive images. I didn’t have to run into this trouble while I was using Windows 7? What changed in Windows 8.1? Is the system now so unstable that I would need to regularly restore from an hard disk image? This is a real non-sense!

Deeper analysis of the slow startup seemed to link this to CPU! There was little hard disk activity during the long login time and CPU fan seemed to increase speed. I was quite shocked at this. I have a Core i7 CPU that works very well for Ubuntu. Why would Windows 8.1, suddenly, require something more? It was working six months ago, starting quickly. My Nuance ultrabook, which also has a Core i7, starts at normal speed. My personal ultrabook, equipped with a Core i5, starts in a reasonable time as well. Both machines are equipped with Windows 8.1 and newer than this 2012 Core i7, but they are NOT significantly more powerful! Do I really have to face the fact there is a time bomb in Windows, that will trigger after some time and start marking some CPU/motherboard combinations as arbitrarily obsolete? This makes little sense, but I was slowly but surely drifting to that conclusion. I was awfully disappointing because it takes me weeks to shop for new computer parts, check for compatibility with Linux, make sure I won’t get into a dead end with the motherboard, assemble the thing, test, solve issues, etc. I didn’t want to reenter into this just because Microsoft decided I would have to do so!

I didn’t want to perform a clean install, because it is taking too much time. It would break my GRUB configuration while Ubuntu provides no simple way to restore it (each time I need to search more than fifteen minutes, and apply a manual procedure), would require installing multiple drivers each rebooting the machine, and I wasn’t sure Ableton Live would correctly reauthorize. But I was starting to feel ready to try this reformat during the Christmas holidays, because this was becoming too annoying.

I thought about purchasing another system and moving the Windows 8.1 part of my current configuration on it, leaving only Ubuntu on the original machine. That would remove the issue with Windows breaking the GRUB setup at the cost of more money and space.

I also got issue with my audio system. Yesterday, I started Ableton Live and opened up a Live set I got from my friend. I got an error message, because my Ultranova synthesizer was set as the ASIO audio interface but it wasn’t powered up. Instead of turning it on, I switched to the M-Audio ASIO driver, so sound played through my main Fast Track Pro interface.

Things went well… until I closed Live. After that, for the third time, sound stopped working. The M-Audio driver is getting corrupted and stops working. Restarting the machine does nothing; I really had to reinstall the driver.

But after I removed this damned M-Audio driver and restarted the computer, I found out the startup speed was restored to normal! I reinstalled my M-Audio driver, because I need it for ASIO integration, and startup speed remained normal!

I thought about finding an audio interface more suitable for Windows 8, but I found out it makes no sense to replace a working product just because Windows misbehaves with it while it USED to work! I thought about downgrading to Windows 7, but I HATE its low contrast between selected and unselected items and lack of any solution to fix this without disabling Aero. I considered the possibility of installing Live on a dedicated Windows 7 laptop (tired of assembling computers and when purchasing preassembled PCs, you usually get to choice between cheap desktops, reasonable laptops or high-end desktops with too stylish gamer-centric cases). But the new machine would have low storage so I would need some kind of NAS for my systems to access a common storage. That was starting to be endless stacks of problems! I thought about using my Ultranova as sound card for Windows and M-Audio on Linux (because the Focusrite-based audio chip in the Ultranova does not work under Ubuntu) but that was resulting in need for endless reconfiguration (when switching between the two OS).

But today, things are still working. It seems I just must not use the Ultranova ASIO integration in Live and things will continue working. As a workaround for this uncommon issue, I connected the S/PDIF output of my synth to the S/PDIF input of my audio interface using a plain basic RCA cable (nothing fancy), turned on S/PDIF output on my Ultranova and was able to get the digital audio from the S/PDIF input of my audio interface. This has the added benefit of allowing Live to record BOTH from S/PDIF and the main input jacks of the audio interface. Using this new configuration, I was able to record four tracks at a time: the two one from my synth through S/PDIF, and the two outputs of my Korg’s EMX. S/PDIF input has low volume for I don’t know why, but at least this can be worked around in Live.

I hoped that would solve my Metro issue but no, the problem persists. I tried a lot of stuff to solve this without success. I will thus need to reset my user account if I really need these kind of useless Metro apps. At least startup is now normal so I won’t have to format to get this fixed!