Export to IFF (Amiga)

I click Save and I get “cannot export audio in this format”.

v.2.0.6

Audacity will not Save a sound file. To make a new sound file, you have to File > Export. If your file type is missing from the first menu > Select Other Uncompressed Files.

You may need to upgrade to the current Audacity, 2.1.2
http://www.audacityteam.org/download/windows/

If it’s still missing, you may need to add the FFMpeg software which lets Audacity manage many more different sound formats.

http://www.audacityteam.org/download/windows/
Scroll down.

Koz

There is an Amiga export, but it’s IFF, not AIFF.

Koz

upgraded to 2.1.2 and installed FFMpeg but sill “cannot export audio in this format”.

(you re right it’s IFF. AIFF is Apple format)

So you did or didn’t get it to work? I can’t tell.
Koz

no I didn’t

I can’t either. So that’s an Undocumented Feature. Will your Amiga play a WAV? You might be able to use the Amiga tools to produce an IFF. Or even an AIFF. All these tools just rearrange the header and support information. The basic sound stays the same.

Koz

well initially I wanted to export sounds to 8bit 22050 WAV which Amiga can handle well, but I noticed IFF/Amiga format in ‘other uncompressed files’ so I gave it a try.

I don’t think our failure is normal. I turned it in to the senior forum elves.

Koz

If you want unsigned 8-bit WAV, that is an encoding option when you choose WAV in “Other uncompressed files”.

Add the correct extension you want to the end of the file name when you export. Otherwise due to a bug, Audacity adds .aiff extension, though the audio is encoded correctly.


Gale

yes I noticed that bug.

(resurrecting old thread)

I tried to export 16bit WAV to 8bit signed IFF but looks like after conversion the file is 8bit WAV (with .iff extension).

It seems to work OK for me.
Here’s a signed 8-bit IFF file created with Audacity 2.1.2. The .WAV extension is so that the forum board will accept it.

The correct length of this file is 30 seconds. It can be decoded as signed 16-bit, but then it plays an octave too high for 15 seconds.

no it doesn’t play in ProTracker, its ‘dumb’ (because it’s still WAV).
Protracker supports only iff,raw and 8svx.

The file I posted is certainly not a WAV file (despite the .wav file extension). Try viewing the file in a hex editor.

Perhaps you would have more success exporting as RAW (?)

export to RAW works fine.

I can export to IFF in Goldwave but I can’t do it in Audacity.

Can you imagine that i signed in only for this stupid (mis)behave?

Perhaps someone could help us

The crux is that Audacity like 99% of software will only export a single stream (mono) to the 8svx format (the error message you received is because it was a stereo file - and i expect from far that goldwave will mix down to a mono stream without to inform you about)
Since 1800 erm sorry 1989 or was it 1889? you need to split a stereo sample to two mono files and then join the files on the amiga to a stereo 8svx.

HAIR RAISING!

If you dive a little closer in the problem then you will find out that the 8svx format is a hybrid format (interchangeable file format, short iff) it can not only store a waveform it can also store musical scores (or data or instruments don’t ask me) HOWEVER due to this flexibility no proper standard has been ever developed (as i have read) the Amiga natively would offer four channels of course a .iff 8svx can use any of the four channels thus stereo is at hand… cough… further you would have the possibility for a faked stereo with a panning option stored in the header (mono stream pans i.e. from left to right respectively to either one of the four channels)

The specs:
https://wiki.amigaos.net/wiki/8SVX_IFF_8-Bit_Sampled_Voice

As any layman can easy recognize the header can store a lot more information as just samplerate, bitdepth, length, stereo, compression likewise the SB .VOC format it can hold information about loops and loop markers, panning and loudness fade or grow (at least even if clumsy you had for the .VOC a proper editor with SB16 which could handle all this for a voc file - except panning ok but loop markers and such even comments at top or in a section of a voc since they are sectioned in small blocks anyway else you couldn’t have load a full stream to RAM to edit it)

