Page 1 of 1

Audio Choppiness & Overloads in VocalWriter

Posted: Sun Mar 11, 2018 1:23 am
by TheXealot
I've been having problems with VocalWriter in SheepShaver to the point where it's next to impossible to use. The audio is delayed and very choppy when previewing single notes, and whenever I try to play anything (even if there are no notes programmed) I get this error message:

Image

My preferences are set to the lowest number of polyphony possible, and I only ever have one or two notes in a single channel/track sequence. Yet I'm still getting the error message above.

Preferences menu:
Image

I looked in the ReadMe file that came with the software, and came across a list of system requirements:

Image

I meet and even exceed all of these requirements, except for one I'm not too certain about, which is the CPU clock speed. I read somewhere that the CPU clock speed is dependent on the host machine, so this shouldn't be a problem (if that's the case).

VocalWriter uses the (MacOS) system's built-in General MIDI synthesizer for its instruments, and the (MacOS) system's built-in speech synthesizer for vocals. I've noticed that when using the speech synth to "read aloud" text I've written in SimpleText, as well as previewing the synth in system settings, that it is very choppy as well.

Here's a list of my system specs
Host Machine
  • Host OS: Windows 10 Creator Update (64-bit)
  • CPU rate: 3.2 gHz
  • Physical RAM: 8 GB
  • HHD Size (that SheepShaver is installed to): 1 TB
SheepShaver
  • OS: MacOS 8.6
  • MacOS RAM: 1024 MB
  • ROM Type: 1997-11 - 79D68D63 - Power Mac G3 Desktop
  • ROM Size: 4MB
Miscellaneous
  • 'My Computer' icon on Mac desktop enabled.
  • Polling enabled.
  • QuickDraw acceleration disabled.
  • Sound output enabled (obviously).
  • Idle CPU useage enabled.
  • Illegal memory access disabled.
  • JIT compiler enabled.
  • Built-in 68k DR emulator disabled.
Here's debug information from the stdout.txt file
SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
Reading ROM file...
Using SDL/waveout audio output
Detected CPU features: MMX SSE SSE2 SSE3 SSSE3
PowerPC CPU emulator by Gwenole Beauchesne
WARNING: RmvTime(00905620): Descriptor not found
WARNING: RmvTime(00905644): Descriptor not found
WARNING: RmvTime(00905668): Descriptor not found
WARNING: RmvTime(0090568c): Descriptor not found
WARNING: RmvTime(009056b0): Descriptor not found
WARNING: RmvTime(009056d4): Descriptor not found
WARNING: RmvTime(009056f8): Descriptor not found
WARNING: RmvTime(0090571c): Descriptor not found
FATAL: PrimeTime(): Descriptor not found
FATAL: PrimeTime(): Descriptor not found
WARNING: RmvTime(00905620): Descriptor not found
WARNING: RmvTime(00905644): Descriptor not found
WARNING: RmvTime(00905668): Descriptor not found
WARNING: RmvTime(0090568c): Descriptor not found
WARNING: RmvTime(009056b0): Descriptor not found
WARNING: RmvTime(009056d4): Descriptor not found
WARNING: RmvTime(009056f8): Descriptor not found
WARNING: RmvTime(0090571c): Descriptor not found
FATAL: PrimeTime(): Descriptor not found
FATAL: PrimeTime(): Descriptor not found
WARNING: RmvTime(00905620): Descriptor not found
WARNING: RmvTime(00905644): Descriptor not found
WARNING: RmvTime(00905668): Descriptor not found
WARNING: RmvTime(0090568c): Descriptor not found
WARNING: RmvTime(009056b0): Descriptor not found
WARNING: RmvTime(009056d4): Descriptor not found
WARNING: RmvTime(009056f8): Descriptor not found
WARNING: RmvTime(0090571c): Descriptor not found
WARNING: RmvTime(00905620): Descriptor not found
WARNING: RmvTime(00905644): Descriptor not found
WARNING: RmvTime(00905668): Descriptor not found
WARNING: RmvTime(0090568c): Descriptor not found
WARNING: RmvTime(009056b0): Descriptor not found
WARNING: RmvTime(009056d4): Descriptor not found
WARNING: RmvTime(009056f8): Descriptor not found
WARNING: RmvTime(0090571c): Descriptor not found
WARNING: RmvTime(00905620): Descriptor not found
WARNING: RmvTime(00905644): Descriptor not found
WARNING: RmvTime(00905668): Descriptor not found
WARNING: RmvTime(0090568c): Descriptor not found
WARNING: RmvTime(009056b0): Descriptor not found
WARNING: RmvTime(009056d4): Descriptor not found
WARNING: RmvTime(009056f8): Descriptor not found
WARNING: RmvTime(0090571c): Descriptor not found
The ppc.log file is empty for some reason.

Does anyone know what the problem is, and how to fix it?
-The Xealot

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Sat Mar 13, 2021 5:30 pm
by Ad0
Same issue here. The program is not usable in this state sadly.

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Sat Mar 13, 2021 7:12 pm
by Cat_7
Hi,

I'm not sure whether you are using the same setting for SheepShaver as the OP, but I would suggest using the GUI to set:

On the volumes tab:
-Disable polling
On the Graphics/Sound tab:
-Enable QuickDraw acceleration
On the Memory/Misc tab
-Disable Don't use CPU When Idle
(this will lead to a high cpu usage by SheepShaver, so please check whether that is sustainable on your machine)

Then give it a try. If things did not improve, try
On the JIT compiler tab:
-Disable the JIT compiler.

If that will not work, then you might be out of luck ;-)

