19 views (last 30 days)
Show older comments
Hello, I'm working with Matlab R2014b and trying to create a wav file. I tried two posibilities:
- wavwrite(int32(signal),Fs,24,['test2.wav'])
- audiowrite(['test.wav'],int32(signal),Fs,'BitsPerSample',24)
But when I try to heard both files, I can only heard the first one created with the old function wavwrite.
In both case is the same signal.
any help?
0 Comments Show -2 older commentsHide -2 older comments
Show -2 older commentsHide -2 older comments
Accepted Answer
Nick Haddad on 13 Nov 2015
⋮
There is one subtle difference between writing 24-bit audio with audiowrite vs. wavwrite.
When writing int32 as 24-bit audio in wavwrite, the data range in y is interpreted as:
–2^23 ≤ y ≤ 2^23–1
When writing an int32 as 24-bit audio in audiowrite, the data range in y is interpreted as:
-2^32 ≤ y ≤ 2^32–1
So your data is still being written but slightly quieter. If your 'signal' variable is in the 24-bit range you will need to rescale it to the 32-bit range to get the same results as using wavwrite. If 'signal' is just a normalized double (-1 ≤ y ≤ 1), the you can simply supply the double value and audiowrite will scale it for you properly:
audiowrite(['test.wav'],signal,Fs,'BitsPerSample',24)
1 Comment Show -1 older commentsHide -1 older comments
Show -1 older commentsHide -1 older comments
More Answers (0)
See Also
Categories
Find more on Audio and Video Data in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)
Contact your local office