Though what you and me would love is a someone who understands to write a proper export plugin/script it is possible it’s has just never (or rarely) been used.
What i did so far is to join the mono streams but it can fail and i haven’t found a proper reason why, it fails more often with short files under 10 secs but you can’t tell when and why. When it fails you have a wrong sampled output with a doubled signal (right after the left).

Tne Amiga on the other hand is a bit picky about formats and even the OS3.x can playback a .WAV natively only mono since the datatypes (all of them not only the .wav data type) allow only mono stream output thus whatever is handled natively by the OS results in a mono stream (therefore it can handle for mono streams at once …well). Of course software must not depend on the datatype. In other words there exists a datatype for .wav and you can playback .wav natively on the O.S. 3.x i.e. using Multiview but it will be in mono.

Erm yes might be you like to fiddle around with “join2stereo” yourself, it needs at least OS 2.x to run:
http://aminet.net/mus/edit/Join2Stereo.lha
That is so far the best option i found…

One thing in advance, the sample length must be always even else “join2stereo” will argue “mangled iff file”, since the standard for .wav is 11025, 22050, 44100 it ends in many cases in a odd length, strip this single sample or add a 0x00 to make it even.


Erm yes “export to .raw” yeah!

or maybe no…

It was the first option but the problem is simillar like for MS-DOS to find a player which accepts a stereo flag for RAW data, 99.99% of them fail to recognize a raw stereo stream even if you set the flag proper (the only case i found which could probably…) and yes good ol GUS playfile can play raw in stereo but DOS-Box leaks in GUS (except for DOSBox-X) and it stops any file after 1 to 2 seconds playtime, stupid little error but it seems they don’t mind “use the SB the GUS is only emulated via SB emulation” yeah thanks for the hint… but do you have a player which can playback stereo raw file (in MS-DOS not windows)? GUS Playfile is a very good software no mater how DOSBox emulates the GUS and offers some which the PD and shareware homebrew don’t, or this will and the other not but never in one except for old Playfile, just to say the same chaos…


Ahhhh… “sound” (for the amiga) has a stereo option and can playback “any” format - let’s seee…
argh… -s is only to set stereo panning for a mono stream nice try though…
At least it plays mono on both channels and not like most only on either the left or right and is overall the most flexible player i found, it uses a few of the 8svx magic like panning or ramping, but always when i dive in such an old format likewise for .VOC i’m disappointed that not half of what the format offers has been ever used except by games developers maybe but you hardly will find a software which allows you to edit this level, except yeah write your own following the specifications or you hack the turd in the header for a file or two this can be a solution (but not to convert 200).

A sample sample :slight_smile:
OpenD01.zip (27.4 KB)

Corrigendum

I wrote that “Sound” uses the switch “-s” to mimik panning - that’s not quite true, further experimenting including a conversion using a web tool showed off that the switch “-s” is to proper play those stereo samples which are sampled one channel after the other, you can imagine that i was quite surprised when i used the web service i received an identical “serial” stereo file as i (often) received using “join2stereo” on the Amiga. My wrong suggestion was based on the fact that if it’s a common stereo or mono sample and the switch “-s” it pans from right to left (but somehow uncontrolled i wondered) well it is absolutely proper for the serial stereo encoding.

Hint: use a web service to convert some files this will spare you a lot of work and the result is exactly as i could offer you.


The Problem that shows off is that you still don’t know exactly what will be the resulting filetype i have converted using “join2stereo” two nearly similar streams “opend01” (which i attached) and “closed01” opend01 is bytewise stereo encoded like we expect while the reverse sample and it is really nothing but the reversed sample is encoded in this let’s call it “serial stereo” - two nearly identical files result in different sampled stereo 8svx.
Now that is somehow stupid because you will have to know if the stereo switch is to set or not (btw it is so far the only player i found who can play these files proper) because a bytewise encoded will sound wrong with this switch set. This also explains why mostly short samples will be serial stereo because for a long sample it makes no sense (does it make sense at all? it uses the same space in bytes) the seek time to the mid of the stream would be far to long. You see most players don’t interpret this special sort of stereo proper not even play8svx which came with the .iff resource from EA, but i’m pretty sure that there is a bit set in the header for this option.

