ivop Posted October 8, 2020 Share Posted October 8, 2020 10 hours ago, Synthpopalooza said: I also tried this: aubiopitch -i sweep-8x-179-poly9-mod7.wav -B 48510 -H 48510 -u hertz -v -s -90 -p yinfast And it screamed at me over 48510 not being a power of 2. ? pitch method: default, pitch unit: hertz, buffer_size: 48510, hop_size: 48510, tolerance: 0.000000 AUBIO ERROR: fft: can only create with sizes power of two, requested 48510, try recompiling aubio with --enable-fftw3 How did you acquire the aubiopitch binary? I assumed the binary packages would contain full blown binaries with all options enabled. I compiled from source and configured with --enable--fftw3. Quote Link to comment Share on other sites More sharing options...
ivop Posted October 8, 2020 Share Posted October 8, 2020 (edited) Finally, v1.0rc1 (release candidate 1) Here's channel 1, 8-bit $Ax, tuned to A-4, that is playing in 16-bit resolution on the second Pokey. Running on a 600XL with BASIC enabled CTRL-T turns tuning note on/off CTRL-V and CTRL-B increase or decrease the volume , and . round-robin through 12 notes and 10 octaves respectively Edit: tuning is disabled when there's no second pokey detected. Edit: tuning ranges from C0-B9 pokeyexp-v1.0rc1-ntsc.xex pokeyexp-v1.0rc1-pal.xex Edited October 8, 2020 by ivop 1 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted October 9, 2020 Share Posted October 9, 2020 On 9/25/2020 at 4:45 PM, ivop said: The table on page 15 [of pavros' paper] is something I didn't know. I thought all channels sampled the poly stream at the same time, but they do not. Fascinating While preparing for a possibly new implementation of the audio portion of Pokey in C99, I am reading a lot of documentation, and I noticed the same being described in phaeron's Altirra Hardware Manual at page 98. Just two sentences, but very important. I think these are the only two documents where this is described. "The outputs of the noise generators are delayed to each audio channel by one clock apart to prevent the channels from receiving the exact same noise. A given pattern bit arrives at channeles 1, 2, 3, and then 4, in that order." 2 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 10, 2020 Author Share Posted October 10, 2020 I will try this out over the next two days ... 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 12, 2020 Author Share Posted October 12, 2020 Well impressed! This may cut out a lot of time documenting these new POKEY settings ... wow. 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted October 12, 2020 Share Posted October 12, 2020 (edited) Thanks! I'm currently investigating the easiest way to batch process automated sweeps. Current options I'm considering: 1. Reimplement C99 Pokey according to Altirra specs and reimplement Pokey Explorer as a native command line utility. Batch process with a shell script and aubiopitch. 2. Patch atari800 to make it possible to programatically end the emulator from within the emulated machine. Prepare a whole bunch of different .xex files with different sweep settings with a patched Pokey Explorer that does no keypresses, but sweeps immediately and exits after that. Run them all sequentially and use -pokeyrec. Pray that the sub-par emulation does not interfer too much with aubiopitch frequency detection. 3. Fix atari800's Pokey emulation and continue with step 2. 4. The same as step 2, but with (wine) Altirra. Not sure if Altirra supports a command line option to enable audio recording. Would need help from Phaeron anyway, because I don't have Windows and Visual Studio. 5. Run all the patched Pokey Explorer binaries sequentially on real hardware and record the audio ouput. Any other ideas? The easiest is #5 or #2. The most useful is #1, also for somebody who might want to write a new tracker. Another thing I have thought about was implementing a way to control atari800 through a socket connection. You run it once, but you can reset the machine, load binaries, read/write memory, et cetera. And then hope that phaeron implements the Altirra side This could be option 6. The important benefit of having a native tracker running its player code on a full blown emulator back-end, is that when the emulator improves, your sound replay improves, too. Edited October 12, 2020 by ivop Quote Link to comment Share on other sites More sharing options...
ivop Posted October 12, 2020 Share Posted October 12, 2020 Just occurs to me that the batch processing could also be done on the Atari side. Create an alternate Pokey Explorer that does not react to keypresses, but just does a bunch a predefined (at compile time) sweeps and then stops. That could be run in the background with audio muted (hopefully) and would result in a huge audio file, but that's easily cut up in pieces according to the buzzing count down before and after each sweep. So, 6. Emulator socket thing I described above. 7. Do batch processing on the Atari itself (either emulation or real hardware). Quote Link to comment Share on other sites More sharing options...
rensoup Posted October 12, 2020 Share Posted October 12, 2020 4 hours ago, ivop said: 4. The same as step 2, but with (wine) Altirra. Not sure if Altirra supports a command line option to enable audio recording. Would need help from Phaeron anyway, because I don't have Windows and Visual Studio. You could download Win10, install it in virtualbox, download VS and rebuild altirra yourself. Win10 is free, you just need to jump through a few hoops to register it (no need for any kind of hack though)... VS community is free too. Worked for me. 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 13, 2020 Author Share Posted October 13, 2020 11 hours ago, ivop said: Just occurs to me that the batch processing could also be done on the Atari side. Create an alternate Pokey Explorer that does not react to keypresses, but just does a bunch a predefined (at compile time) sweeps and then stops. That could be run in the background with audio muted (hopefully) and would result in a huge audio file, but that's easily cut up in pieces according to the buzzing count down before and after each sweep. This would be ideal for the mode I am trying to do now: AUDCTL=$64 AUDC1=$2x AUDC3=$00 ... I figured out that using values from my 8-bit $2x @1.79 mhz table in channel 1 makes tones that will be in tune ... so you'd just need a series of 256 note sweeps for every note in that table. Quote Link to comment Share on other sites More sharing options...
ivop Posted October 13, 2020 Share Posted October 13, 2020 It would also be ideal for me, as this is the least work Funny how things work. You write down all your known options, and by writing it down, you get a new idea that's better than all the previous ones. Bonus is that it can also be run on real hardware. Next few day's I'll be working on a compile time option to automatically do a series of sweeps without any user intervention. So you can feed it a table with initial pokey settings and sweep settings for each sweep you want to do. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 14, 2020 Author Share Posted October 14, 2020 On 10/8/2020 at 9:01 AM, ivop said: How did you acquire the aubiopitch binary? I assumed the binary packages would contain full blown binaries with all options enabled. I compiled from source and configured with --enable--fftw3. I downloaded the windows binaries from the zip file here: https://aubio.org/download Maybe you can send me the binary you made ... it might work better for me. Just attach it in this thread ... still having troubles Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 14, 2020 Author Share Posted October 14, 2020 I mapped out $Ax @1.79mhz in NTSC and uploaded a new table here: This might come in handy when we go to map out the hi-pass modes using $Ax 1.79 mhz (either single 1.79 at channel 0 or 3, or double 1.79) 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted October 14, 2020 Share Posted October 14, 2020 (edited) 14 hours ago, Synthpopalooza said: I downloaded the windows binaries from the zip file here: https://aubio.org/download Hmm, I would have expected full blown binaries with all options enabled. Seems that's not the case then. Quote Maybe you can send me the binary you made ... it might work better for me. Just attach it in this thread ... still having troubles I'm on Linux, so my binary won't be of any use. I used to have a win64 cross compile toolchain active, but I haven't upudated that in years. Would need to (re)compile a whole lot of libraries before I can even start crosscompiling aubiopitch Edit: I have contacted the authors through their webform on aubio.org. Hoping for a swift reply! Edited October 14, 2020 by ivop Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.