|
Post by nra on Dec 25, 2016 18:37:11 GMT
Hi guys, Happy incoming New Year)
FIRST, I was playing in AGD with sounds to figure how it works and it occurred to me that some noises are quite acceptable for robo/humaniod-speaking or even something better. Did anyone try it via AY sounds? Perhaps, recorded 'sounds' as WAV and restructured to some 4-bit output could give a hint about its params, yes?
SECOND, how I wish there were a library of sound effects, is there any) BTW, how difficult it would be to alter sounds on fly? For instance, I would like the SAME sound played a little different (pitch/volume/compression/etc) without having a dozen of variations as predefined sounds; possible? May be an external procedure?
Cheers.
|
|
|
Post by nra on Apr 11, 2018 11:20:56 GMT
Hello guys)
Recently I played with a synth software and remembered Currah uSpeech, which is often emulated as a part of hardware.
How difficult and worthy it would be to invoke its features in AGD, speaking certain messages? Also it would be nice to modify the voice pitch/tempo and so on.
|
|
|
Post by highrise on May 8, 2018 6:06:24 GMT
as far as I recall when I looked at this a while ago, Currah speech only works in 48k mode, so wouldn't work in the editor, and it also uses some of the same memory addresses that AGD uses so would be very fiddly to implement.
|
|
|
Post by nra on May 8, 2018 18:28:30 GMT
I see, then would it be any good using predefined sounds as phoneme-like units or even creating volume-noise-tone sounds on-fly?
|
|
|
Post by alessandro on May 11, 2018 9:46:01 GMT
I don't exactly know whether this could be useful to your request or not, but I hope it will be Like any other piece of external code, sound effects can be called from within the AGD script by using the ASM command. I did it for recalling sound effects and speech captions in Lost In My Spectrum and Apulija-13. To do this you must type ASM 205 followed by two other ASMs pointing at the address of the routine to call in little-endian format (low byte first). E.g.: ASM 205 ASM 48 ASM 117 will recall a M/C routine stored at 30000, because 117 * 256 + 48 = 30000.
|
|
|
Post by nra on May 11, 2018 20:45:18 GMT
Thank you, Alessandro.
What you think--would a bank of useful routines do nicely for the AGD or there's already one?
|
|
|
Post by alessandro on May 13, 2018 12:32:02 GMT
Hi nra,
I believe it depends on what you want to achieve. My advice is always the same - memory being scarce, it is always preferable to avoid doing in AGD what you can do outside AGD, e.g. redefinable keys routines, menus, end-of-game messages etc. Even sound effects are short, 40-50 bytes long usually, M/C routines, which can be recalled via the ASM commands. Here is an example: the jumping sound effect for Lost In My Spectrum 2.0. The routine is 44 bytes long and is located at 56800, hence it is recalled by the ASM 201 / ASM 224 / ASM 221 sequence from within AGD. However it is relocable and you can use it in your projects at a different address:
LD D, 13 LD E, 15 LD B, 132 L_7536: PUSH BC LD A, (23624) SRL A SRL A SRL A SET 4, A OUT (254), A LD B, D L_7545: NOP NOP NOP DJNZ L_7545 RES 4, A OUT (254), A LD B, E L_754F: NOP NOP NOP DJNZ L_754F INC E INC D NOP NOP POP BC DJNZ L_7536 RET
|
|
|
Post by Jonathan Cauldwell on May 26, 2018 18:45:36 GMT
The Currah unit may be something I look at doing for Multi-Platform AGD at some point, so long as I can implement an identical command for the Amstrad SSA-1/Dk'tronics units on the CPC
|
|
|
Post by highrise on Jun 8, 2018 11:01:35 GMT
Today I was able to get the Currah Speech unit to play nicely with AGD. It was relatively straightforward, but I had to compile a special version of AGD with the block buffer moved down to 64512, to give the Currah the space it needs. Once that was done, it worked fine once the game was run in 48k mode.
|
|