I will see…
I found a rather old sound editor (OS 1.3 only) which offers a player which can playback .wav and .voc aside of .iff. The editor is somewhat clumsy if you like to edit respectively convert .wav to .8svx a CLI tool would be handier.

If the player runs under OS3.x (it has no GUI, the chance is high) and is capable to play stereo files one could forgo the tedious conversion process (i assume already in advance that it will play only signed mono .wav and signed 8bit .wav is an impossibility - just to be positive suprised)


And dammit i would like to know why once this method and once the other when the files are nearly identical, this should be something you control and not be left to a sort of random choice (i still can’t understand why). It isn’t the filesize i have a few long samples which are serial and many of short but not exclusively though that one could say “ok short results in serial encoding” that isn’t the case else it would be ok.

I will post my results if i succeeded

Some news

I found the reason for the difference and how to control the result if it’s a sequential stereo file or a bytewise encoded.
For my tool “join2stero” it is influenced by the export name (stupid but that’s the reason) if the output filename has an odd length it results in a bytewise encoded if the output filename has an even length it results in a sequential encoded file, personally i guess it’s a misinterpretation of the dev of this tool because we know the .iff container don’t allows odd sample lengths (odd data length in general) and “join2stereo” i.e. argues that it is a mangled if if the data length is odd, i believe the idea is to create a sequential stereo file if the sample length is odd because this would result always in a even length while if the sample length is even it can be handled bytewise, at least this i assume - however i found a method to control the result i have and i don’t have to separate between sequential and bytewise stereo to play them proper back (e.g. put a useless suffix on them to later tell the player which rule is to use, one of the cool things is that you can forgo suffixes when the datatype is known and use your own by need). Further many players recognize and handle a bytewise encoded 8svx proper as stereo while they won’t play sequential encoded proper and leak of a switch or any method to play them back, “sound” is so far the only one i found on aminet which has this switch

It makes totally no sense to make this depending on the length of the filename but however it is as it is.

How the web service acts on this i don’t know yet i have used up my 10 free conversions for today or would have to use a different one but overall i like to convert them myself tedious process or not.

BUT PERHAPS
this is a good hint to create a stereo 8svx export for Audacity?

Another possibility is to use a hex editor and edit a header to glue on a raw 8bit (or 16bit) signed sample edit the sample duration and sample frequency and bingo, the .iff header is quite simple though it neither would be a big deal to write a script which does this job for you to write the essential data in the header or to construct one in fact this would end in a 1:1 conversion without resampling and you could take the raw data if already signed. A tool like GAP1.23 (games audio player) could be handy but sadly it is obsolete and since long not further developed or supported it leaks of export plugins but it often don’t resamples and only puts the proper header on the audio stream like when you convert a raw to a wav or anything it only puts the proper header on the stream and doesn’t changes a bit of it.

I’m already guessing of a simple script to do this for me on my emulated amiga (or otherwise as well) you can make a template header and write the three essential things to it it needs, total file-length (without “FORM”), sample length, sample-rate and channels (channels 4 can be preset in the template header because you will use it only to convert stereo, file-length can be read and header size is fixed for our simple template if you use always the same sample rate i.e. 22050 you could store even this as default in the template and change it only by need, what will be left is only to evaluate the sample-length) - bit depth eight and that it is a signed sample is condition for 8SVX. As i experienced in MS-DOS you can often forgo the sample length the player just stops to play when the stream ends how the amiga reacts on such i don’t know yet.

I didn’t found any obvious difference between the different encodings stored in the header unlike i assumed, no wonder it can’t be recognized proper.

That’s the status so far.
And as it looks to me i will write such a script as i mentioned since i have some hundred files to covert.
(Beep001 to Beep300 :wink: even if i only need Beep031)

That’s very unlikely to happen in the absence of an official format specification. Even with an official format specification it is only likely to happen if a developer is specifically interested in this rather obscure format.

If you have a suitable command line encoder for 8svx, then you should be able to use Audacity’s “external program” export option (See: Exporting using an external encoder program - Audacity Manual)