从许多其他音频文件(混音器)在 iPhone/iPad 上创建音频文件

发布于 2024-08-27 20:33:11 字数 182 浏览 9 评论 0原文

我正在尝试在 iPhone 上创建类似 Piano 应用程序的东西。当人们敲击琴键时,它会演奏钢琴音符。基本上,目前只有 7 个音符 (C)。每个音符都是一个 .caf 文件,长度为 5 秒。

不知道有没有办法保存用户播放的歌曲并导出为mp3/caf格式? AVAudioRecord 似乎只记录麦克风输入。

非常感谢

I am trying to create something similar like Piano app on the iPhone. When people tap a key, it play a piano note. Basically, there will have only 7 notes (C) at the moment. Each note is a .caf file and its length is 5 seconds.

I do not know if there is any way to save the song user played and export to mp3/caf format? The AVAudioRecord seems only record from the microphone input.

Many thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苹果你个爱泡泡 2024-09-03 20:33:11

对于这样的应用程序,您可能不想录制到音频文件中 - 而是以更紧凑的格式记录音符按下和计时,然后回放,就像用户在记录的时间按下音符一样。

如果您确实希望能够导出音频文件格式,那么您可以编写一个简单的混音器,它将源样本中的各个样本与正确的偏移量相加,并将结果放入输出音频缓冲区中。您可能还应该编写一个非常简单的压缩器,以便保持样本体积,而不会因“削波”而导致任何失真。这可以通过除掉大于最大样本值 95% 的任何总和样本来完成。可能还有一种方法可以使用 OpenAL 为您进行混合并回放到音频缓冲区中。

For such an app you probably don't want to record into an audio-file - instead record the note-presses and timings for a much more compact format and then play back the same as if the user was pressing the notes at the recorded times.

If you do want to be able to export an audio file format then you can write a simple mixer which adds together the individual samples from your source samples with the correct offsets and puts the results in your output audio buffer. You should probably also write a very simple compressor so that you keep the sample volume without any distortion caused by 'clipping'. This can be done by dividing down any summed sample above 95% of the maximum sample value. There may also be a way to use OpenAL to do this mixing for you and play back into an audio buffer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文