I just gave the program a go, and the choppiness of the sound suggests that perhaps SheepShaver cannot provide exact timing. AFIAK this is an inherent problem in emulators.

Best,
Cat_7

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Sun Mar 14, 2021 10:44 pm
by Ad0
Thanks! Sadly those things didn't improve. It also fails under qemu, since it wants Virtual Memory turned off. If VM is off, then Audio output is not present.
I tried OSX in qemu as well. Same choppyness.

Sorry forgot to mention that I used this http://www.columbia.edu/~em36/macos9win.html

Here's a dump of the SS config:

Code: Select all

disk MacOS9HD.dsk
extfs 
screen win/1024/768
windowmodes 3
screenmodes 63
seriala COM1
serialb COM2
bootdrive 0
bootdriver 0
ramsize 536870912
frameskip 0
gfxaccel true
nocdrom true
nonet false
nosound false
nogui false
noclipconversion false
ignoresegv true
ignoreillegal false
jit false
jit68k false
keyboardtype 5
hardcursor false
hotkey 0
scale_nearest false
scale_integer false
cpuclock 0
yearofs 0
dayofs 0
mag_rate 0
swap_opt_cmd true
ether slirp
keycodes false
mousewheelmode 1
mousewheellines 3
idlewait false
keycodes false
mousewheelmode 1
mousewheellines 3
enableextfs true
debugextfs false
extdrives CDEFGHIJKLMNOPQRSTUVWXYZ
pollmedia false
etherpermanentaddress true
ethermulticastmode 0
routerenabled false
ftp_port_list 21
tcp_port 
portfile0 C:\B2TEMP0.OUT
portfile1 C:\B2TEMP1.OU

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Wed Mar 17, 2021 2:51 am
by kanjitalk755
I found that some applications may not work properly without shortening the sound buffer.
So, I added the feature to adjust length of it.

https://github.com/kanjitalk755/macemu

For VocalWriter, add following line to .sheepshaver_prefs.

Code: Select all

sound_buffer 2
Higher the number, shorter the sound buffer and heavier the load.

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Wed Mar 17, 2021 6:39 am
by Cat_7
Hi Kanjitalk755,

Fantastic, shortening the buffer does indeed fix the sound issue in that program.
New builds for SheepShaver and Basilisk for Windows have been posted.

Best,
Cat_7

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Wed Mar 17, 2021 8:52 am
by Ronald P. Regensburg
I suppose this change also applies to macOS?

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Wed Mar 17, 2021 8:58 am
by Cat_7
The change was made in the SDL2 audio code and macOS builds use SDL2, so I think it will apply to those as well.

Best,
Cat_7

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Wed Mar 17, 2021 9:29 am
by kanjitalk755
-An additional pref item "sound_buffer" is introduced that sets the size of the sound buffer. Size 1 uses the original size, higher numbers shorten the buffer but increase CPU load.
Size 0 (or no sound_buffer line) uses the original size.
Each +1 halves the length of the sound buffer.

Re: Audio Choppiness & Overloads in VocalWriter

Posted: Wed Jan 17, 2024 5:37 am
by mizzle2
Changing the sound buffer to 2 or 3 definitely helps, but when adding any more than 1 instrument or voice it's definitely still noticeable :[
Has anyone figured out a solution to get rid of it entirely?? (P.S. I have a pretty good computer with plenty of RAM and processing power, so that shouldn't be the issue. Also, setting the buffer to anything higher than 3 for me only makes it even worse </3)